Files
life-echo/api/app/features/evaluation/presenters.py

27 lines
816 B
Python
Raw Normal View History

"""ORM → API schema 映射(供 REST / SSE 共用)。"""
from __future__ import annotations
from app.features.evaluation.schemas import CaseOut, EvalRunOut, RunTurnOut
def case_out(row) -> CaseOut:
return CaseOut.model_validate(row)
def run_out(row, turns: list) -> EvalRunOut:
return EvalRunOut(
id=row.id,
experiment_id=row.experiment_id,
case_id=row.case_id,
side=row.side,
status=row.status,
error_message=row.error_message,
memoir_markdown=row.memoir_markdown,
conversation_score_total=row.conversation_score_total,
memoir_score_total=row.memoir_score_total,
composite_score=row.composite_score,
judge_bundle_json=row.judge_bundle_json,
turns=[RunTurnOut.model_validate(t) for t in turns],
)