StudyGen-AI Project LIVE DEMO LINK : https://studygen-ai-60e1.onrender.com 👈👈😊
StudyGen AI is a web application developed as a college AIML project to make studying from PDF documents easier and more interactive.
Instead of reading long notes or textbooks manually, users can upload a PDF and interact with it using Artificial Intelligence. The application extracts the text from the uploaded document and uses a Retrieval-Augmented Generation (RAG) approach with the Google Gemini API to answer questions, generate summaries, create quizzes, and prepare flashcards.
The main goal of this project is to help students save time while improving their learning experience through AI.
- 📄 Upload PDF documents
- 💬 Ask questions about the uploaded PDF
- 📝 Generate AI-powered summaries
- ❓ Create multiple-choice quiz questions
- 🧠 Generate flashcards for quick revision
- 📥 Download generated study notes in Markdown format
- 🎨 Simple and responsive user interface
- HTML5
- CSS3
- JavaScript
- Python
- Flask
- Google Gemini API
- Retrieval-Augmented Generation (RAG)
- PyMuPDF
- ChromaDB
- LangChain
- python-dotenv
StudyGen_AI/
│
├── .env
├── requirements.txt
├── app.py
├── rag_engine.py
├── test_rag.py
│
├── templates/
│ └── index.html
│
└── static/
├── css/
│ └── style.css
│
└── js/
└── main.js
Before running the project, make sure you have the following installed:
- Python (3.10 or above)
- Visual Studio Code
- Git (optional)
- Google Gemini API Key
- Python (Microsoft)
- Pylance
- DotENV
- Markdown All in One
Open the StudyGen_AI folder in Visual Studio Code.
Open the terminal and run:
python -m venv .venvActivate the environment:
Windows
.venv\Scripts\activatepip install -r requirements.txtCreate or edit the .env file in the project folder.
FLASK_SECRET_KEY=your_secret_key
GEMINI_API_KEY=your_gemini_api_keyTo get your Gemini API Key:
- Visit Google AI Studio.
- Sign in with your Google account.
- Create a new API Key.
- Copy and paste it into the
.envfile.
Run:
python test_rag.pyIf everything is configured correctly, the API connection will be verified.
Run:
python app.pyOpen your browser and visit:
http://127.0.0.1:5000
Now upload a PDF and start using the application.
- Upload a PDF document.
- The application extracts the text.
- The content is stored in a ChromaDB vector database.
- Relevant information is retrieved using RAG.
- Google Gemini generates answers based on the retrieved content.
- Users can generate summaries, quizzes, and flashcards from the same PDF.
- User Login System
- Multiple PDF Support
- Voice-based Question Answering
- Multi-language Support
- Cloud Storage Integration
- Progress Tracking Dashboard
The objective of this project is to demonstrate how Generative AI can improve learning by transforming static PDF documents into an interactive study assistant. It helps students quickly understand concepts, revise important topics, and test their knowledge using AI-generated content.
For security reasons, this repository does not include the .env file. Sensitive information such as API keys and secret keys should never be committed to GitHub.
Create a file named .env in the project root directory and add the following:
FLASK_SECRET_KEY=your_secret_key
GEMINI_API_KEY=your_gemini_api_key- Visit Google AI Studio.
- Sign in with your Google account.
- Click Create API Key.
- Copy the generated API key.
- Paste it into your
.envfile.
This project uses a .gitignore file to exclude files and folders that should not be uploaded to GitHub.
The following are ignored:
.env– Stores API keys and other sensitive environment variables.venv/– Python virtual environment..venv/– Alternative virtual environment folder.__pycache__/– Python cache files generated automatically.*.pyc– Compiled Python files.chroma_store/– Local ChromaDB vector database generated at runtime.uploads/– User-uploaded PDF files generated during application usage.
These files and folders are created automatically during development or contain sensitive information, so they are intentionally excluded from version control.
Note: After cloning this repository, create your own
.envfile and install the required dependencies before running the project.
Deepak B
B.Tech CSE (Artificial Intelligence & Machine Learning)
College Mini Project – StudyGen AI