An AI-powered RAG (Retrieval-Augmented Generation) application that lets students upload academic documents and get instant, structured answers — built with LangChain, Groq, and Streamlit.
- Document Q&A — Upload PDFs, DOCX, or TXT files and ask questions
- Structured JSON output — Every answer includes question, answer, source, and confidence score
- Agentic Tools — Summarize documents, generate MCQs, and explain topics
- Fast LLM inference — Powered by Llama3 via Groq API
- Semantic search — FAISS vector store with HuggingFace embeddings
User uploads doc → LangChain Loader → Text Splitter → HuggingFace Embeddings
↓
User asks question → FAISS Retriever → Top-K chunks → Groq LLM → Structured JSON Answer
git clone https://github.com/yourusername/smart-academic-assistant
cd smart-academic-assistant
pip install -r requirements.txtCreate a .env file:
GROQ_API_KEY=your_key_here
HUGGINGFACE_TOKEN=your_token_here
Run the app:
streamlit run app.py| Component | Technology |
|---|---|
| LLM | Llama3-8b via Groq |
| Embeddings | sentence-transformers/all-MiniLM-L6-v2 |
| Vector Store | FAISS |
| Framework | LangChain (LCEL) |
| UI | Streamlit |
| File Support | PDF, DOCX, TXT |
├── app.py # Streamlit UI
├── rag_pipeline.py # Core RAG logic
├── tools.py # Agentic tools
├── agent.py # LangChain Agent
├── requirements.txt
└── .env # API keys (not committed)