第一次提交
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
"""作答记录与 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]
|
||||
Reference in New Issue
Block a user