Skip to content

Latest commit

 

History

History
117 lines (87 loc) · 4 KB

File metadata and controls

117 lines (87 loc) · 4 KB

🗂️ TASK.md – Personalized Learning Marketplace (LangGraph + Pydantic AI)

MVP Status: All core backend and frontend steps for the quiz-enabled learning flow are complete. The prototype supports PDF upload, chat, bundle recommendation, quiz generation, validation, XP/badges, and a modern UI.


🎯 Primary Goal

Design a conversational GenAI platform that:

  1. Analyzes resumes and user goals via agents.
  2. Recommends personalized course bundles.
  3. Auto-prices bundles based on user-defined budgets.
  4. Offers interactive micro-assessments (quizzes) before advancing modules.
  5. Uses Pydantic AI for agent modularity, LangGraph for orchestration.

🔁 Phase 1: Agent & Graph Bootstrapping

🤖 Agent Definitions (in /llm_agents)

  • ResumeAgent: Parse resume and extract structured skill profile.
  • ConversationAgent: Capture goals, roles, preferences, budget from user chat.
  • CourseRetrievalAgent: Match skill gaps with embedded courses.
  • PricingAgent: Adjust bundle price to fit user's budget constraints.
  • QuizAgent: Generate quizzes to test understanding per module before unlocking the next.

🧩 LangGraph DAG Setup

  • Define flow: ResumeAgent → ConversationAgent → CourseRetrievalAgent → PricingAgent → QuizAgent
  • Structure LangGraph DAG using typed Pydantic nodes.
  • Add LangGraph test traces for each transition.

📚 Phase 2: Embeddings & Course Base

📂 Embedding Pipeline

  • Ingest 10–20 sample course descriptions.
  • Embed courses using OpenAI's text-embedding-ada-002.
  • Store vectors in FAISS DB (embeddings/faiss_index/).
  • Implement retriever.py for reusable vector search abstraction.

💬 Phase 3: Chat + Resume Ingestion Flow

🧾 Resume Parsing

  • Upload resume (PDF or text).
  • Extract → chunk → embed.
  • Route into ResumeAgent; log structured skill profile output.

🧠 Chatflow UX

  • Build chat frontend to capture:
    • Career goal
    • Preferred tech domain (e.g., frontend, data)
    • Budget
  • Connect to ConversationAgent backend API.

🧠 Phase 4: Course Bundle & Pricing

🎯 Course Bundle Logic

  • Compare user resume skills with goal skills.
  • Retrieve best-fit courses from FAISS.
  • Output as bundle cards (title, skills, time, price).

💸 Dynamic Pricing Logic

  • Compute scaled pricing using:
    scaled_price = (budget / total_base_price) * base_price
  • Reflect bundle changes live in UI with budget slider.

🧪 Phase 5: Quiz Agent Integration

✍️ Quiz Generation Flow

  • Build QuizAgent (Pydantic AI)
    • Input: module_title, target_skill
    • Output: 3–5 MCQs as JSON
  • Use GPT-4 to generate questions OR load from static quiz pool (for mock).
  • Show quiz in frontend before enabling next module.

🔐 Quiz Evaluation

  • Simple answer validation logic.
  • Gate progression based on score (optional toggle for demo).

💻 Phase 6: Frontend UI

🖥️ Components

  • Resume upload + status indicator.
  • Chat-based assistant UI (collects resume/goals/budget).
  • Bundle preview: Course cards with skill tags + pricing.
  • Budget slider (UI fully implemented, live course swapping: [TODO])
  • Quiz interface: MCQ with feedback + score (unlock logic optional).
  • Responsive, mobile-first UI (all screens, all breakpoints)
  • Light/dark mode toggle in NavBar
  • Modern, custom color palette (theme-aware)
  • Gamified dashboard: XP, badges, quiz history, progress

🧪 Testing & Validation

✅ Core Testing

  • Unit tests for all Pydantic agents (including QuizAgent).
  • Validate LangGraph transitions (happy path + edge).
  • Simulated full flow: resume → goals → bundle → pricing → quiz.

🔜 Optional Extensions (Post-hackathon or stretch goals)

  • Add support for persistent user accounts & profiles.
  • Add XP/progress badges for quiz completion.
  • Gamified dashboard (track learning over time).