RAG_Chatbot / README.md
grazz7's picture
update readme
3905c35
|
Raw
History Blame Contribute Delete
1.87 kB

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:

  1. Documents are collected and preprocessed.
  2. The documents are split into smaller text chunks.
  3. Each chunk is converted into vector embeddings.
  4. The embeddings are stored in a vector database.
  5. 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