Este proyecto está diseñado para implementar un agente capaz de interactuar con una base de datos de gráficos como NEO4J a través de una capa semántica utilizando llamadas de funciones OpenAI. La capa semántica equipa al agente con un conjunto de herramientas robustas, lo que le permite interactuar con la base de datos de gráficos basada en la intención del usuario. Lea más en la publicación del blog.
Para comenzar el proyecto, ejecute el siguiente comando:
docker-compose up
Abra http://localhost:8501 en su navegador para interactuar con el agente.
El agente utiliza varias herramientas para interactuar con la base de datos de gráficos Neo4J de manera efectiva:
Debe definir las siguientes variables de entorno en el archivo .env .
OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>
NEO4J_URI=<YOUR_NEO4J_URI>
NEO4J_USERNAME=<YOUR_NEO4J_USERNAME>
NEO4J_PASSWORD=<YOUR_NEO4J_PASSWORD>
Este proyecto contiene los siguientes servicios envueltos como contenedores Docker
neo4j-semantic-layer de Langchain para implementar las capacidades de llamadas de OpenAI LLM y funciones.localhost:8501 . Si desea completar el DB con un conjunto de datos de películas de ejemplo, puede ejecutar ingest.py . El script importa información sobre películas y su calificación por parte de los usuarios. Para ejecutarse dentro del contenedor API Docker (recomendado) Haga lo siguiente:
# access container shell
docker exec -it < container id for llm-movieagent-api > bash
# run script
python ingest.py Además, el script crea dos índices de texto completo, que se utilizan para asignar información de la entrada del usuario a la base de datos. El conjunto de datos se basa en el conjunto de datos Movielens, que también está disponible como proyecto Recommendation en Neo4J Sandbox.
¡Las contribuciones son bienvenidas!