知识库检索基准测试
ENGRA-KB-v2 论文规模套件(550 文档 / 400 查询)与 ENGRA-KB-v1 冒烟套件:在相同语料与查询上对比 BM25、传统分块 RAG 与结构化 Atom 索引。
已公布测试结果
ENGRA-KB-v2(论文规模)回答「比 BM25 / 传统 RAG 强在哪」;嵌入模型对照展示 MiniLM / bge / E5 全量跑分;ENGRA-KB-v1 为快速冒烟;MTEB 为业界语料验证。
以下为已跑分并公布的测试结果,数据来自仓库 fixtures,站点自动读取最新 JSON。
ENGRA-KB-v2
ENGRA-KB-v2 参考成绩
在 550 篇企业知识文档、400 条查询上,对比 BM25、传统分块 RAG 与印格 Structured atom —— 论文规模套件(冒烟请用 v1)。
- 套件
- ENGRA-KB-v2
- 查询数
- 400
- 嵌入模型
- Xenova/all-MiniLM-L6-v2
- 运行时间
- 2026年6月1日 19:23
相对 BM25 的优势(Recall@5)
- Structured atom Recall@5 0.502 vs BM25 0.412 (+0.090))
- MRR 0.307 vs BM25 0.258;向量 RAG / Atom 语义查询 Recall@5 均达 0.360
- Atom 延迟 2.0 ms/q,低于 fixed-512 RAG(2.5 ms/q),并保留 Scope/Topic 元数据。
按查询类型(Task success @ contextK=5)
来自 agent-task-results.json:检索 Top-K 是否包含可抽取金标片段。更贴近下游 Agent 能否答出正确内容。
| 系统 | R@1 | R@3 | R@5 | R@10 | MRR | nDCG@1 | nDCG@3 | nDCG@5 | nDCG@10 | ms/q | 分块数 |
|---|---|---|---|---|---|---|---|---|---|---|---|
Structured atom 印格 Atom 模型:每文档一向量,嵌入源含 title / scope / topic 头信息。 Recall@5 最高 | 0.145 | 0.378 | 0.502 | 0.752 | 0.307 | 0.145 | 0.261 | 0.309 | 0.392 | 2.0 | 550 |
BM25 词法基线:关键词命中快,但 paraphrase 与中文查询明显弱于向量检索。 | 0.128 | 0.345 | 0.412 | 0.520 | 0.258 | 0.128 | 0.245 | 0.273 | 0.307 | 2.1 | 555 |
RAG sentence merge 按句合并分块:与 fixed-512 成绩相同,实现更细但未必更优。 | 0.092 | 0.235 | 0.362 | 0.545 | 0.204 | 0.092 | 0.161 | 0.210 | 0.268 | 2.2 | 557 |
RAG fixed-512 最常见 RAG 默认:512 字符整篇切分,LangChain / LlamaIndex 典型配置。 | 0.090 | 0.237 | 0.360 | 0.547 | 0.204 | 0.090 | 0.161 | 0.209 | 0.269 | 2.5 | 555 |
RAG 256+128 overlap PDF 管线常用:更小分块 + 重叠;短文档上反而略降 Recall@5。 | 0.077 | 0.195 | 0.295 | 0.542 | 0.183 | 0.077 | 0.137 | 0.176 | 0.254 | 2.8 | 1324 |
如何解读
- BM25 在 lexical 类查询上 Recall@5 约 86%,但 semantic / multilingual 类明显弱于向量方案。
- 传统 fixed-512 / sentence 分块 RAG 在 semantic 上约 22% Recall@5,短文档 + 结构化标题场景下未必优于 atom。
- Structured atom(Title + Scope + Topic 单向量)在 semantic(~68%)与 disambiguation(~89%)上显著优于 chunk-RAG,体现层级元数据的价值。
- 更小重叠分块(256+128)在本语料上 Recall@5 最低,说明分块策略需按文档长度调参。
运行 npm run benchmark:memory:v2 可在本地复现;冒烟套件 npm run benchmark:memory(v1)。JSON:scripts/memory-benchmarks/fixtures/engra-kb-v2/reference-results.json。
下载完整 JSON ↓更强嵌入对照
嵌入模型对照(ENGRA-KB-v2)
在相同语料与检索管线(BM25 / RAG fixed-512 / Structured atom)下,对比 MiniLM、bge-small-en-v1.5、multilingual-e5-small。默认 MiniLM 为产品内置;更强嵌入主要提升 Atom 与语义类查询。
- 查询子集
- 全量 (400)
- 查询数
- 400
- 文档数
- 550
- 运行时间
- 2026年6月2日 05:06
| 嵌入模型 | BM25 R@5 | RAG R@5 | Atom R@5 | Atom−RAG |
|---|---|---|---|---|
MiniLM-L6-v2 Xenova/all-MiniLM-L6-v2 | 0.412 | 0.355 | 0.505 | +15.0 pp |
bge-small-en-v1.5 Xenova/bge-small-en-v1.5 | 0.412 | 0.325 | 0.515 | +19.0 pp |
multilingual-e5-small Xenova/multilingual-e5-small Atom 最高 | 0.412 | 0.367 | 0.552 | +18.5 pp |
宏观 Recall@5(全查询类型平均)。细分系统对照见上方 ENGRA-KB-v2(默认 MiniLM)。
如何解读
- BM25 不依赖嵌入,三列 R@5 相同(约 41.3%)。
- 换用 bge / E5 后,Atom 宏观 Recall@5 从 50.5%(MiniLM)升至 55.3%(E5);RAG 分块提升有限甚至略降,说明优势来自结构化单向量而非单纯换模型。
- E5 + Atom 在 semantic 类查询上 Recall@5 约 77%(全量跑分日志),显著高于 BM25(约 14%)与传统 RAG(约 19%)。
- 复现:npm run benchmark:memory:embedder-sweep -- --subset full
npm run benchmark:memory:embedder-sweep
下载完整 JSON ↓验证 Agent Memory 默认嵌入(all-MiniLM-L6-v2)能否复现 MTEB 官方 Leaderboard 分数。差值接近 0 表示对齐成功。
MTEB 嵌入基线
业界对齐 · 非产品优势对比MTEB 嵌入基线验证
下方「嵌入基线」表对比本地跑分与官方 Leaderboard;「管线对照」在同一 MTEB 语料上比较 BM25、RAG 分块与 Structured atom。
MTEB 语料 · 管线对照(ndcg@10)
在同一 MTEB 测试集上运行 BM25、RAG fixed-512 与 Structured atom(与 ENGRA-KB-v1 相同策略,默认嵌入 all-MiniLM-L6-v2)。
| 任务 | BM25 | RAG 512 | Atom |
|---|---|---|---|
| 金融 QA 检索 | 0.200 | 0.357 | 0.350 |
| 营养 / 生物医学 | 0.268 | 0.278 | 0.307 |
| 科学事实检索 | 0.594 | 0.642 | 0.647 |
| 三任务平均 ndcg@10 | 0.354 | 0.426 | 0.435 |
嵌入基线(对照 Leaderboard)
- MTEB 模型
- sentence-transformers/all-MiniLM-L6-v2
- 印格本地等价
- Xenova/all-MiniLM-L6-v2
- 任务数
- 3
- 数据更新时间
- 2026年5月31日 21:13
- mean ndcg@10
- 0.443
| 任务 | 本地 ndcg@10 | Leaderboard ndcg@10 | 差值 | map@10 | mrr@10 | recall@10 |
|---|---|---|---|---|---|---|
SciFact 科学事实检索 | 0.645 | 0.645 | 0.0000 | 0.596 | 0.605 | 0.783 |
NFCorpus 营养 / 生物医学 | 0.316 | 0.316 | -0.0001 | 0.110 | 0.505 | 0.155 |
FiQA2018 金融 QA 检索 | 0.369 | 0.369 | 0.0000 | 0.291 | 0.445 | 0.441 |
如何解读
- 嵌入基线:差值 ≈ 0 表示默认嵌入与 MTEB 官方结果对齐成功。
- 管线对照:展示分块/索引策略差异;数值为文档级二元相关 ndcg@10,与官方嵌入榜的计分方式略有不同,宜看相对排序。
- Dense 方案(RAG / Atom)在 SciFact、FiQA 等语义检索任务上通常高于 BM25;Atom 在 passage 级语料上接近或优于固定分块 RAG。
嵌入基线:npm run benchmark:mteb · 管线对照:npm run benchmark:mteb:pipeline