This repo contains the source code for Build an LLM RAG Chatbot With LangChain.
Create a .env
file in the root directory and add the following environment variables:
NEO4J_URI=<YOUR_NEO4J_URI>
NEO4J_USERNAME=<YOUR_NEO4J_USERNAME>
NEO4J_PASSWORD=<YOUR_NEO4J_PASSWORD>
OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>
HOSPITALS_CSV_PATH=https://raw.githubusercontent.com/hfhoffman1144/langchain_neo4j_rag_app/main/data/hospitals.csv
PAYERS_CSV_PATH=https://raw.githubusercontent.com/hfhoffman1144/langchain_neo4j_rag_app/main/data/payers.csv
PHYSICIANS_CSV_PATH=https://raw.githubusercontent.com/hfhoffman1144/langchain_neo4j_rag_app/main/data/physicians.csv
PATIENTS_CSV_PATH=https://raw.githubusercontent.com/hfhoffman1144/langchain_neo4j_rag_app/main/data/patients.csv
VISITS_CSV_PATH=https://raw.githubusercontent.com/hfhoffman1144/langchain_neo4j_rag_app/main/data/visits.csv
REVIEWS_CSV_PATH=https://raw.githubusercontent.com/hfhoffman1144/langchain_neo4j_rag_app/main/data/reviews.csv
CHATBOT_URL=http://host.docker.internal:8000/hospital-rag-agent
HOSPITAL_AGENT_MODEL=gpt-3.5-turbo-1106
HOSPITAL_CYPHER_MODEL=gpt-3.5-turbo-1106
HOSPITAL_QA_MODEL=gpt-3.5-turbo
The three NEO4J_
variables are used to connect to your Neo4j AuraDB instance. Follow the directions here to create a free instance.
The chatbot uses OpenAI LLMs, so you'll need to create an OpenAI API key and store it as OPENAI_API_KEY
.
Once you have a running Neo4j instance, and have filled out all the environment variables in .env
, you can run the entire project with Docker Compose. You can install Docker Compose by following these directions.
Once you've filled in all of the environment variables, set up a Neo4j AuraDB instance, and installed Docker Compose, open a terminal and run:
$ docker-compose up --build
After each container finishes building, you'll be able to access the chatbot api at http://localhost:8000/docs
and the Streamlit app at http://localhost:8501/
.