Files
life-echo/api/app/features/evaluation/presenters.py
Kevin ca8bcc8489 feat(evaluation): session catalog, user export import, and eval web UI
- 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)
2026-04-06 13:49:28 +08:00

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],
)