Logo Lanfrica

NadhemBenhadjali/Multi-Agent-Tunisian-Educational-Plateform

Domain:

educationnatural language processing

Record type:

softwareproject
Creator:
Nad
Host:
Etude.AI is a multi-agent system for a Tunisian primary-school tutoring platform: it uses LLM agents, a Neo4j knowledge graph, and a Qdrant vector store to summarize textbook lessons, answer kids’ questions, and generate quizzes, while a dedicated planner agent combines user and session history to propose study sessions for the parents. # Etude.AI – Multi-Agent Tunisian Educational Platform Etude.AI is a **backend service** that uses multi-agent LLMs, a Neo4j knowledge graph, and a Qdrant vector store to support primary-school students (in Arabic/Tunisian dialect) with: - **Lesson summaries** - **Question answering** - **Auto-generated quizzes** - **PDF session reports for parents** This repo contains **only the backend, data pipelines, and planner logic** – not the frontend UI. **The complete platform, including the frontend application, Docker configuration, deployment setup, and production infrastructure, is maintained in a private repository.** --- ## System Overview The system is built around several agents and a small amount of session memory: - **Summary Agent** – Generates a structured JSON “lesson script” (slides + optional images) from the book’s knowledge graph. - Implemented in: `app/crew/agents.py` → `summary` - Used by: `generate_summary_json` in `app/handlers.py`, exposed via `POST /summary` in `app/app.py`. - **Q&A Agent** – Answers free-form questions from the student, using Qdrant + KG as context and a chat memory buffer. - Implemented in: `app/crew/agents.py` → `qa` - Used by: `handle_qa` in `app/handlers.py`, exposed via `POST /qa`. - **Quiz Agent** – Creates multiple-choice and true/false questions for a given topic and returns them as JSON. - Implemented in: `app/crew/agents.py` → `quiz` - Used by: `generate_quiz_json` in `app/handlers.py`, exposed via `POST /quiz`. - **Feedback Agent** – Reads the stored session data and writes a short encouraging note in Tunisian dialect. - Implemented in: `app/crew/agents.py` → `feedback` - Used inside: `POST /report` in `app/app.py` to include the note in the PDF. - **Session Memory** – Very light in-memory store (`SessionMemory` in `app/pdf_report.py`) wrapped as `GLOBAL_MEM` in `app/runtime.py`. - Logs: summaries, Q&A history, quiz logs, feedback note, etc. for the current ses …