A chatbot based on RAG architecture, using Langchain and Chroma. It can be used in many different circumstance like work-report agent for your company, or a chat bot of a online shop. For the demonstration, I use it to manage the resumes of the candidates. You can ask any question about any candidate to find the one who fits the role the best(e.g., senior full stack engineer).
It is recommanded that using GPT4 or GPT4o, the outcome will be better than Gemini.
- You can use LangSmith to see the inputs and outputs at each step in the chain.
LANGCHAIN_TRACING_V2 = <apply here https://docs.smith.langchain.com/how_to_guides/setup/create_account_api_key> LANGCHAIN_API_KEY = <as above> LANGCHAIN_PROJECT = <as above>
-
Clone the repository:
git clone <repository-url> cd <repository-directory>
-
Install dependencies:
pip install -r requirements.txt
-
Create a
.env
file and set the required environment variables. -
Store files into ChromaDB:
cd ./app python embedding.py
-
Start the application:
streamlit run main.py
-
Create a
.env
file and set the required environment variables. -
Build the Docker image:
docker build -t rag-chatbot .
-
Run the Docker container:
docker run -p 5000:5000 rag-chatbot
You can run the app using Docker Compose:
-
Create a
.env
file and set the required environment variables. -
Run the Docker container:
docker compose up -d