Este proyecto utiliza Streamlit, Ollama y LangChain para crear un asistente virtual configurable que puede responder a preguntas y brindar soporte técnico en tiempo real.
- Python 3.9 o superior.
- Ollama instalado para manejar el modelo de lenguaje.
- Dependencias adicionales:
streamlit,langchain-core,langchain-community.
$ git clone <url-del-repositorio>
$ cd <nombre-del-directorio>$ python -m venv .venv
$ source .venv/bin/activate # En Windows: .venv\Scripts\activate$ pip install streamlit langchain-core langchain-communityOllama es una herramienta para manejar modelos de lenguaje como Llama 3.1 de manera local.
- Ve al sitio oficial de Ollama: https://ollama.com.
- Descarga el instalador correspondiente a tu sistema operativo.
- Sigue las instrucciones de instalación.
Ejecuta el siguiente comando para verificar que Ollama esté instalado correctamente:
$ ollama listEsto mostrará los modelos disponibles.
Para descargar el modelo necesario, ejecuta:
$ ollama pull llama3.1:latestEste comando asegurará que el modelo Llama 3.1 esté disponible localmente.
En la barra lateral de la aplicación Streamlit:
- Nombre del asistente virtual: Cambia el nombre del asistente según tus necesidades.
- Descripción: Personaliza la descripción del asistente para ajustar su comportamiento y tono de respuesta.
El historial del chat se almacena en st.session_state. Puedes reiniciarlo en cualquier momento cerrando y volviendo a abrir la aplicación.
Ejecuta el siguiente comando para iniciar la aplicación:
$ streamlit run app.py- Escribe una pregunta o consulta en el campo de entrada.
- Haz clic en el botón Enviar para obtener una respuesta.
- Visualiza el historial de chat interactivo en la misma ventana.
Para finalizar el chat, escribe "Adiós". El sistema detendrá el procesamiento.
El modelo se configura automáticamente para usar Llama 3.1. Puedes cambiar el modelo especificando uno diferente en esta línea del código:
llm = Ollama(model="nombre_del_modelo")El comportamiento del asistente se controla mediante el siguiente prompt:
prompt_default = f"""Eres un asistente virtual llamado {bot_name}, especializado en soporte técnico de nivel 1. Respondes de forma simple y clara, y realizas preguntas relevantes para recopilar más detalles del problema del usuario."""Ajusta el contenido del prompt para adaptarlo a casos de uso específicos.
La aplicación incluye un análisis básico de la interacción entre el usuario y el bot. Esto se puede personalizar o ampliar según las métricas deseadas.
- Documentación de Ollama: https://ollama.com/docs
- Documentación de LangChain: https://docs.langchain.com/
- Documentación de Streamlit: https://docs.streamlit.io/ google colab https://colab.research.google.com/drive/10dTQf3q1rjT_GqUfRMCyQwz9bV5ycjmf?usp=sharing
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.