ScholarMate is an AI-powered academic assistant that helps students engage with their learning materials more efficiently. It uses Streamlit and LangChain with Groq’s LLaMA 3 model to provide features like document-based question answering, summarization, MCQ generation, and topic-wise explanations — all through an intuitive web interface.
- Upload & Process Files: Accepts
.pdf,.docx, and.txtformats. - Smart Q&A: Ask questions directly based on the uploaded documents.
- Summarization: Generate concise summaries from your academic content.
- MCQ Generation: Automatically creates multiple-choice questions.
- Topic-wise Explanation: Get detailed explanations for specific topics.
- Confidence Score: Each answer includes a semantic confidence score.
| Logo | Banner |
|---|---|
![]() |
![]() |
git clone https://github.com/your-username/ScholarMate.git
cd ScholarMatepython -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activatepip install -r requirements.txtCreate a .env file in the root directory and add the following:
GROQ_API_KEY=your_groq_api_key_hereImportant: Make sure your
.envfile is listed in.gitignoreso that it never gets pushed to your GitHub repository.
streamlit run main.py- Push your code to a GitHub repository.
- Go to https://streamlit.io/cloud.
- Click “New App” and select your GitHub repo.
- Set
main.pyas the entry point. - Add the
GROQ_API_KEYas a secret variable under “Advanced settings”.
ScholarMate/
├── image/
│ ├── logo.png
│ └── ScholarMate.png
├── .gitignore
├── main.py
├── README.md
├── requirements.txt
- Streamlit — Fast interactive apps in Python
- LangChain — Framework for LLM applications
- FAISS — Vector search engine
- Groq API (LLaMA 3) — Powerful LLM backend
- HuggingFace Embeddings — For document similarity
Make sure your .gitignore file includes the following:
.env
__pycache__/
*.pyc
This protects your API keys and avoids unnecessary files in Git.
Feel free to open issues or pull requests if you'd like to contribute or suggest improvements!

