Files
item_bank/app/schemas/ai.py
T
2026-08-01 16:50:55 +08:00

48 lines
1.0 KiB
Python

"""作答记录与 AI 功能的 schema。"""
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field
class AttemptCreate(BaseModel):
user_answer: list[str] = Field(default_factory=list)
class AttemptOut(BaseModel):
"""一次作答记录。is_correct 为 null 表示"已记录,尚未判分""""
model_config = ConfigDict(from_attributes=True)
id: str
question_id: str
user_answer: list[str] | None
is_correct: bool | None
judged_by: str
ai_feedback_markdown: str | None
created_at: datetime
class SelfJudge(BaseModel):
"""自评:用户自己判定对错,不花 AI 额度。"""
is_correct: bool
class JudgeResult(BaseModel):
"""按需判分的结果。"""
attempt_id: str
is_correct: bool | None
judged_by: str
feedback_markdown: str | None = None
key_points_missed: list[str] = Field(default_factory=list)
correct_answer: list[str] | None = None
class ExplainOut(BaseModel):
explanation_markdown: str
class TagsOut(BaseModel):
tags: list[str]