- Extend evaluation API: schemas, router, repo, admin and execution services - Improve user export markdown importer; add fixtures and importer tests - Session catalog repo/service updates; internal app wiring and docs - Add internal-eval.sh helper; refresh app-eval-web (App, styles, Vite)
27 lines
816 B
Python
27 lines
816 B
Python
"""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],
|
|
)
|