Skip to content

22AD040/smart-academic-assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GitHub stars GitHub forks GitHub repo size


Python Streamlit Gemini HuggingFace FAISS Generative AI License


πŸŽ“ Smart Academic Assistant

🧠 AI-Powered Learning Assistant for Smart Study & Knowledge Retrieval

Built with Streamlit


πŸš€ Live Demo

πŸ”— Try the App Here: πŸ‘‰ https://smart-academic-assistant-3wasyzjxu5kjcl8mqr7psd.streamlit.app/


πŸš€ Overview

Smart Academic Assistant is an AI-powered platform that helps students understand concepts efficiently using:

  • πŸ“„ PDF-based learning
  • πŸ€– Generative AI answers (Gemini)
  • πŸ” Semantic search using FAISS
  • 🧠 Structured Mindmaps
  • πŸ“Œ Key point extraction

✨ Features

  • πŸ” User Authentication (Login/Register)
  • πŸ“„ Upload PDF & Ask Questions
  • πŸ” Semantic Search with Embeddings
  • πŸ€– AI Answer Generation (Gemini API)
  • 🧠 Automatic Mindmap Generation
  • πŸ“Œ Key Points Extraction
  • πŸ’¬ Per-user Chat History
  • ⚑ Fast Retrieval using FAISS

🧠 Tech Stack

Technology Purpose
Streamlit Frontend UI
Google Gemini API Generative AI
Sentence Transformers Embeddings
FAISS Vector Search
PyPDF PDF Processing
Python Backend Logic

πŸ“ Project Structure

smart-academic-assistant/
β”‚
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ config.py
β”‚   β”œβ”€β”€ auth.py
β”‚   β”œβ”€β”€ services.py
β”‚
β”‚   β”œβ”€β”€ core/
β”‚   β”‚   β”œβ”€β”€ embeddings.py
β”‚   β”‚   β”œβ”€β”€ retrieval.py
β”‚   β”‚   β”œβ”€β”€ vector_store.py
β”‚
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   β”œβ”€β”€ pdf_utils.py
β”‚
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ users.json
β”‚
β”œβ”€β”€ app.py
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ .env (not pushed)
β”œβ”€β”€ .gitignore
β”œβ”€β”€ LICENSE
β”œβ”€β”€ README.md

πŸ“Έ Screenshots

πŸ” Login Page

Login

🧠 App Interface

App


βš™οΈ Installation

1️⃣ Clone the repo

git clone https://github.com/22AD040/smart-academic-assistant.git
cd smart-academic-assistant

2️⃣ Create virtual environment

python -m venv venv
venv\Scripts\activate

3️⃣ Install dependencies

pip install -r requirements.txt

4️⃣ Add environment variables

Create .env file:

GEMINI_API_KEY=your_api_key_here

▢️ Run the App

streamlit run app.py

🌐 Deployment (Streamlit Cloud)

  • Push code to GitHub
  • Go to Streamlit Cloud
  • Add secrets:
GEMINI_API_KEY = your_api_key
  • Deploy πŸš€

πŸ”’ Security

  • API keys stored securely using .env / Streamlit Secrets
  • No cross-user chat leakage (session-based isolation)
  • .gitignore prevents sensitive data exposure

πŸ“Œ Future Improvements

  • πŸ” Password hashing (bcrypt)
  • πŸ“Š Better mindmap visualization (graph-based)
  • 🌍 Multi-language support
  • 🧠 AI-powered summarization improvements

πŸ‘©β€πŸ’» Author

Ratchita B πŸŽ“ Artificial Intelligence & Data Science


⭐ Support

If you like this project:

πŸ‘‰ Give it a ⭐ on GitHub πŸ‘‰ Share with others


πŸ“œ License

This project is licensed under the MIT License.

About

Smart AI learning assistant that transforms PDFs and queries into structured answers, key insights, and mindmaps using Generative AI and semantic search.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages