Skip to content

Aravind9788/Multi-Doc-RAG-Chatbot-python-and-streamlit-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 Multi-Document RAG Chatbot (Streamlit + Gemini)

This is a Streamlit-based RAG (Retrieval-Augmented Generation) chatbot that allows users to upload documents and chat with them using Google Gemini models and LangChain.

Users can:

  • Upload different document types
  • Ask questions from the document
  • Save chat history
  • Continue previous chats with the same document

🚀 Features

  • 📂 Upload multiple file formats:
    • PDF
    • DOCX
    • TXT
    • CSV
    • PPT / PPTX
    • Images (PNG, JPG, JPEG) with OCR using Gemini Vision
  • 💬 Chat with document using RAG
  • 🧠 Uses vector database (Chroma)
  • 🕒 Chat history with separate folders per chat
  • 🔁 Continue previous chats
  • 🎨 Professional Streamlit UI

🧱 Project Structure

project_folder/
│
├── app.py            # Streamlit UI
├── rag_engine.py     # Document processing and RAG logic
├── utils.py          # Chat history save/load utilities
├── chat_history/     # Auto-created chat folders
├── .env              # API keys
└── README.md

🔧 Requirements

  • Python 3.9+
  • Google Gemini API Key

📦 Install Dependencies

## 🛠️ Installation

Install the required packages:

```bash
pip install streamlit langchain chromadb python-dotenv langchain-google-genai unstructured

🔐 Environment Setup

  1. Create a .env file in the project root:
GOOGLE_API_KEY=your_api_key_here
  1. Set the embedding model in config.py (if used):
EMBEDDING_MODEL = "models/embedding-001"

🚀 Running the App

Run this command in your project folder:

streamlit run app.py

Then open this link in your browser:

http://localhost:8501

About

Multi-document RAG chatbot built with Streamlit, LangChain, Chroma, and Google Gemini. Users can upload files (PDF, DOCX, TXT, CSV, PPT, images) and ask questions from document content. Supports chat history, OCR for images, and a clean professional UI.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages