DocChat is an end-to-end Retrieval-Augmented Generation (RAG) application that allows users to upload documents and ask questions about their content. The system retrieves the most relevant document chunks using vector similarity search and generates accurate, context-aware answers using a Large Language Model.
This project demonstrates practical use of LLMs, vector databases, and backend system design in a real-world application.
- Source citations in responses
- Multi-document comparison
- Conversation memory
- Document Categorization
User Query
↓
Query Embedding
↓
Vector Similarity Search (pgvector)
↓
Top-K Relevant Document Chunks
↓
Prompt Construction (Query + Context)
↓
LLM Generates Final Answer
- Python
- Peewee ORM – database modeling and queries
- PostgreSQL (Supabase) – structured data and embeddings storage
- pgvector – vector similarity search
- psycopg2-binary – PostgreSQL driver
- Embedding Model – Hugging Face
- Large Language Model (LLM) – Groq/OpenAI
- Streamlit – interactive web interface
git clone https://github.com/your-username/docchat.git
cd docchatpip install -r requirements.txtstreamlit run app.py⭐ If you find this project useful, consider giving it a star!
