- 新增 docs/architecture/extract-status.md:指标两种读法(报告值 / 只按人工标注)、 已确认的进展、泛化风险(Fable 过拟合评估)、P0–P3 遗留问题、找样本和建留出集的流程 - extract-eval.md、AGENTS.md、架构 SK13、evals/README.md 改正达标说法并指向新文档 - 读标召回率优化暂停,后续专项优化从 extract-status.md 接着做 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.1 KiB
2.1 KiB
评测
run_extract.py:离线跑一份招标文件的全部抽取任务,统计结果,并审计模型输出里的不合理模式(引文太短、同一句被拆成多条、编号和引文不是同一句、声称有标注但原文没有……)。改提示词、改规则、换模型前后各跑一次对比。用法见文件头。- 输出放在
evals/out/(不进 git):里面有真实招标文件的内容。模型输出缓存在evals/out/cache/,同一模型 + 提示词版本 + 输入只调用一次,只改规则时重放不花钱。
S01–S10 标注集(v1,2026-11-03)
结果和分析见 docs/architecture/extract-eval.md。
gold/<ID>.json:标注集,规范见gold/GUIDELINES.md。用「页码 + 原文片段」定位,切句规则变了也能用。目前由 AI 标注、AI 复核(reviewed: false),还没有人工复核。prepare.py:样本转成规范化 PDF,导出带句子编号的全文out/docs/<ID>/sentences.txt(标注时看它)。旧版 DOC 先在转换容器里转 DOCX(产品流程还缺这一步,见 TODO)。gold.py check <ID>:检查标注能不能全部定位。run_all.sh <运行名>:10 份文件跑全部抽取,结果在out/runs/<运行名>/。score.py <运行名>:打分,输出out/score/<运行名>/summary.md(各类召回率、准确率、项目信息正确率)和每份文件的漏抽、多抽清单。
docker compose -f deploy/compose/compose.yaml up -d gotenberg
cd server
../.venv/bin/python ../evals/prepare.py # 一次即可
cd .. && evals/run_all.sh base && cd server
../.venv/bin/python ../evals/score.py base
改了规则或提示词之后,换一个运行名重跑、打分,和上一次的 summary.md 对比。目前的基线是 fix3(docs/architecture/extract-eval.md §7;分数怎么读、为什么不能当达标证据,见 extract-status.md §2);base 是修复前的那一轮,用的是旧切句(s3-v3),不能拿现在的标注集重新打分。正式清单里多出来、对不上标注的条目要逐条裁定(GUIDELINES §4)。