Educational content as a coordinated workflow
EduMultiLLM generates lesson material and assessments from a topic and educational level. I developed it as a solo internship and capstone project, with separate agents for curriculum planning, content writing, assessment writing and review. The implementation includes a Python library, command-line tools and a FastAPI service with a browser interface.
Four specialist agents
The curriculum planner produces learning objectives and key concepts. The content writer builds the lesson outline and teaching content from those objectives, and the assessment writer generates related questions. A reviewer receives the combined material and returns critique and suggestions. Each role has its own prompt, output schema and configurable model selection.
An iterative review loop
The orchestrator runs the four stages in sequence, then passes the reviewer’s critique and suggestions into the next generation pass. A configurable pass limit bounds the workflow. An optional early-stop heuristic checks whether suggestions are empty or the critique contains phrases indicating no major changes. This is a practical control for iteration, rather than a measured guarantee of content quality.
Models behind a common interface
I built a provider-routing layer connecting logical model names to provider clients and model identifiers. The repository includes adapters for OpenAI, Anthropic, Google and local model endpoints, with per-agent configuration and per-run overrides. This separates the educational roles from a fixed provider choice and supports experimenting with different model combinations.
Reference material through retrieval
The knowledge-base workflow stores document chunks and source metadata alongside a FAISS vector index. During generation, topic and curriculum information form retrieval queries for the content and assessment agents. Retrieved text is supplied as reference context. Supporting tools extract text from PDF worksheets, attempt OCR when little text is available, and build question-and-answer pairs for dataset preparation.
Structured outputs and inspectable runs
A shared agent implementation handles prompt formatting, model calls, raw-response capture, JSON extraction, schema validation and fallback output. Each run records generated material and review notes for individual passes. Run manifests track models, providers, artifacts and timestamps, while step metrics capture duration and token usage when supplied by the provider. These records make the generation process easier to inspect and compare.
From generated data to teaching materials
The workflow exports lesson documents, worksheets and slide decks from structured outputs. The service exposes generation jobs and progress, saved runs, export operations and downloadable run archives. Docker and reverse-proxy configuration support packaging the service. The project connects the generation experiment to tools for reviewing and using its output.
Scope of the implementation
The repository demonstrates the multi-agent workflow and the supporting engineering around it. It also includes utilities for preparing fine-tuning datasets. Those utilities do not by themselves establish that a model was trained. The page describes the implemented workflow without claiming a measured improvement in educational outcomes or a benchmark result.