Logo Lanfrica

imben03/RAG_Chatbot_Project

Domain:

natural language processingeducation

Record type:

softwaretools
Creator:
imb
Host:
An AI-powered policy assistant that lets Middlesex University Mauritius students and staff query university documents using natural language. Built with RAG, Google Gemini, ChromaDB, and Streamlit. # MUM Chatbot Assistant A Retrieval-Augmented Generation (RAG) chatbot that enables natural language querying of Middlesex University Mauritius policy documents. . ## Overview The Chatbot allows students and staff to ask questions about university policies in plain English and receive accurate, source-grounded answers. Instead of manually searching through lengthy PDF and DOCX documents, users can simply type their question and get a relevant response with citations. ## Tech Stack - **Language:** Python - **LLM:** Google Gemini 2.5 Flash (generation) - **Embeddings:** gemini-embedding-001 - **Vector Store:** ChromaDB - **UI:** Streamlit ## Project Structure ``` ├── app.py # Streamlit web interface ├── query.py # RAG query engine and response generation ├── ingest.py # Document ingestion and chunking pipeline ├── maintain.py # Maintenance utilities for the vector store ├── evaluate.py # Evaluation suite with retrieval and generation metrics ├── app_icon.py # Application icon configuration ├── style.css # Custom Streamlit UI styling ├── test_dataset.json # 30-query evaluation dataset with ground truth ├── requirements.txt # Python dependencies └── chatbot_icon.png # Chatbot avatar ``` ## Features - Natural language querying of MUM policy documents - Source-grounded responses with document citations - Follow-up question suggestions - Chat session history - Feedback collection system - Incremental document re-indexing with MD5 hash-based deduplication - Language translation and providing responses in French ## Setup ### 1. Clone the repository ```bash git clone github.com cd RAG_Chatbot_Project ``` ### 2. Create a virtual environment ```bash python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows ``` ### 3. Install dependencies ```bash pip install -r requirements.txt ``` ### 4. Set up envir …