feat(evals): 查标评测集生成器、注入、评分和只检索基线

- build.py:从「招标文件档案」和读标清单生成规矩投标文件稿;技术参数按 op / value / unit 算满足的值,
  分项报价按分项上限比例分摊,落款日期取截止日前 3 天,偏离表按格式表头决定列(含设备名称列),
  读标漏抽的技术参数也补上响应;routes 支持「+」组合和 prose 散文响应。
- mutate.py:按词库注入要求项问题(单点 / 连续块,带不带标志词)和规则问题,写响应清单;
  符合性条件响应表的问题按表级记一个。
- score.py:按单元去重、类型族比对、读标漏抽单列、端到端召回、无法对照单列。
- run_check.py:加只检索不调模型的基线;render.py:扫描件按最后一次出现定位。
- vocab-dev.json:开发集注入词库(留出集的另行封存,不进 git)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
YANG JIANKUAN
2026-11-04 12:18:48 +08:00
parent 01ddc86281
commit a07663cbdb
6 changed files with 1070 additions and 7 deletions

View File

@@ -0,0 +1,21 @@
{
"_comment": "开发集用的注入词库(GUIDELINES §3.4)。留出集用另一份,由另一个会话写好封存在 evals/out/check/_sealed/vocab-holdout.json,开发时不打开。check.match 提示词的例子不能和这里的短语相同。",
"D05": {"phrases": ["暂不支持{param}", "{param}需二次开发后支持", "{param}为可选配置"]},
"D06": {"deviations": ["负偏离", "部分满足", "偏离"]},
"D08": {"phrases": ["满足", "完全响应", "符合要求"]},
"D09": {"templates": ["{other}"]},
"D10": {"cells": ["未完全响应", "部分响应", ""]},
"P04": {"variants": ["drop_digit", "extra_shi", "decimal_shift"]},
"P06": {
"foreign_projects": [
{"name": "宿迁市人民医院智慧病房建设项目", "code": "JSZC-321300-HDZB-G2025-0318", "purchaser": "宿迁市人民医院"},
{"name": "盐城市大数据中心容灾备份系统采购项目", "code": "JSZC-320900-YCZB-G2025-0742", "purchaser": "盐城市大数据管理局"},
{"name": "泰州市第二中学智慧校园二期项目", "code": "JSZC-321200-TZJY-G2025-0096", "purchaser": "泰州市第二中学"}
]
},
"P07": {"blanks": ["__________", "年 月 日", "( )"]},
"P08": {"dates": ["2026年12月28日", "2027年11月20日", "2026年13月02日"]},
"P09": {"days": [60, 30, 45]},
"P10": {"phrases": ["本报价不含税,税费另行计算。", "付款方式双方另行协商。", "最终数量以实际到货为准。"]},
"P12": {"phrases": ["备选方案报价:{alt}元", "优惠报价:{alt}元", "方案二总价:{alt}元"]}
}