A multi-agent AI system that helps students with:
- π Study Planning - Generate personalized day-wise schedules
- β Doubt Resolution - Get answers from your own uploaded notes (RAG)
- π Schedule Management - Track progress and reschedule missed sessions
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Web Interface β
β (Dashboard | Create Plan | Today's Tasks | Ask Doubt) β
βββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββ
β Coordinator Agent β
β (Intent Detection & β
β Request Routing) β
βββββββββββββ¬ββββββββββββ
β
βββββββββββββββββββΌββββββββββββββββββ
βΌ βΌ βΌ
βββββββββββββββββ βββββββββββββββββ βββββββββββββββββ
β Planner Agent β βKnowledge Agentβ βScheduler Agentβ
β β β β β β
β Creates study β β RAG-based Q&A β β Tracks & re- β
β schedules β β over notes β β schedules β
βββββββββββββββββ βββββββββββββββββ βββββββββββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββββ βββββββββββββββββ βββββββββββββββββ
β SQLite DB β β ChromaDB β β SQLite DB β
β (Plans & β β (Embeddings) β β (Sessions) β
β Sessions) β β β β β
βββββββββββββββββ βββββββββββββββββ βββββββββββββββββ
cd AgenticAI_wemakedevs
# Create virtual environment
python -m venv venv
# Activate (Windows)
.\venv\Scripts\activate
# Activate (Mac/Linux)
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt# Copy example env file
copy .env
# Edit .env and add your Groq API key
# GROQ API KEY = your_api_key# Start the server
uvicorn app.main:app --reload
# Or run directly
python -m app.mainNavigate to: http://localhost:8000
AgenticAI_wemakedevs/
βββ app/
β βββ __init__.py
β βββ config.py # Configuration settings
β βββ main.py # FastAPI application entry
β β
β βββ agents/ # AI Agents
β β βββ coordinator.py # Main orchestrator
β β βββ planner.py # Study plan generation
β β βββ knowledge.py # RAG-based Q&A
β β βββ scheduler.py # Schedule management
β β βββ config/
β β βββ agents.yaml # Agent configurations
β β
β βββ models/ # Database models
β β βββ database.py # SQLModel tables
β β βββ session.py # DB session management
β β
β βββ routers/ # API endpoints
β β βββ plans.py # Study plan APIs
β β βββ schedule.py # Schedule APIs
β β βββ knowledge.py # Document/Q&A APIs
β β βββ chat.py # Chat interface APIs
β β
β βββ services/ # Business logic
β βββ pdf_processor.py # PDF text extraction
β βββ vector_store.py # ChromaDB operations
β βββ llm_service.py # LLM API wrapper
β
βββ frontend/
β βββ templates/ # Jinja2 HTML templates
β βββ base.html # Base layout
β βββ index.html # Dashboard
β βββ plan.html # Create plan page
β βββ schedule.html # Today's tasks
β βββ knowledge.html # Notes management
β
βββ uploads/ # Uploaded PDFs (auto-created)
βββ chroma_db/ # Vector store (auto-created)
βββ requirements.txt
βββ .env.example
βββ README.md
- Detects user intent from messages
- Routes requests to appropriate specialist agents
- Synthesizes responses for the frontend
- Input: Subjects, topics, dates, hours/day
- Output: Day-wise study schedule with time blocks
- Uses LLM to generate intelligent, balanced schedules
- Input: User question + uploaded PDF notes
- Process: Retrieves relevant chunks from ChromaDB
- Output: Answer with source citations
- Tracks session completion status
- Reschedules missed sessions intelligently
- Provides progress summaries and tips
POST /api/plans/create- Create new study planGET /api/plans/{plan_id}- Get plan detailsGET /api/plans/user/{user_id}- Get user's plans
GET /api/schedule/today/{plan_id}- Today's sessionsPUT /api/schedule/session/{id}- Update session statusPOST /api/schedule/reschedule/{plan_id}- Reschedule missed
POST /api/knowledge/upload- Upload PDFPOST /api/knowledge/ask- Ask questionPOST /api/knowledge/quiz- Generate quiz
POST /api/chat/send- Send message to assistantGET /api/chat/history/{user_id}- Get chat history
- Backend: FastAPI, Python 3.10+
- Database: SQLite + SQLModel
- Vector Store: ChromaDB
- LLM: Groq or llama-3.3-70b(Configurable)
- PDF Processing: PyMuPDF
- Frontend: HTML, Tailwind CSS, Vanilla JS
- Go to "Create Plan" page
- Enter plan title and dates
- Add subjects and topics with difficulty levels
- Click "Generate Plan" - AI creates your schedule
- Upload your study notes (PDFs)
- Click the chat button or go to "My Notes"
- Type your question
- Get answers with source citations
- View today's tasks on dashboard or schedule page
- Check off completed sessions
- Skip sessions you couldn't do
- Use "Reschedule" to automatically adjust plan
Edit .env file:
GROQ_API_KEY=gsk_...
# Database (SQLite by default)
DATABASE_URL=sqlite:///./study_assistant.db
# Debug mode
DEBUG=true- Fork the repository
- Create feature branch (
git checkout -b feature/amazing) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing) - Open a Pull Request
Built with β€οΈ for students who want to study smarter, not harder.