Shopping Assistant Chatbot with Retrieval Augmented Generation (RAG) using Cohere, LangChain, Weaviate and Streamlit
Shopping Assistant Chatbot (Python)
The Retrieval Augmented Engine (RAG) is an effective solution for document retrieval, summarization, and interactive Q&A sessions. This initiative leverages LangChain, Streamlit, and Weaviate to deliver a smooth web application that enables users to execute these operations. With RAG, users can effortlessly upload numerous PDF files, create vector embeddings for the text in these documents, and engage in dialogues with the content of the documents. For a more engaging user experience, the conversation history is also retained
The goal of this repo is to develop a proof-of-concept LLM chatbot that assists customers visiting the Canadian Tire Website and app to search and shop for products.
Before running the project, make sure you have the following prerequisites:
- Python 3.8+
- LangChain
- Streamlit
- Weaviate URL & API Key
- Cohere API Key
-
Create virtual environment
`python3 -m venv env`
-
Activate virtual environment
`source ./env/bin/activate`
-
Install dependencies
`pip install -r requirements.txt`
-
Start application
`streamlit run src/streamlit.py`
- Incorporate product user manual pdf documents
- Function calling to decide which documents to refer depending on user query or task
- Develop agent to dynamically to decide how to respond to user’s query by using an LLM to choose a sequence of actions (product selection and placement of order)
- Handle post-purchase customer complaints (e.g., refunds, replacements, etc)
- Evaluate the RAG using the RAGAS framework