https://github.com/captaincodercool/retrieval-augmented-generation-rag-chatbot-for-context-aware-conversations

This project implements a Retrieval-Augmented Generation (RAG) chatbot that combines document retrieval with language generation to produce accurate, context-aware responses. It fetches relevant content from a knowledge base and leverages a transformer-based model to answer user queries intelligently and coherently.

https://github.com/captaincodercool/retrieval-augmented-generation-rag-chatbot-for-context-aware-conversations

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

This project implements a Retrieval-Augmented Generation (RAG) chatbot that combines document retrieval with language generation to produce accurate, context-aware responses. It fetches relevant content from a knowledge base and leverages a transformer-based model to answer user queries intelligently and coherently.

Basic Info
  • Host: GitHub
  • Owner: CAPTAINCODERCOOL
  • License: apache-2.0
  • Language: Python
  • Default Branch: master
  • Size: 6.25 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 10 months ago · Last pushed 10 months ago
Metadata Files
Readme License

README.md

🤖 RAG Chatbot – Retrieval-Augmented Generation for Smarter Responses

This project implements a powerful RAG (Retrieval-Augmented Generation) chatbot that merges traditional document search with language generation. It retrieves contextually relevant information from a knowledge base and passes it to a transformer-based model to provide highly accurate, human-like responses.


🚀 Features

  • 🧠 Combines retrieval with generation for more accurate answers
  • 📂 Ingests custom documents as a knowledge base
  • 🔍 Uses vector embeddings to retrieve relevant context
  • 🗨️ Provides GPT-style answers grounded in real data
  • 🌐 Option to deploy as a local or web-based chatbot

🛠 Tech Stack

  • Python 3
  • Hugging Face Transformers (e.g., BERT, T5, or GPT2)
  • FAISS / Chroma / Weaviate (Vector store)
  • LangChain or Haystack (for RAG pipeline)
  • Streamlit / Flask (UI option)
  • SentenceTransformers (embeddings)

📦 Installation & Setup

1. Clone the Repository

```bash git clone https://github.com/CAPTAINCODERCOOL/rag-chatbot.git cd rag-chatbot 2. Create a Virtual Environment (Optional) bash Copy Edit python -m venv venv source venv/bin/activate # macOS/Linux venv\Scripts\activate # Windows 3. Install Dependencies bash Copy Edit pip install -r requirements.txt 4. Prepare Knowledge Base Add your .txt, .pdf, or .md files into the data/ directory.

The chatbot will parse and embed them for use in RAG.

▶️ Running the Chatbot Option 1: Console Chat bash Copy Edit python rag_chat.py Option 2: Streamlit Web Interface bash Copy Edit streamlit run app.py Open your browser and go to: http://localhost:8501

📂 Project Structure bash Copy Edit rag-chatbot/ ├── app.py # Streamlit frontend ├── rag_chat.py # CLI-based RAG chatbot ├── data/ # Your documents/knowledge base ├── retriever.py # Embedding & vector search logic ├── generator.py # Text generation module ├── requirements.txt └── README.md 🧠 How It Works Ingestion: Loads and splits documents.

Embedding: Encodes chunks using a sentence transformer.

Retrieval: Finds top-k relevant chunks using FAISS or Chroma.

Generation: Passes retrieved context + query to a language model.

Response: Returns a factual, grounded answer to the user.

📊 Example Use Cases Internal documentation Q&A bots

Academic research assistants

Technical support bots with grounding

HR/Policy query systems

💡 Future Improvements Integrate OpenAI/GPT-4 or Claude

Add memory (multi-turn support)

Summarize retrieved documents for shorter inputs

Deploy as a production API (FastAPI)

📜 License This project is licensed under the Apache License 2.0. Read more at: Apache 2.0 License

🌐 Connect with Me GitHub: CAPTAINCODERCOOL

LinkedIn: chiragpatil04

Email: chiragpatilprofessional@gmail.com

Owner

  • Login: CAPTAINCODERCOOL
  • Kind: user

GitHub Events

Total
  • Push event: 2
  • Create event: 2
Last Year
  • Push event: 2
  • Create event: 2

Dependencies

.github/workflows/ci.yaml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • snok/install-poetry v1 composite
.github/workflows/pre-commit.yaml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • jitterbit/get-changed-files v1 composite
  • pre-commit/action v3.0.1 composite
poetry.lock pypi
  • 185 dependencies
pyproject.toml pypi
  • httpx ~=0.23.3 develop
  • pre-commit ~=3.6.0 develop
  • pytest ~=7.2.1 develop
  • pytest-asyncio ~=0.23.6 develop
  • pytest-cov ~=4.0.0 develop
  • pytest-mock ~=3.10.0 develop
  • ruff ~=0.6.4 develop
  • Unidecode ~=1.3.6
  • chromadb ~=0.4.18
  • clean-text ~=0.6.0
  • nest_asyncio ~=1.5.8
  • numpy ~=1.24.2
  • nvidia-cublas-cu12 12.1.3.1
  • nvidia-cuda-cupti-cu12 12.1.105
  • nvidia-cuda-nvrtc-cu12 12.1.105
  • nvidia-cuda-runtime-cu12 12.1.105
  • nvidia-cudnn-cu12 8.9.2.26
  • nvidia-cufft-cu12 11.0.2.54
  • nvidia-curand-cu12 10.3.2.106
  • nvidia-cusolver-cu12 11.4.5.107
  • nvidia-cusparse-cu12 12.1.0.106
  • nvidia-nccl-cu12 2.18.1
  • nvidia-nvjitlink-cu12 12.4.127
  • nvidia-nvtx-cu12 12.1.105
  • pyfiglet ~=0.7
  • python >=3.10,<3.11
  • requests ~=2.31.0
  • rich ~=13.4.2
  • sentence-transformers ~=2.2.2
  • sentencepiece ~=0.1.99
  • streamlit ~=1.29.0
  • torch [{"version" => "~=2.1.2", "source" => "pytorch", "platform" => "!=darwin"}, {"version" => "~=2.1.2", "source" => "PyPI", "platform" => "darwin"}]
  • tqdm ~=4.65.0
  • transformers ~=4.33.0
  • unstructured ~=0.7.7