SAG2

更轻、更快、更准的检索架构。

SAG2 论文首页:Embedding-Free Multi-Hop Retrieval with BM25 and JEV
arXiv:2610.22588

直接用原文建库,按问题查找资料

沿用 SAG 关联多份资料的思路,SAG2 直接给原文建立关键词索引,省去建库时的大模型处理和向量计算。提问后,再查找、判断、补充所需资料,让知识库更容易部署,也更快完成准备。

更轻:一个数据库文件
原文和索引存进一个 SQLite 文件,无需额外部署数据库服务,也不用维护向量库。
更快:建库无需模型
直接给原文建立关键词索引。论文实验中,11,656 段资料建库用时 2.36 秒,无需调用大模型或向量模型。
更准:关联多份原文
根据已找到的内容继续查找,把回答复杂问题需要的资料找得更全。下方提供三个公开测试集的对比结果。
86.62%前十条结果找回的必要资料MuSiQue · Recall@10
81.10%前十条结果找回的必要文档511,962 份文档 · Recall@10
2.36 s11,656 段资料建库用时MuSiQue · 建库不调用模型

数据来自论文评测,测试集、指标和实验条件见下方说明。

01 / HOW IT WORKS

从段落里选出关键词,再查一轮

SAG2 直接索引原文。提问时先按关键词查找,再用 JEV 判断哪些段落有用,从有用段落中选出新关键词,继续查找遗漏的资料。

关键词检索与判断循环1 / 5
Nora 产品的保修期限是多久?
提前准备

原文 + 关键词索引 → 一个 SQLite 文件

建库只处理原文词项,不调用模型
BM25JEV选词
新关键词返回 BM25,继续查找
等待提问Nora来自原始问题
段落 A · 产品售后待判断

Nora 产品售后适用 R-17 规则。

段落 B · 外观介绍待判断

Nora 的包装提供两种配色。

关联段落尚未查找
JEV 的判断依据

原始问题 + 已选段落 A → 参与下一轮证据判断

找齐原文依据:Nora → R-17 → 保修两年

只给原文建关键词索引

将原文和词项位置存进 SQLite。建库时不调用模型,直接准备可用的全文索引。

示例内容为虚构,用于说明检索过程。点击步骤可逐步查看,自动播放一轮后停止。

VIDEO / SAG2

SAG2 技术讲解

了解无需向量模型的建库方式,以及 BM25、JEV 和多轮查找如何配合。

在 GitHub 查看视频与资料
点击播放 · 可全屏观看

02 / BENCHMARKS

三个公开测试集,找回更多必要资料

前五条搜索结果找回了多少必要资料,就是 Recall@5;看前十条,就是 Recall@10。找回得越全,Agent 回答问题时缺少的依据就越少。

MuSiQueRecall@10 · 越高越好

比 SAG 高 3.25 个百分点

SAG2
86.62%
SAG
83.37%
NV-Embed-v2
77.27%
GritLM-7B
75.19%
HippoRAG 2
73.76%
GTE-Qwen2-7B
70.80%
BGE-Large-EN-v1.5
64.08%
BM25
54.41%
Contriever
53.58%

三个测试集各 1,000 道固定开发集问题,MuSiQue 也用于方法开发。对比值按 SAG2 论文展示。SAG 与 SAG2 使用的模型和实现不同,这里比较的是各自完整系统的结果。

完整评测数据Recall@10
SAG2 论文 · Recall@10(%)
方法MuSiQue2WikiMultiHopQAHotpotQA
BM2554.4171.5086.90
Contriever53.5865.2082.75
BGE-Large-EN-v1.564.0873.7593.35
GTE-Qwen2-7B70.8078.6393.55
GritLM-7B75.1979.4097.20
NV-Embed-v277.2780.7597.70
HippoRAG 273.7693.4097.15
SAG83.3793.5797.70
SAG286.6297.4399.00
数据来源:原论文 Table 1

03 / ABLATION STUDY

哪些设计让资料找得更全

使用相同的 1,000 道 MuSiQue 问题,分别减少查找轮数、不参考已找到的资料,观察效果变化。

MuSiQue · Recall@10

完整 SAG2 · 继续查两轮86.62%
只继续查一轮83.36%
判断时不参考已有资料76.25%
BM25 + JEV · 不继续查找67.93%
+15.43 个百分点

多查一轮,就能找回更多资料

只做初次检索时,Recall@10 为 67.93%;继续查一轮后达到 83.36%,两轮后达到 86.62%。

+10.37 个百分点

已有资料帮助判断新内容

判断新段落时,如果不参考前面已找到的内容,Recall@10 会从 86.62% 降至 76.25%。

实验来源:论文 Figure 4 与 §5.3

04 / SCALE & PREPARATION

更快建库,也能检索五十万份文档

建库时直接给原文建立关键词索引,不调用大模型或向量模型。下面分别展示建库开销,以及五十多万份文档上的检索结果。

01 / 建库开销

MuSiQue 建库实测

2.36s

完成 11,656 段原文的关键词索引

原文段落
11,656
数据库文件
25.87 MiB
建库模型调用
0

用时来自论文实验,实际速度会随设备和资料变化。

02 / 检索规模

EnterpriseRAG-Bench

81.10%

前十条结果找回的必要文档 · Recall@10

BM25 68.40%Vector 46.00%

511,962 份文档模拟企业邮件、消息和会议记录等场景,470 道问题标注了需要找回的文档。对比值来自数据集论文,计算预算不同;这里比较找回了多少资料,不衡量生成答案的质量。

数据来源:论文 Tables 2–3

05 / DEPLOYMENT

部署与使用

复现实验与配置

本地部署

原文与关键词索引保存在一个 SQLite 文件中,建库无需调用大模型或向量模型。

检索与回答

语义检索时调用 JEV 判断资料,再用相关段落继续查找。生成回答可接入自己的模型。

使用前验证

论文使用固定测试集。实际资料上的检索效果和在线速度,需要在自己的环境中验证。

06 / 对应产品

SAG Wiki

基于 SAG2 的本地知识库。选择文件夹后,可检索支持的文档、笔记和代码;问答结果带有引用,可以回到原文核对。

  1. 选择资料文件夹

    加入支持的文档、笔记与代码

    01
  2. 搜索或提问

    通过 SAG2 查找需要的资料

    02
  3. 核对引用

    从回答返回对应的原文段落

    03