源文件:chapter6/public-health-reporting-eval/README.md 公共卫生上报 Agent 评测 一个小巧、可复现的第 6 章练习项目,用于在合成的 DHIS2 式汇总疟疾上报数据上对一个 Agent 进行评测。它演示了工具调用评测环境、可校验的预期答案、结构化打分、证据落地,以及对无依据声明的惩罚。 仅作教学案例。 本项目并非官方 DHIS2 实现,也未获 DHIS2、HISP、任何卫生部或任何疟疾项目的认可。它也不是监测、暴发预警、诊断或临床系统。所有记录均为合成的汇总数据,不包含任何患者级或个人身份信息。
源文件:chapter6/public-health-reporting-eval/README.md
一个小巧、可复现的第 6 章练习项目,用于在合成的 DHIS2 式汇总疟疾上报数据上对一个 Agent 进行评测。它演示了工具调用评测环境、可校验的预期答案、结构化打分、证据落地,以及对无依据声明的惩罚。
仅作教学案例。 本项目并非官方 DHIS2 实现,也未获 DHIS2、HISP、任何卫生部或任何疟疾项目的认可。它也不是监测、暴发预警、诊断或临床系统。所有记录均为合成的汇总数据,不包含任何患者级或个人身份信息。
五个确定性任务覆盖:
每个预测都是一条透明的 JSON 轨迹,包含所选工具、参数、结果、来源行证据以及各项声明。评测器对每个任务给出 6 分:
| 评分维度 | 分值 | 校验方式 |
|---|---|---|
| 工具选择 | 1 | 精确匹配工具名 |
| 参数 | 1 | 精确匹配结构化参数 |
| 答案 | 2 | 确定性数值,带数值容差 |
| 证据 | 1 | 精确匹配合成来源行 ID 集合 |
| 落地与安全 | 1 | 每条声明都在受支持声明白名单内 |
| 文件 | 用途 |
|---|---|
data/synthetic_reports.csv |
九份合成的月度汇总上报 |
tasks.json |
prompt 与确定性的工具计划 |
expected_answers.json |
可校验的答案、证据与受支持声明 |
reporting_tools.py |
五个可审计的上报工具 |
agent.py |
轻量级确定性参考 Agent |
evaluator.py |
客观的 6 分评分细则 |
demo.py |
用于参考预测或外部预测的 CLI |
test_offline.py |
离线回归与变异测试 |
演示仅使用 Python 标准库,无需任何 API key:
cd chapter6/public-health-reporting-eval python demo.py
预期摘要:
positivity-alpha-jan 6/6 completeness-district-jan 6/6 trend-alpha-jan-feb 6/6 quality-demo-feb 6/6 stockout-demo-feb 6/6 ------------------------------------ TOTAL 30/30
运行离线测试:
python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -r requirements.txt pytest -q
把它的结构化预测保存为与参考 Agent 相同结构的 JSON 数组,然后运行:
python demo.py --predictions my_predictions.json --output evaluation.json
这种边界划分把模型/框架的集成排除在基准之外。只要某个 Agent 能输出文档所规定的结构化轨迹,就可以被评测。