This project implements a chatbot utilizing Neo4j as the underlying database and LangChain classes for prompt engineering. The aim is to create a natural language interface over the graph data stored in Neo4j.
The main logic of the chatbot is implemented using LangChain classes, which facilitate prompt engineering to interact with the Neo4j graph database.
This class contains methods for interacting with the Neo4j database. Additionally, it includes functionalities for logging metadata generated by the Streamlit app into the graph.
To run the chatbot:
- Create .env file with the following keys
NEO4J_URI=
NEO4J_DATABASE_NAME=
NEO4J_PASSWORD=
NEO4J_USERNAME=
LANGCHAIN_API_KEY=
LANGCHAIN_TRACING_V2=true
LANGCHAIN_ENDPOINT=https://api.smith.langchain.com
LANGCHAIN_PROJECT=
OPENAI_ENDPOINT=
OPENAI_API_KEY=
GPT4_8K_NAME=neoconverse-gpt4
OPENAI_API_VERSION=2023-03-15-preview
OPENAI_API_BASE=
- run the deploy.sh script
(see requirements.txt)
- Python
- Neo4j
- LangChain
- Alexander Fournier