Files
bid-doctor/evals/README.md
YANG JIANKUAN 4ed945c1de docs(evals): 查标评测集规范 v0.2、留出集划分;渲染和离线查标脚本;新增待定事项 C12
- evals/check/GUIDELINES.md:请 Fable 审查 v0.1 后修改。响应方式按「文件 × 类别」记(逐条 / 默认接受 /
  证明材料(投标时、中标后)/ 文件要在 / 平台内应答),10 份招标文件逐份核对;规矩投标文件靠构造保证
  (表格脚本生成,LLM 只写散文和改写),对全部要求响应,问题只挂人工复核过的标注单元;注入分单点 /
  连续块 / 全局三种粒度、带不带标志词、两档密度;留出集注入词库和 C 风格说明开工时封存;评分补只检索
  基线、按单元去重、端到端召回。
- evals/check/split.json:开发集 S01 S02 S04 S05 S07 S08 S10,留出集 S03 S06 S09 + 真实国动投标文件。
- evals/check/render.py、run_check.py。
- m3-plan.md:新增待定事项 C12(每条要求怎么才算「响应了」)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 12:02:40 +08:00

33 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 评测
- `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`(各类召回率、准确率、项目信息正确率)和每份文件的漏抽、多抽清单。
```bash
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)。
## 查标评测集(2026-11-04 起)
规范见 `check/GUIDELINES.md`,留出集划分 `check/split.json`(开工前选定,不改)。
- `check/render.py <投标文件>`:把投标文件稿 `out/check/<投标文件>/spec.json` 渲染成 PDF,扫描件页换成图片,回填响应清单里的位置。
- `check/run_check.py <投标文件>`:拿读标评测的清单离线跑查标的响应匹配,模型输出缓存在 `out/cache/`。
- 生成器 `build.py`、注入 `mutate.py`、评分 `score.py` 待写。投标文件稿、PDF、响应清单都在 `out/check/`(不进 git);留出集专用的注入词库和 C 风格写作说明封存在 `out/check/_sealed/`。