feat/ eval
This commit is contained in:
@@ -133,9 +133,100 @@ class UserExportFixtureListOut(BaseModel):
|
||||
items: list[str]
|
||||
|
||||
|
||||
class MemoirSectionBaselineOut(BaseModel):
|
||||
title: str
|
||||
body: str
|
||||
|
||||
|
||||
class UserExportFixtureDetailOut(BaseModel):
|
||||
filename: str
|
||||
turns: list[UserExportFixtureTurnOut]
|
||||
source_user_id: str | None = None
|
||||
memoir_sections: list[MemoirSectionBaselineOut] = Field(default_factory=list)
|
||||
|
||||
|
||||
class ReplayBootstrapBody(BaseModel):
|
||||
user_id: str
|
||||
|
||||
|
||||
class ReplayBootstrapOut(BaseModel):
|
||||
conversation_id: str
|
||||
|
||||
|
||||
class EvalSandboxOut(BaseModel):
|
||||
"""内部评测专用:一次性临时账号 + 空白会话,不落真实手机号业务。"""
|
||||
|
||||
user_id: str
|
||||
conversation_id: str
|
||||
phone: str
|
||||
nickname: str
|
||||
|
||||
|
||||
class ReplayConversationBody(BaseModel):
|
||||
conversation_id: str
|
||||
fixture_filename: str | None = None
|
||||
user_utterances: list[str] | None = None
|
||||
flush_memoir_after: bool = True
|
||||
skip_tts: bool = True
|
||||
|
||||
|
||||
class ReplayConversationOut(BaseModel):
|
||||
conversation_id: str
|
||||
turns_replayed: int
|
||||
utterances_echo: list[str] = Field(default_factory=list)
|
||||
|
||||
|
||||
class ManualJudgeConversationBody(BaseModel):
|
||||
conversation_id: str
|
||||
"""与当前评测台选中的 MD 一致,供基准 transcript / 整体打分。"""
|
||||
fixture_filename: str | None = None
|
||||
|
||||
|
||||
class ManualJudgeConversationStreamBody(BaseModel):
|
||||
conversation_id: str
|
||||
fixture_filename: str | None = None
|
||||
|
||||
|
||||
class ManualJudgeConversationOut(BaseModel):
|
||||
conversation_id: str
|
||||
fixture_filename: str | None = None
|
||||
baseline_transcript: str = ""
|
||||
replay_transcript: str
|
||||
baseline_judge: dict[str, Any] | None = None
|
||||
replay_judge: dict[str, Any] | None = None
|
||||
errors: list[str] = Field(default_factory=list)
|
||||
|
||||
|
||||
class ManualJudgeMemoirBody(BaseModel):
|
||||
user_id: str
|
||||
baseline_sections: list[MemoirSectionBaselineOut] | None = None
|
||||
|
||||
|
||||
class ManualJudgeMemoirOut(BaseModel):
|
||||
user_id: str
|
||||
chapter_results: list[dict[str, Any]] = Field(default_factory=list)
|
||||
story_results: list[dict[str, Any]] = Field(default_factory=list)
|
||||
|
||||
|
||||
class MemoirChapterSnapOut(BaseModel):
|
||||
id: str
|
||||
title: str
|
||||
category: str | None = None
|
||||
order_index: int | None = None
|
||||
canonical_markdown: str | None = None
|
||||
|
||||
|
||||
class MemoirStorySnapOut(BaseModel):
|
||||
id: str
|
||||
title: str
|
||||
stage: str | None = None
|
||||
canonical_markdown: str | None = None
|
||||
|
||||
|
||||
class UserMemoirSnapshotOut(BaseModel):
|
||||
user_id: str
|
||||
chapters: list[MemoirChapterSnapOut]
|
||||
stories: list[MemoirStorySnapOut]
|
||||
|
||||
|
||||
class SnapshotFromConversationBody(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user