| from pydantic import BaseModel, Field |
| from typing import List, Dict, Literal, Optional |
| from typing import List |
| from pydantic import BaseModel, Field |
|
|
|
|
| class Objective(BaseModel): |
| unit: str = Field(..., description="The title of the unit.") |
| unit_description: str = Field(..., description="A brief summary of the unit scope.") |
| subtopic: str = Field(..., description="The title of the subtopic (axis).") |
| module_description: str = Field( |
| ..., description="A brief summary of what this subtopic covers." |
| ) |
| level: str = Field( |
| ..., description="Bloom's level assigned based on subtopic analysis." |
| ) |
| verbs: List[str] = Field( |
| ..., description="A list of verbs used to define the learning objective." |
| ) |
| objective: str = Field( |
| ..., |
| description="A measurable Arabic objective derived from the subtopic purpose.", |
| ) |
|
|
|
|
| class ObjectivesOutput(BaseModel): |
| objectives: List[Objective] = Field( |
| ..., |
| description="List of objectives including unit, subtopic, and measurable goals.", |
| ) |
|
|
| from pydantic import BaseModel, Field |
| from typing import List, Dict, Literal, Optional |
|
|
|
|
| class LearningObjective(BaseModel): |
| """Schema for a single learning objective""" |
|
|
| unit: str = Field(description="The title of the unit this objective belongs to") |
| unit_description: str = Field( |
| description="Brief summary of the unit scope and learning journey" |
| ) |
| subtopic: str = Field(description="The title of the specific subtopic") |
| module_description: str = Field( |
| description="Brief summary of what this subtopic covers" |
| ) |
| level: str = Field( |
| description="Bloom's Taxonomy level or learning domain level assigned based on subtopic analysis" |
| ) |
| verbs: List[str] = Field( |
| description="List of three relevant Bloom's verbs suitable for the audience", |
| min_items=3, |
| max_items=3, |
| ) |
| objective: str = Field( |
| description="One measurable learning objective in Arabic derived from the subtopic purpose" |
| ) |
|
|
|
|
| class LearningObjectivesOutput(BaseModel): |
| """Schema for the complete learning objectives output""" |
|
|
| objectives: List[LearningObjective] = Field( |
| description="Complete list of learning objectives for all subtopics in the curriculum" |
| ) |
|
|