feat(eval): memoir A/B chapter judging and eval-web parity with dialogue
- Judge baseline excerpt and library chapter separately; build_memoir_compare_summary for gate, nine-dim and leaf deltas. - Memoir SSE chapter payload: baseline_judge, compare_summary, baseline_judge_error. - MemoirJudgeOutput: loose score coercion and post-validate clamp; memoir judge prompt caps from settings. - app-eval-web: two-column MemoirScoreCard layout, MemoirCompareSummary, chapter blocks and CSS. - Add memoir_compare_summary, log_events, celery_log_context, memoir_pipeline_progress; tests and migration 0014. - Misc: memory/evidence and enrichment paths, task/orchestrator updates, internal-eval docs, env examples.
This commit is contained in:
@@ -31,6 +31,13 @@ class FactsExtractionPayload(BaseModel):
|
||||
facts: list[ExtractedFactItem] = Field(default_factory=list)
|
||||
|
||||
|
||||
class EnrichmentPayload(BaseModel):
|
||||
"""单轮记忆富化:会话摘要 + 结构化事实(ingest 后一次 LLM 调用)。"""
|
||||
|
||||
summary: str = ""
|
||||
facts: list[ExtractedFactItem] = Field(default_factory=list)
|
||||
|
||||
|
||||
class SessionSummaryPayload(BaseModel):
|
||||
summary: str = ""
|
||||
|
||||
@@ -85,6 +92,11 @@ def facts_payload_to_dicts(payload: FactsExtractionPayload) -> list[dict]:
|
||||
return out
|
||||
|
||||
|
||||
def enrichment_payload_to_fact_dicts(payload: EnrichmentPayload) -> list[dict]:
|
||||
"""将 EnrichmentPayload.facts 转为与 extract_facts 一致的字典列表。"""
|
||||
return facts_payload_to_dicts(FactsExtractionPayload(facts=list(payload.facts)))
|
||||
|
||||
|
||||
def timeline_payload_to_dicts(payload: TimelineEventsPayload) -> list[dict]:
|
||||
out: list[dict] = []
|
||||
for ev in payload.events:
|
||||
|
||||
Reference in New Issue
Block a user