ITS - Intelligent Tutoring System
ITS (Intelligent Tutoring System) is a comprehensive, adaptive educational ecosystem designed to simulate a one-on-one tutoring experience.
AI Model & Technologyβ
At the core of ITS lies a custom-built, trainable AI model. Unlike generic wrappers, this system utilizes a fine-tuned version of Llama 3.1 (8B), optimized specifically for pedagogical dialogue and educational scaffolding.
- Model: Llama 3.1 8B (Fine-tuned on educational datasets)
- Embedding: sentence-transformers/all-MiniLM-L6-v2 (for RAG and Knowledge Graph)
- Architecture: Hybrid Neuro-Symbolic (combines LLM generation with structured Knowledge Graphs)
The system empowers Teachers to upload raw materials (Lessons, Challenges, Rubrics), which the system's "Brain" then processes to drive an adaptive learning journey for the Student.
Architecture & Core Enginesβ
The system is built around five interacting intelligent engines that work together to deliver personalized education.
System Architecture Diagramβ
graph TD
subgraph "Instructor Zone"
Teacher([π©βπ« Teacher])
Materials[/π Lessons & Rubrics/]
Teacher -->|Uploads| Materials
end
subgraph "ITS Core (The AI Brain)"
direction TB
KE[ποΈ Knowledge Engine]
PE[π§ Pedagogy Engine]
LE[π Learner Engine]
TE[π¬ Tutor Engine]
AE[β
Assessment Engine]
Materials -->|Ingest| KE
KE -->|Context| PE
LE -->|State| PE
PE -->|Strategy| TE
AE -->|Feedback| LE
end
subgraph "Domain Layer"
PluginInterface[[π Plugin Interface]]
Subjects["π Subject Plugins<br/>(Python, Math, History...)"]
PluginInterface --- Subjects
end
subgraph "Student Zone"
Student([π¨βπ Student])
end
%% Wiring
PE -->|Directs| PluginInterface
AE -->|Evaluates| PluginInterface
TE <-->|Chat & Hints| Student
Student -->|Attempts| AE
Engine Descriptionsβ
-
ποΈ Knowledge Engine
- Role: The librarian and map-maker.
- Function: Ingests raw materials (PDFs, text), chunks them into learnable units, and builds a Knowledge Graph linking concepts together.
-
π§ Pedagogy Engine
- Role: The strategist.
- Function: Decides what to teach next and how to teach it based on the student's current state. It balances challenge and skill (Vygotsky's Zone of Proximal Development).
- Adaptive Strategies (New v2.1):
- Socratic Method: Asks guiding questions instead of giving answers (for advanced learners).
- Feynman Technique: Requests simple explanations to diagnose conceptual gaps.
- Scaffolding: Breaks down complex problems into smaller steps with hints (for stuck learners).
-
π¬ Tutor Engine
- Role: The conversationalist.
- Function: Generates natural language explanations, hints, and encouragement using LLMs (e.g., Llama 3). It adapts the tone and depth of explanation.
-
π Learner Engine
- Role: The memory.
- Function: Tracks the student's "Mastery Score" for every skill, records activity history, and calculates readiness for new topics.
-
β Assessment Engine
- Role: The grader.
- Function: Automatically evaluates student answers (code, text, or multiple choice), identifies specific error types, and provides immediate feedback.
Key Featuresβ
1. Dynamic Course Creationβ
Courses are created dynamically via API. The Domain Plugin Layer ensures the system can switch "brains" instantly:
- Endpoint:
POST /courses/ - Examples: "Python 101", "History of Art", "Quantum Physics".
2. Universal Learning Module (GenericPlugin)β
This module acts as the default adapter for new subjects. It uses the Knowledge Engine to perform RAG (Retrieval-Augmented Generation) on uploaded materials, allowing the system to teach subjects it wasn't explicitly programmed for.
How to Runβ
1. Start the Systemβ
Use Docker to launch the entire stack (DB, API, AI):
docker-compose up -d --build
2. Manual API Usage (Swagger UI)β
Access the interactive API documentation at http://localhost:8000/docs.
- Authorize (Login).
POST /courses/-> Create a new course.POST /courses/{id}/upload-> Upload learning materials.POST /sessions/-> Start a session with the Course ID.POST /chat/-> Interact with the AI Tutor.
Version History & Changelogβ
π v2.1: Cognitive Intelligence Update (Current)
- π§ Pedagogy Engine Upgrade:
- Added Socratic Method (Guided questioning for advanced learners).
- Added Feynman Technique (Conceptual gap diagnosis).
- Added Scaffolding (Step-by-step breakdown for stuck students).
- β
Assessment Engine Upgrade:
- Implemented AI Grading using Llama 3.1.
- Provides detailed JSON feedback with scores (accuracy, relevance, depth).
- π§ͺ Verification: Added specific test scripts for Pedagogy strategies and Assessment logic.
ποΈ v2.0: Core Architecture Overhaul
- 5-Engine Architecture: Defined the core interaction between Knowledge, Pedagogy, Tutor, Learner, and Assessment engines.
- RAG Integration: Implemented Knowledge Graph and Vector Search for dynamic content retrieval.
- Plugin System: Created
GenericPluginto allow any subject material to be taught without code changes. - Dockerization: Full container support for Database, API, and LLM services.
π± v1.0: Initial Prototype
- Basic Chat Interface.
- Simple Authentication (JWT).
- Static Rule-based responses.
- Proof of Concept for ITS.