Este es un respaldo de descanso para un agente de conversación, que permite incrustar documentos, buscarlos en la búsqueda semántica, a QA basado en documentos y procesar documentos con modelos de idiomas grandes.
En este momento estoy reelaborando a Langgraph, por lo tanto, no todas las versiones en Main funcionarán con todos los proveedores. Actualizaré a los proveedores en las próximas semanas. Utilice los lanzamientos para obtener una versión de trabajo.
Si desea usar un backend de Aleph Alpha, recomendaría mi otro backend: https://github.com/mfmezger/aleph-alpha-rag.
Para ejecutar el sistema completo con Docker, use este comando:
git clone https://github.com/mfmezger/conversational-agent-langchain.git
cd conversational-agent-langchain
Cree un archivo .env desde la plantilla .env y establezca la tecla API QDRANT. Para las pruebas, simplemente configúrelo en la prueba. Qdrant_api_key = "prueba"
Luego inicie el sistema con
docker compose up -d
Luego vaya a http://127.0.0.1:8001/docs o http://127.0.0.1:8001/REDOC para ver la documentación de la API.
Frontend: Localhost: 8501 Qdrant Pashboard: Localhost: 6333/Panel
Este proyecto es un agente de conversación que utiliza modelos de lenguaje grande Aleph Alph y OpenAI para generar respuestas a las consultas de los usuarios. El agente también incluye una base de datos vectorial y una API REST construida con FastAPI.
Características
Semantic Search es una técnica de búsqueda avanzada que tiene como objetivo comprender el significado y el contexto de la consulta de un usuario, en lugar de coincidir con palabras clave. Implica el procesamiento del lenguaje natural (PNL) y los algoritmos de aprendizaje automático para analizar e interpretar la intención del usuario, los sinónimos, las relaciones entre las palabras y la estructura del contenido. Al considerar estos factores, la búsqueda semántica mejora la precisión y relevancia de los resultados de búsqueda, proporcionando una experiencia de usuario más intuitiva y personalizada.
Langchain es una biblioteca para el procesamiento del lenguaje natural y el aprendizaje automático. Fastapi es un marco web moderno y rápido (de alto rendimiento) para construir API con Python 3.7+ basado en pistas de tipo Python estándar. Una vectordatabase es una base de datos que almacena vectores, que pueden usarse para búsquedas de similitud y otras tareas de aprendizaje automático.
Hay dos formas de administrar sus claves API disponibles, el enfoque más fácil es enviar el token API en la solicitud como token. Otra posibilidad es crear un archivo .env y agregar el token API allí. Si usa OpenAI desde Azure o OpenAI directamente, debe establecer los parámetros correctos en el archivo .env.
En Linux o Mac debe ajustar su archivo /etc /hosts para incluir la siguiente línea:
127.0.0.1 qdrant
Primera instalación de dependencias de Python:
Debe instalar Rye si desea usarlo para sincronizar el archivo requisitos.lock. Instalación de centeno.
rye sync
# or if you do not want to use rye
pip install -r requirements.lock
Inicie el sistema completo con:
docker compose up -d
Para ejecutar la base de datos QDRANT local, solo ejecute:
docker compose up qdrant
Para ejecutar el backend, use este comando en el directorio raíz:
poetry run uvicorn agent.api:app --reload
Para ejecutar las pruebas puede usar este comando:
poetry run coverage run -m pytest -o log_cli=true -vvv tests
Para ejecutar el frontend, use este comando en el directorio raíz:
poetry run streamlit run gui.py --theme.base= " dark "
trapo mypy-bases de paquetes explícitos
Qdrant Dashboard está disponible en http://127.0.0.1:6333/dashboard. Ahí debe ingresar a la clave API.
Para usar la API Qdrant, debe establecer los parámetros correctos en el archivo .env. QDRANT_API_KEY es la clave API para la API Qdrant. Y debe cambiarlo en el archivo Qdrant.yaml en la carpeta de configuración.
Si desea ingerir una gran cantidad de datos, le recomendaría que use los scripts ubicados en agente/ingestión.
To Test the API i would recommend Bruno. Las solicitudes de API son almacenadas en la carpeta Convagentbruno.