Record phase two acceptance evidence and synchronize delivery status

This commit is contained in:
2026-09-07 02:55:19 +08:00
parent 89df10bc4e
commit e667dd55dd
24 changed files with 13892 additions and 45 deletions
+10 -3
View File
@@ -1,6 +1,6 @@
# Benchmark 开发说明
> 所属模块:Knowledge / Retrieval Core(后端,负责人 yxx)。RAG Benchmark 已交付;Agent Benchmark 暂缓,待 Agent Runtime 完成后在同一契约下补齐
> 所属模块:Knowledge / Retrieval Core(后端,负责人 yxx)。RAG 与标准Agent Benchmark均已实现,前端入口`/benchmarks`。真实验收结果与范围见[第二阶段收尾记录](第二阶段收尾实现与验收-2026-09-07.md)
## 定位
@@ -18,7 +18,7 @@ Benchmark Service 用受控 Dataset 对检索引擎做可复现评测:创建
| POST | `/api/benchmarks/runs/{run_id}/cancel` | 取消运行 |
| GET | `/api/benchmarks/runs/{run_id}/report` | 结构化完整报告 |
Agent Benchmark`/api/benchmarks/agent/runs` 未暴露(暂缓),不在 OpenAPI 注册占位接口
Agent Benchmark`POST /api/benchmarks/agent/runs`已实现并注册OpenAPI,使用正式Agent Runtime与Trace;请求/Case见[契约§9](../contracts/第二阶段接口契约-开发版.md)。默认只接受真实Provider,显式offline才允许mock,不自动批准工具权限
## Dataset
@@ -30,7 +30,7 @@ RAG Case 结构:`case_id`、`query`、`expected_note_ids`、`expected_block_id
`queued → running → completed | failed | cancelled`
- 创建时校验索引兼容性:索引非空、Embedding model/dim 与当前引擎一致、vector/hybrid 时向量索引非空;不满足返回 `BENCHMARK_INDEX_INCOMPATIBLE`(409),避免把环境/索引错误误判为检索质量差。
- RAG创建时校验索引兼容性:索引非空、Embedding model/dim 与当前引擎一致、vector/hybrid 时向量索引非空;不满足返回 `BENCHMARK_INDEX_INCOMPATIBLE`(409),避免把环境/索引错误误判为检索质量差。
- 内存注册表上限 `MAX_RUNS=100`,超限只淘汰终态 run;满容量且全为活动 run 时返回 `BENCHMARK_CAPACITY_EXCEEDED`429)。
- 失败/取消只向公开响应暴露项目错误码与安全消息,详细异常进入日志,不通过 HTTP/SSE 返回。
@@ -76,3 +76,10 @@ uv run pytest -q
```
`tests/test_benchmark.py` 覆盖数据集注册与校验、指标纯函数、端到端运行、取消、索引兼容、容量与失败样本聚合;`tests/test_retrieval.py` 覆盖 FTS 阈值与分页 total 一致性。
## 2026-09-07 数据与复现补充
`agent-core-v1.json`为四例标准任务;`rag-phase2-v1.json`对应独立测试语料,不对应任意用户Vault,运行前必须用`phase2-quality.py`准备语料及真实索引。语料源、配置、逐例结果和冷暖缓存说明见收尾验收记录。UI支持RAG/Agent切换、Provider/模型、融合/TopK/RRF/rerank配置、取消、报告JSON与Trace入口。
Agent成功判定包含终态完成、预期工具及声明参数一一匹配、无额外调用、工具结果成功、输出子串、引用和任务数量;并非由另一个LLM主观打分。失败/取消报告保留total_cases与evaluated_cases,不能当成完成的质量测量。报告注册表最多100条且不跨进程恢复,重要结果须下载保存;持久Agent Trace独立保留。工具选择/参数准确率和无效调用率在无分母时返回null。