Spaces:
Sleeping
Sleeping
| from typing import List, Dict, Any | |
| from pydantic import BaseModel, Field, confloat, conlist, RootModel | |
| class ItemExplanationInput(BaseModel): | |
| question: str | |
| user_answer: str | |
| solution: str | |
| class ItemExplanationOutput(BaseModel): | |
| hint: str | |
| guided: str | |
| full: str | |
| class MasteryDiagEvent(BaseModel): | |
| correct: bool | |
| rt: int | |
| hints: int | |
| class MasteryDiagnosticInput(BaseModel): | |
| skill: str | |
| history: conlist(MasteryDiagEvent, min_length=1, max_length=50) | |
| class MasteryDiagnosticOutput(BaseModel): | |
| mastery: confloat(ge=0.0, le=1.0) | |
| comment: str | |
| class NextItemCandidate(BaseModel): | |
| item_id: str | |
| skill: str | |
| p_correct: confloat(ge=0.0, le=1.0) | |
| due: bool | |
| class NextItemSelectorInput(BaseModel): | |
| user_id: str | |
| candidates: conlist(NextItemCandidate, min_length=1) | |
| class NextItemSelectorOutput(BaseModel): | |
| item_id: str | |
| reason: str | |
| class SkillMastery(BaseModel): | |
| name: str | |
| mastery: confloat(ge=0.0, le=1.0) | |
| class SkillFeedbackInput(BaseModel): | |
| skills: conlist(SkillMastery, min_length=1) | |
| class SkillWeakness(BaseModel): | |
| skill: str | |
| tip: str | |
| class SkillFeedbackOutput(BaseModel): | |
| strengths: List[str] | |
| weaknesses: List[SkillWeakness] | |
| class HintGenerationInput(BaseModel): | |
| question: str | |
| class HintGenerationOutput(BaseModel): | |
| field_1: str = Field(alias='1') | |
| field_2: str = Field(alias='2') | |
| field_3: str = Field(alias='3') | |
| class Config: | |
| populate_by_name = True | |
| class ReflectionInput(BaseModel): | |
| session: Dict[str, Any] | |
| class ReflectionOutput(BaseModel): | |
| reflection: str | |
| improvement: str | |
| class InstructorItem(BaseModel): | |
| id: str | |
| discrimination: float | |
| accuracy: confloat(ge=0.0, le=1.0) | |
| class InstructorInsightInput(BaseModel): | |
| items: conlist(InstructorItem, min_length=1) | |
| class InstructorInsightRow(BaseModel): | |
| item_id: str | |
| flag: str | |
| class ExplanationCompressionInput(BaseModel): | |
| explanation: str | |
| class ExplanationCompressionOutput(BaseModel): | |
| recap: str | |
| class QuestionAuthoringInput(BaseModel): | |
| skill: str | |
| difficulty: str | |
| class QAItem(BaseModel): | |
| q: str | |
| a: str | |
| why: str | |
| class QuestionAuthoringOutput(RootModel[List[QAItem]]): | |
| pass | |
| class ToneNormalizerInput(BaseModel): | |
| raw: str | |
| class ToneNormalizerOutput(BaseModel): | |
| normalized: str | |