This project is an interactive PDF chatbot that lets you upload a document and ask natural-language questions based on its content. It uses semantic search + large language models (LLMs) to return contextual answers.
Initially, the chatbot used Ollama with the phi3:mini
or llama3.2
model for local inference. It worked well but had heavy memory requirements and limited portability.
To improve speed, reduce RAM usage, and make it deployment-ready, the app was updated to use Groq’s blazing-fast LLMs (like llama3-70b-8192
) via their free API.
- 📄 Upload any PDF document
- 🔎 Perform semantic search with FAISS
- 💬 Ask natural questions — get smart, contextual answers
- ⚡ Powered by Groq-hosted LLaMA 3 model
- 🧠 Uses Hugging Face sentence embeddings
- 🎈 Built with Streamlit for a fast, responsive UI
Layer | Tool/Library |
---|---|
Frontend | Streamlit |
RAG Engine | LangChain + FAISS |
Embeddings | sentence-transformers (MiniLM) |
LLM Backend | Groq API (llama3-70b-8192 ) |
PDF Processing | PyPDF2 |
git clone https://github.com/ShallenCrissle/rag_document_chatbot.git
cd rag_document_chatbot
python -m venv venv venv\Scripts\activate # Windows
pip install -r requirements.txt
streamlit run app.py