feat(evals): 导出风格 B 改写输入;改正规范里 S01、S05 的响应方式记录;空偏离表注明「无偏离」
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
33
evals/check/export_rewrite.py
Normal file
33
evals/check/export_rewrite.py
Normal file
@@ -0,0 +1,33 @@
|
||||
"""导出风格 B 改写的输入:从风格 A 的投标文件稿里取出要改写的表格行(evals/check/prompts/style-B.md)。
|
||||
|
||||
cd server && ../.venv/bin/python ../evals/check/export_rewrite.py <招标文件> [...]
|
||||
输出:evals/out/check/<招标文件>-B/rewrite-input.json(数组,字段 key、requirement、answer)。
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
import pathlib
|
||||
import sys
|
||||
|
||||
OUT = pathlib.Path(__file__).resolve().parents[1] / "out" / "check"
|
||||
|
||||
for tender in sys.argv[1:]:
|
||||
spec = json.loads((OUT / f"{tender}-A" / "spec.json").read_text())
|
||||
rows: dict[str, dict[str, str]] = {}
|
||||
for v in spec["volumes"]:
|
||||
for b in v["blocks"]:
|
||||
cols = b.get("columns") or []
|
||||
if b.get("type") != "table" or "requirement" not in cols or "answer" not in cols:
|
||||
continue
|
||||
for r in [*b["rows"], *(b.get("pool") or [])]:
|
||||
if r.get("key") and r["key"] not in rows:
|
||||
rows[r["key"]] = {
|
||||
"key": r["key"],
|
||||
"requirement": r["cells"][cols.index("requirement")],
|
||||
"answer": r["cells"][cols.index("answer")],
|
||||
}
|
||||
d = OUT / f"{tender}-B"
|
||||
d.mkdir(exist_ok=True)
|
||||
(d / "rewrite-input.json").write_text(json.dumps(list(rows.values()), ensure_ascii=False, indent=1))
|
||||
print(tender, len(rows))
|
||||
Reference in New Issue
Block a user