Este projeto foi projetado para implementar um agente capaz de interagir com um banco de dados de gráficos como o NEO4J através de uma camada semântica usando a chamada de função do OpenAI. A camada semântica equipa o agente com um conjunto de ferramentas robustas, permitindo que ele interaja com o banco de dados de gráficos com base na intenção do usuário. Leia mais na postagem do blog.
Para iniciar o projeto, execute o seguinte comando:
docker-compose up
Abra http://localhost:8501 no seu navegador para interagir com o agente.
O agente utiliza várias ferramentas para interagir com o banco de dados de gráficos NEO4J de maneira eficaz:
Você precisa definir as seguintes variáveis de ambiente no arquivo .env .
OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>
NEO4J_URI=<YOUR_NEO4J_URI>
NEO4J_USERNAME=<YOUR_NEO4J_USERNAME>
NEO4J_PASSWORD=<YOUR_NEO4J_PASSWORD>
Este projeto contém os seguintes serviços envolvidos como contêineres do Docker
neo4j-semantic-layer de Langchain para implementar os recursos de chamada de chamadas do OpenAI LLM e funções.localhost:8501 . Se você deseja preencher o banco de dados com um exemplo de conjunto de dados de filmes, poderá executar ingest.py . O script importa informações sobre filmes e sua classificação pelos usuários. Para executar dentro do recipiente da API Docker (recomendado), faça o seguinte:
# access container shell
docker exec -it < container id for llm-movieagent-api > bash
# run script
python ingest.py Além disso, o script cria dois índices FullText, que são usados para mapear as informações da entrada do usuário para o banco de dados. O conjunto de dados é baseado no conjunto de dados da MovieLENS, que também está disponível como o projeto Recommendation no Neo4J Sandbox.
As contribuições são bem -vindas!