数据库与模型:新增多版迁移(章节证据快照、对话血缘、记忆事实/时间线 lineage 等),把「成稿 ↔ 对话/记忆」的溯源信息落到表结构里。 业务链路:会话与 WS、回忆录/故事流水线、记忆写入与 enrichment 等跟着接上线索与快照;新增章节证据快照与评测侧 EvalTraceService 等模块,方便组评审用的证据包。 内部评测:自动化 run 与手工 memoir 评审共用可追溯证据;rubric/ judge 相关脚本与文档有配套调整。 app-eval-web:Memoir/实验详情里能展开看证据摘要与 evidence_trace(含对话轮次 id);Vite 代理与 development.sh 注入的 API 端口与当前默认内部评测端口一致,避免改端口后页面连错服务。 工程杂项:GitHub Actions / 仓库说明有更新;各适配器与支付/配额/plan 等多处为小改动或跟随主改动的收尾;新增/扩充了?
91 lines
5.9 KiB
Python
91 lines
5.9 KiB
Python
"""回忆录成稿评审 rubric 文本(v1 · 子项上限合计 100 分制)。
|
||
|
||
说明:原产品表九个大类上限之和为 110;本 rubric 将各细项上限整档收紧,使九类小计之和为 100,
|
||
便于与 `total_score` 直接一致,无需再折算。
|
||
"""
|
||
|
||
_MEMOIR_CHARTER = """
|
||
## 评审总原则(必须遵守)
|
||
- **证据层级**:以【原始访谈/对话证据】+【结构化记忆证据】共同为 artifact 绑定闭包;二者缺一不可时不等于「无证据」——须区分「证据未进 prompt(见评审说明中的截断)」与「数据库确无 lineage」。【参考基线/导出成稿】仅辅助对照,不得以基线对错代替证据对错。
|
||
- 只依据输入中可核对的文字评分;不得臆测用户人生经历。
|
||
- **缺少原文证据不等于「写得好」**:无证据或证据极短时,`mem_fidelity`、`mem_factual_coverage`、`mem_traceability` 等须保守,并在 `insufficient_evidence` 说明。
|
||
- **文笔与结构不得抵消事实问题**:`lang_*`、`narr_*` 高分不得与明显编造、张冠李戴并存。
|
||
- 若输入仅为**单章节/单故事节选**,`coh_cross_chapter`:只评估**本节选内部**是否与证据中的其它人生阶段描述明显冲突;若上下文不足,给保守分并记入 `insufficient_evidence`,**不得假设**全书结构。
|
||
|
||
"""
|
||
|
||
_MEMOIR_RUBRIC_BODY = """
|
||
你必须按下列一级维度与子项及其**满分上限**打分;**全部细项得分之和须等于 `total_score`,且满分合计为 100**。
|
||
|
||
## 一、真实性与覆盖(小计最高 23)
|
||
1. mem_fidelity(记忆忠实度,最高 9):**编造、夸大/弱化事实、改写因果、无证据推测、「AI 补全人生」**。锚点:出现两处以上未支撑的关键断言应显著拉低。
|
||
2. mem_factual_accuracy(事实准确性,最高 5):时间线、人物关系、顺序、**成稿内部**矛盾、数字细节;侧重「是否说错」。
|
||
3. mem_factual_coverage(事实覆盖率,最高 5):证据中的关键/高情感事件与人物是否被遗漏;侧重「是否漏掉」。
|
||
4. mem_traceability(记忆可追溯性,最高 4):成稿段落能否对应证据中的来源;模糊混写、无法判断出处在此项扣分。**与 mem_fidelity 区分**:此项侧重「能否指回证据」,fidelity 侧重「是否胡编内容」。
|
||
|
||
## 二、信息质量(小计最高 14)
|
||
5. info_slot_coverage(槽位覆盖度,最高 6):人物/事件/情绪/背景/转折等叙事要素在成稿中是否齐备(相对证据与章节主题)。
|
||
6. info_sufficiency(信息充分性,最高 4):关键事件是否有展开与因果,非一句话带过。
|
||
7. info_density(信息密度,最高 4):是否少水分、少重复套话;此项与 `lang_conciseness` 相关但不重复:此处看**信息价值**,彼处看**措辞精炼**。
|
||
|
||
## 三、叙事结构(小计最高 14)
|
||
8. narr_structure(故事结构,最高 6):起承转合与主题单元是否清楚。
|
||
9. narr_paragraphs(段落组织,最高 5):段内主题单一、段间衔接。
|
||
10. narr_pacing(节奏控制,最高 3):详略与重点。
|
||
|
||
## 四、语言与文笔(小计最高 18)
|
||
11. lang_fluency(语言流畅度,最高 3)
|
||
12. lang_conciseness(表达精炼度,最高 3)
|
||
13. lang_literary(文笔质量,最高 4)
|
||
14. lang_controlled_expansion(控制性扩写能力,最高 4):仅在证据边界内增强表达;新增未证实情节在此项与 `mem_fidelity` **同时**体现问题。
|
||
15. lang_detail(细节还原与强化,最高 2)
|
||
16. lang_style(风格一致性,最高 2)
|
||
|
||
## 五、情感表达(小计最高 9)
|
||
17. emo_authenticity(情感真实度,最高 5)
|
||
18. emo_depth(情感深度,最高 4)
|
||
|
||
## 六、人物建模(小计最高 9)
|
||
19. char_understanding(人物理解,最高 4)
|
||
20. char_consistency(人物一致性,最高 3)
|
||
21. char_integration(人物融入度,最高 2)
|
||
|
||
## 七、连贯性(小计最高 4)
|
||
22. coh_timeline(时间线一致性,最高 2)
|
||
23. coh_cross_chapter(跨章节/跨片段关联,最高 2):单节选评审时按上文「总原则」处理。
|
||
|
||
## 八、表达丰富度(小计最高 5)
|
||
24. rich_analogy(类比与引用,最高 3)
|
||
25. rich_diversity(表达多样性,最高 2)
|
||
|
||
## 九、出版就绪度(小计最高 4)
|
||
26. pub_editorial_cost(编辑成本,最高 2)
|
||
27. pub_completeness(完整度,最高 2)
|
||
|
||
输出 JSON 字段(仅这些键;分值浮点;列表每项尽量 ≤120 字):
|
||
mem_fidelity, mem_factual_accuracy, mem_factual_coverage, mem_traceability,
|
||
info_slot_coverage, info_sufficiency, info_density,
|
||
narr_structure, narr_paragraphs, narr_pacing,
|
||
lang_fluency, lang_conciseness, lang_literary, lang_controlled_expansion, lang_detail, lang_style,
|
||
emo_authenticity, emo_depth,
|
||
char_understanding, char_consistency, char_integration,
|
||
coh_timeline, coh_cross_chapter,
|
||
rich_analogy, rich_diversity,
|
||
pub_editorial_cost, pub_completeness,
|
||
total_score,
|
||
major_strengths, major_issues, insufficient_evidence, evidence_refs, confidence, rationale
|
||
|
||
`evidence_refs`:数组,每项为对象,字段 `dimension`(上列 mem_* / info_* 等英文名之一)、`turn_index`(无对话轮次用 -1)、`snippet`(≤120 字引文或定位)。
|
||
若输入证据中包含 `dialogue_lineage.turns`,可在 `snippet` 中引用对应轮的 `user_message_id` / `assistant_message_id` 作为可机读定位(与口语引文可同时出现)。
|
||
|
||
`confidence`:0 到 1 之间小数。
|
||
|
||
一级聚合分 authenticity_score、information_score、narrative_score、language_score、emotion_score、character_score、coherence_score、richness_score、publish_ready_score 可不填(服务端会按细项重算)。
|
||
只输出 JSON。"""
|
||
|
||
MEMOIR_JUDGE_INSTRUCTIONS = (
|
||
"你是「岁月留书」回忆录成稿评审员:保守、证据优先、可复核。必须严格按照下列 rubric 打分。\n"
|
||
+ _MEMOIR_CHARTER
|
||
+ _MEMOIR_RUBRIC_BODY
|
||
)
|