An AI-powered web application that transforms PDF documents into concise study notes and automatically generates quiz questions with answers using a Large Language Model (LLM). The application provides an intuitive interface for uploading PDFs and instantly receiving structured learning material, making studying more efficient and interactive.
Reading lengthy PDFs and creating notes manually can be time-consuming. This project simplifies the learning process by allowing users to upload a PDF document and automatically generate:
- Well-structured study notes
- AI-generated quiz questions with answers
The application leverages LangChain for prompt orchestration, DeepSeek LLM for content generation, and PyMuPDF for extracting text from PDF documents.
- Upload multiple PDF documents through an interactive web interface
- Automatically generate concise and structured study notes
- Generate quiz questions with answers from the uploaded document
- AI-powered content generation using the DeepSeek LLM
- Fast and user-friendly Streamlit interface
- Supports educational documents, lecture notes, and study materials
- Python
- Streamlit
- LangChain
- DeepSeek LLM
- PyMuPDF (fitz)
- python-dotenv
Upload PDF
│
▼
Extract Text (PyMuPDF)
│
▼
LangChain Pipeline
│
┌───────────┴───────────┐
▼ ▼
Generate Notes Generate Quiz
│ │
└───────────┬───────────┘
▼
Display Results
(Streamlit UI)
git clone https://github.com/your-username/AI-PDF-Notes-Quiz-Generator.gitcd AI-PDF-Notes-Quiz-Generatorpython -m venv venvWindows
venv\Scripts\activatemacOS/Linux
source venv/bin/activatepip install -r requirements.txtCreate a .env file in the project directory.
Example:
DEEPSEEK_API_KEY=your_api_key_hereReplace the variable name if your project uses a different environment variable.
streamlit run AI_pdf_notes_generator.py- Launch the Streamlit application.
- Upload a PDF document.
- Click the Generate button.
- Wait for the AI to process the document.
- View the generated study notes.
- Review the quiz questions and answers.
<img width="1276" height="422" alt="image" src="https://github.com/user-attachments/assets/859562e0-94c4-4b38-9c8e-a9f8b76c5092" />
<img width="865" height="348" alt="image" src="https://github.com/user-attachments/assets/e7f2b0db-1eb6-4c07-9b58-e712d9d0ef5f" />
<img width="1076" height="727" alt="image" src="https://github.com/user-attachments/assets/273b186b-eace-41fb-9787-b026e9dd49ea" />
<img width="928" height="342" alt="image" src="https://github.com/user-attachments/assets/c51b2b7a-4c16-4da5-8ad5-5b4260d09320" />
- Student exam preparation
- Lecture note summarization
- Learning from eBooks
- Quick revision before interviews
- Educational content generation
- Self-paced learning
- Export notes as PDF
- Flashcard generation
- Difficulty-based quizzes
- Chat with uploaded PDFs using Retrieval-Augmented Generation (RAG)
- Multi-language support
- Save previous sessions
- Large Language Models (LLMs)
- Prompt Engineering
- LangChain Pipelines
- PDF Text Extraction
- AI-powered Content Generation
- Streamlit Application Development
- Environment Variable Management
Contributions are welcome.
If you'd like to improve the project:
- Fork the repository.
- Create a feature branch.
- Commit your changes.
- Open a Pull Request.
This project is licensed under the MIT License.
Ishika Negi
If you found this project useful, consider giving it a ⭐ on GitHub.