A personalized AI-powered study tool that helps you learn from PDF documents through goal-based learning, assessments, and interactive practice.
- PDF Processing: Upload and process PDF documents with text and image extraction
- Goal-Based Learning: Set your study goals and get a personalized study plan
- Knowledge Assessment: Initial assessment to gauge your current understanding
- RAG-Powered Chat: Ask questions about your documents with context-aware responses
- Knowledge Graph: Visual representation of concepts and their relationships
- Practice Quizzes: Topic-focused quizzes with adaptive difficulty
- Performance Tracking: Monitor your progress across different topics
This project requires Python 3.13+. Install dependencies using uv:
uv syncRun the Streamlit app:
uv run run_app.pyThen:
- Upload a PDF document
- Configure your model settings (OpenAI, Anthropic, or Ollama)
- Set your study goals
- Complete a quick assessment
- Start studying with your personalized plan
You'll need API keys for the models you want to use:
- OpenAI: Set
OPENAI_API_KEYenvironment variable - Anthropic: Set
ANTHROPIC_API_KEYenvironment variable - Ollama: Install and run Ollama locally
The app uses:
- Vector embeddings to store and retrieve document content
- LLMs for chat, question generation, and assessments
- Knowledge graphs to map relationships between concepts
- ChromaDB for persistent vector storage
- Docling or PyMuPDF for PDF extraction
This is a learning project built to explore LLM application development and RAG systems.