Files
life-echo/api/tests/evaluation/test_eval_trace_service_dialogue_lineage.py
yangshilin e1341c6d18 feat:
1. 建立问题库大纲,对应每个人生阶段槽位
2. 鼓励使用更生活化的交流语言共情与总结
3. 降低评审模型可能发生截断的概率
4. 成稿质量维度强化情感表达和上下文连贯性
2026-04-09 15:32:35 +08:00

51 lines
1.5 KiB
Python

"""EvalTraceService 在 chapter 快照路径返回 dialogue_lineage。"""
from __future__ import annotations
from types import SimpleNamespace
from unittest.mock import MagicMock
import pytest
from sqlalchemy.ext.asyncio import AsyncSession
from app.features.evaluation.eval_trace_service import EvalTraceService
from app.features.memoir.chapter_evidence_snapshot import (
EVIDENCE_SNAPSHOT_SCHEMA_VERSION,
)
@pytest.mark.asyncio
async def test_build_chapter_bundle_dialogue_lineage_from_snapshot() -> None:
msg_ln = {
"schema_version": 1,
"conversation_id": "cv1",
"turns": [
{"user_message_id": "um-99", "assistant_message_id": "as-99"},
],
}
snap = SimpleNamespace(
user_id="u1",
chapter_id="ch1",
schema_version=EVIDENCE_SNAPSHOT_SCHEMA_VERSION,
segment_ids=["s1"],
conversation_ids=["cv1"],
memory_chunk_ids=["mk1"],
memory_fact_ids=[],
timeline_event_ids=[],
summary_ids=[],
notes=[],
message_lineage_json=msg_ln,
)
chapter = SimpleNamespace(
id="ch1",
user_id="u1",
source_segments=["s1"],
current_evidence_snapshot=snap,
evidence_bundle_json=None,
)
db = MagicMock(spec=AsyncSession)
svc = EvalTraceService(db)
bundle = await svc.build_chapter_bundle("u1", chapter)
assert bundle.dialogue_lineage == msg_ln
assert bundle.dialogue_lineage["turns"][0]["user_message_id"] == "um-99"