YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
Project Overview
This respository was created as part for an internship report, containing the source codes and respurces in developing the Retrieval-Augmented Generation(RAG) banking chatbot.
RAG allows the chatbot to answer questions based on the knowledge base instead of only using the Large Language Model (LLM).
Objectives
- Develop a chatbot capable of answering questions based on public dataset(s)
- Implement a Retrieval-Augmented Generation (RAG) pipeline
- Generate embeddings for efficient document retrieval
- Build a vector database
- Improve response accuracy by providing relevant context to the language model
- Implement advanced requirements
- Evaluate the chatbot's performance
Installation
Virtual environment:
python -m venv venv
venv\Scripts\activate
Libraries:
pip install -r requirements.txt
Run the chatbot:
streamlit run app.py
How it works
The chatbot follows a Retrieval-Augmented Generation (RAG) workflow:
- Documents are collected and preprocessed.
- The documents are split into smaller text chunks.
- Each chunk is converted into vector embeddings.
- The embeddings are stored in a vector database.
- When a user submits a query:
- The query is embedded into a vector.
- The vector database retrieves the most relevant document chunks.
- The retrieved context is combined with the user's query.
- The LLM generates an appropriate response using the retrieved information.
Requirements
- Python 3.10 or above
- LangChain
- Ollama
- Vector database (ChromaDB)
- Sentence Transformer / Embedding model
- python-dotenv
- Other dependencies listed in
requirements.txt
license: mit Datasets: Bank Faqs, customer support conversations
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support