https://github.com/sonu275981/multi_document-rag-chatbot-streamlit-ollama
Your own personal AI assistant for files (PDF/CSV/PPTX) โ upload, ask, and chat with your documents using LLaMA + FAISS!
https://github.com/sonu275981/multi_document-rag-chatbot-streamlit-ollama
chat-history chatbot document-chatbot faiss faiss-vector-database file-uploader langchain llm local-llm nomic-embed nomic-embed-text ollama python rag rag-chatbot retrieval-augmented-generation semantic-search sqlite streamlit vector-database
Last synced: 3 months ago
JSON representation
Your own personal AI assistant for files (PDF/CSV/PPTX) โ upload, ask, and chat with your documents using LLaMA + FAISS!
- Host: GitHub
- URL: https://github.com/sonu275981/multi_document-rag-chatbot-streamlit-ollama
- Owner: sonu275981
- Created: 2025-07-02T18:10:19.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-07-02T19:07:47.000Z (3 months ago)
- Last Synced: 2025-07-02T19:40:51.599Z (3 months ago)
- Topics: chat-history, chatbot, document-chatbot, faiss, faiss-vector-database, file-uploader, langchain, llm, local-llm, nomic-embed, nomic-embed-text, ollama, python, rag, rag-chatbot, retrieval-augmented-generation, semantic-search, sqlite, streamlit, vector-database
- Language: Python
- Homepage:
- Size: 310 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ค Aap Ka Apna Multi Document RAG Chatbot
A lightweight, user-friendly **RAG (Retrieval-Augmented Generation)** based chatbot that answers your questions based on **uploaded documents** (PDF, CSV, PPTX). Built using **Streamlit**, **LangChain**, **FAISS**, and **Ollama (LLaMA3/DeepSeek)**.
---
## ๐ Features
- ๐ง Retrieval-Augmented Generation using LangChain.
- ๐ Embedding and semantic search with FAISS.
- ๐๏ธ Accepts PDF, CSV, and PowerPoint files.
- ๐ฌ Chat history is stored in a local SQLite database per user.
- ๐ฆ Local embedding using `nomic-embed-text` via Ollama.
- ๐งผ One-click **delete** of vector database or chat history.
- โจ Simple Streamlit UI for intuitive interaction.---
## ๐ File Structure
```plaintext
chatbot_rag.py # Main Streamlit app
chat_history_aapka_sathi.db # SQLite DB to store chat history
vector_db/ # FAISS Vector Store directory
```## ๐ Getting Started
1. Clone the Repository
```bash
git clone https://github.com/your-username/aap-ka-apna-rag-chatbot.git
cd aap-ka-apna-rag-chatbot
```2. Install Dependencies
```bash
pip install -r requirements.txt
```
Make sure `streamlit`, `langchain`, `langchain-community`, `faiss-cpu`, `tiktoken`, `PyMuPDF`, and `ollama` related packages are included.3. Start Ollama with Required Models
```bash
ollama run nomic-embed-text
ollama run llama3.2:latest
```4. Run the Streamlit App
```bash
streamlit run chatbot_rag.py
```## ๐ Supported File Formats
- `.pdf`
- `.csv`
- `.pptx`
These files are loaded, **chunked**, **tokenized**, **embedded**, and **stored** using **FAISS** to enable semantic search and contextual answers.## ๐ง How It Works
1. User uploads a file via sidebar.
2. The file is parsed and chunked.
3. Each chunk is embedded using Ollama.
4. FAISS indexes the vectors for semantic retrieval.
5. User submits a question.
6. Relevant chunks are retrieved and sent as context to the LLM.
7. LLM (via Ollama) answers based on uploaded data.
## Screenshots
### RAG UI

### File uploaded, Vector DB created

### Vector DB deleated successfully

## License
This project is open-source and free to use under the MIT License.
## โ๏ธ Author
Developed by Sonu Chaurasia ๐จโ๐ป
Inspired by real-world document search and Gen-AI assistant tools.## ๐โโ๏ธ Feedback & Contributions
Contributions, suggestions, and feedback are most welcome! Feel free to open issues or submit pull requests.