news 2026/10/30 2:29:27

SAG2: Embedding-Free Multi-Hop Retrieval with BM25 and JEV——基于 BM25 和 JEV 的无嵌入多跳检索

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SAG2: Embedding-Free Multi-Hop Retrieval with BM25 and JEV——基于 BM25 和 JEV 的无嵌入多跳检索

一、研究背景与问题

多跳检索(multi-hop retrieval)需要从多个段落中逐步发现证据之间的关联:某个段落可能直接匹配问题,但另一个段落只有在已知前一个事实后才变得有用。现有系统通常把这项工作分摊到“语料库准备”和“查询执行”两个阶段:

  • 稠密检索需要预计算段落嵌入;

  • 结构增强方法(如 SAG)需要提取事件-实体记录、构建关联,并结合稠密检索与 LLM 选择;

  • 这些方法虽然有效,但需要离线嵌入计算、LLM 实体抽取、专用数据库服务器等昂贵准备。

文章提出的核心问题是:能否只用单一词法数据库,并在查询时进行语义证据选择,仍然保持强大的多跳检索准确率?

二、提出的方法:SAG2

SAG2 是一种无嵌入(embedding-free)的多跳检索架构,核心组成是:

  • 一个 SQLite FTS5 数据库:存储原始段落和词法出现(标题、标题层级、正文),BM25 字段权重为 (2,2,1);

  • BM25:负责初始候选生成与扩展候选的词法匹配;

  • JEV(Noul 接口):在查询时对候选段落做上下文证据判断,返回“该候选是否为完全支持答案链中的必要证据”的 yes 概率,作为排序分数。

核心检索流程

  1. 初始候选:BM25 取问题词法匹配的前 100 个段落;

  2. 上下文证据评分:JEV 在共享检索上下文 Er​ 下对候选打分 sr(d)=J(q,d;Er​);初始轮上下文为空;

  3. 选择扩展种子:取最多 10 个排名最高且未扩展过的段落;

  4. 词项选择:从种子正文中抽取词项,权重综合局部词频、语料稀有度、句子与原始问题的词元重叠、种子证据分数,选前 20 个词项;

  5. 词法扩展:对每个词项检索未见过段落,按词项优先级交错、去重,收集最多 100 个新候选;

  6. 最多两轮扩展:第三轮评分时重新评估先前判断,最多接纳 20 个新候选,并保留已评分候选;

  7. 最终排序:按 JEV 分数排序后做本地多样性重排序,输出前十段落。

与 SAG 的关系

SAG2 继承 SAG 的“查询时关联”原则,但用原始段落的词法出现替代 SAG 的事件-实体索引和稠密索引,用JEV 上下文判断替代 LLM 选择与嵌入计算,从而消除离线嵌入、LLM 实体抽取和专用数据库服务器。

三、实验设置

  • 基准:MuSiQue、2WikiMultiHopQA、HotpotQA 各 1,000 题子集;EnterpriseRAG-Bench 全部 511,962 篇文档(470 个有文档标签的问题)。

  • 指标:Recall@k(R@k)与 AllEvidence@k(AE@k),均为检索指标,不涉及答案生成。

  • 基线:BM25、Contriever、BGE-Large-EN-v1.5、GTE-Qwen2-7B、GritLM-7B、NV-Embed-v2、HippoRAG 2、SAG。

  • 消融:扩展轮数、匹配判断预算的一次性 BM25+JEV、移除共享评分上下文,以及 RM3、GAR-BM25、仅最终 JEV 等替代方案。

  • 统计:MuSiQue 比较使用 2,000 次问题重采样的配对 95% 自助区间(种子 20261015)。

四、主要结果

1. 三个多跳基准

SAG2 在三个基准上均取得最高的 R@5 和 R@10:

数据集SAG2 R@10相比 SAG
MuSiQue86.62%+3.25 个百分点
2WikiMultiHopQA97.43%+3.86 个百分点
HotpotQA99.00%+1.30 个百分点

相对 BM25,R@10 分别提升 32.21、25.93、12.10 个百分点;MuSiQue 上完整证据覆盖率从 17.40% 提升到 69.50%。SAG 在 MuSiQue 的 R@1、R@2 上仍更高,说明 SAG2 的优势主要体现在多段落可用时的召回。

2. EnterpriseRAG-Bench

SAG2 达到81.10% 文档 Recall@10,高于已发布 BM25(68.4%)、向量基线(46.0%)和 Bash Agent(55.8%)。项目相关问题 83.58%,完整性问题 76.24%,语义问题较难(58.40%)。

3. 关键消融

  • 扩展深度:第一次扩展把 MuSiQue R@10 从 67.93% 提到 83.36%(+15.43,区间 [14.09,16.81]);第二次到 86.62%(+3.26)。最终输出在 389 个问题上恢复了初始前 100 之外的支持段落。

  • 判断预算:在判断数近似匹配(331,325 vs 329,194)下,SAG2 的 86.62% 远高于一次性 BM25+JEV 池的 69.82%(+16.80),说明扩大一次性候选池不能替代上下文扩展。

  • 评分上下文:移除共享证据后 R@10 从 86.62% 降到 76.25%(−10.37),AE@10 从 69.50% 降到 52.20%,表明上下文对证据选择和后续扩展都有贡献。

  • 替代方案:纯 RM3 低于 BM25;RM3+最终 JEV 与 BM25+JEV 无显著差异;GAR-BM25+最终 JEV 为 73.11% R@10,比 SAG2 少用约 69.82% 判断但低 13.51 个百分点;仅最终 JEV 的段落到词项扩展仅 61.34%。

4. 成本

  • MuSiQue 全语料 11,656 篇段落索引仅2.36 秒,SQLite 文件25.87 MiB,零离线模型调用;

  • 前 100 个查询模型费用$0.433769**,1,000 个查询 **$4.326379;

  • 完整 SAG2 使用 331,325 次段落判断、3,000 次评分请求;

  • 对比:GAR-BM25 构图需 314.74 秒;原 SAG 报告 MuSiQue 索引需 4.57 小时、2826 万词元(硬件与模型不同,非受控加速比较)。

五、讨论与局限

  • 实际部署优势:本地只需维护一个 SQLite 索引,无需向量数据库、独立关系数据库服务器或本地模型推理,适合能访问托管决策服务的应用。

  • 对 JEV 服务的依赖:所评估的 JEV 版本架构、参数与权重未公开,只能通过托管 API 访问;系统无法完全本地部署,问题与候选文本需发送至该服务,限制了禁止外部处理的场景。可本地部署的决策模型是重要方向。

  • 证据范围:实验确立的是完整 SQLite-BM25-JEV 系统的性能及扩展、共享上下文的贡献,并未隔离每个词项权重因子,也未证明 JEV 优于其他决策模型;SAG 比较使用不同模型与实现。

  • 泛化性:使用固定开发子集,MuSiQue 也参与方法开发;对未使用分割、私有语料和下游答案生成的泛化仍待评估;EnterpriseRAG-Bench 语料为合成数据。

  • 词法访问的固有局限:可能错过改写、别名以及缺乏有用词项连接的证据;四跳问题完整证据覆盖率仅 28.31%,是重要剩余挑战。

  • 未来方向:可结合 SAG 的 LLM 实体抽取与本体丰富预处理,补充实体、别名、语义类型和关系连接,但会增加预处理成本与抽取错误。

六、主要贡献

  1. 提出一种无嵌入多跳检索架构,本地基础设施仅为单一 SQLite 数据库,消除离线模型推理和专用数据库服务器;

  2. 设计段落到词项再到段落的检索流程,由上下文证据分数引导扩展,新检索段落影响后续决策;

  3. 在三个多跳基准和完整 EnterpriseRAG-Bench 语料上展示强检索准确率,并量化扩展、上下文的贡献以及索引时间、存储和模型成本。

SAG2 用“SQLite FTS5 + BM25 + JEV 上下文判断”替代“稠密嵌入 + 事件-实体抽取 + 专用数据库”,在查询时通过段落到词项再到段落的在线扩展实现多跳证据检索,以极低的准备成本(2.36 秒、25.87 MiB、零离线模型调用)在多个多跳基准上取得领先的 Recall@5/Recall@10,其主要代价是依赖托管 JEV 服务。这里是自己的论文阅读记录,感兴趣的话可以参考一下,如果需要阅读原文的话可以看这里,如下所示:

项目地址在这里,如下所示:

摘要

强大的多跳检索应当能够在无需昂贵的语料库准备或复杂数据库基础设施的情况下实际部署。我们提出 SAG2,一种无嵌入的检索架构,围绕单一 SQLite 数据库、BM25 以及来自 JEV 的上下文证据决策构建。SAG2 遵循 SAG(SQL 检索增强生成)的查询时关联原则,同时用对原始段落的词法索引替换了其事件-实体索引和稠密索引。被选中的段落为进一步检索提供词项,新检索到的证据引导后续决策。这将语义证据选择转移到查询时,消除了离线嵌入计算、基于 LLM 的事件-实体提取以及专用数据库服务器。由此得到的系统将轻量级准备与强大的检索准确率相结合:在 MuSiQue、2WikiMultiHopQA 和 HotpotQA 的 1,000 题子集上,SAG2 在所比较的方法中取得了最高的 Recall@5 和 Recall@10,Recall@10 分别为 86.62%、97.43% 和 99.00%。在包含 511,962 篇文档的 EnterpriseRAG-Bench 语料库上,它也达到了 81.10% 的文档 Recall@10。索引全部 11,656 篇 MuSiQue 段落仅需 2.36 秒,生成 25.87 MiB 的数据库,且无需任何模型调用。SAG2 表明,准确的多跳证据检索可以由紧凑、快速准备的基础设施支撑,使其成为知识检索应用的实用基础。¹

1 引言

有用的知识检索既需要准确的证据,也需要易于准备和运营的基础设施。组织知识分布在文档、消息和其他文本来源中,而单个问题可能需要来自多个段落的事实。一个提及某人出生地的段落可以直接匹配问题,而一个标识该地点所在县的段落只有在出生地已知后才变得有用。独立的相似度排序可能错过这种中间联系。因此,多跳检索必须在证据积累的过程中发现段落之间的关联(Trivedi et al., 2022)。实际挑战在于,如何在不给每个集合施加昂贵准备流程的情况下恢复这些联系。

现有系统将这项工作分配在语料库准备和查询执行之间。稠密检索预计算段落表示以支持语义匹配(Karpukhin et al., 2020)。结构增强方法还会提取事实或构建文档之间的连接。SAG(SQL 检索增强生成)存储事件-实体记录,在查询时通过共享实体激活关联,并将这种结构路径与稠密检索和 LLM 选择相结合(Wu et al., 2026)。该设计保留原始段落作为证据,避免了全局知识图谱,但仍需要在检索前进行语义提取和嵌入计算。

专门的决策模型使不同的工作分配成为可能。JEV 接受自然语言上下文,并通过其 Noul 接口为每个决策返回一个“是”的概率(Almeida, 2026; TypeSafe AI, 2026)。它直接评估候选证据,不生成中间推理文本。词法索引随后可以提供廉价的候选访问,而上下文模型决策决定哪些段落应引导进一步检索。这引出了我们的核心问题:多跳检索能否在仅使用单一词法数据库并在查询时进行语义证据选择的情况下保持强大的准确率?

  1. SAG2 采用不同的索引表示和检索流程:它存储原始段落和词法出现,然后通过段落到词项再到段落的扩展在线形成关联。BM25 检索初始候选;JEV 选择有用的证据;被选中的段落为进一步检索提供词项。后续决策同时考虑原始问题和已检索的上下文。因此,SAG2 继承了 SAG 的关联原则,同时移除了其事件-实体提取和稠密检索组件。所有返回的证据均为原始文本。

词法反馈和神经重排序为该设计提供了重要基础。相关模型从初始结果扩展查询(Lavrenko and Croft, 2001);BERT-QE 使用神经判断来选择反馈文本(Zheng et al., 2020);GAR 通过预计算的文档图发现候选(MacAvaney et al., 2022)。SAG2 将在线词法关联与共享证据状态相结合:上下文分数选择扩展段落并为其词项加权,而新段落更新上下文以用于后续决策。这种交互使得证据即使与原始问题的直接匹配较弱,也能通过中间联系变得相关。

本地检索基础设施由一个 SQLite 数据库组成;语义决策使用托管的 JEV 端点。语料库准备仅需本地文本处理和索引构建,无需向量数据库、单独的数据库服务器或离线模型推理。在 MuSiQue 上,完整索引在 2.36 秒内准备就绪,占用 25.87 MiB。这种简洁性并不要求较弱的基准检索:SAG2 在所有三个多跳基准上均取得了所比较系统中最高的 R@5 和 R@10,并在 EnterpriseRAG-Bench 上达到 81.10% 的文档 R@10。受控的 MuSiQue 比较进一步表明,上下文扩展比扩大一次性候选池能恢复更多证据。总之,这些结果使 SAG2 成为一种易于部署的检索架构,具有低准备成本和强大的证据恢复能力。

我们的贡献有三方面:

  1. 我们引入了一种无嵌入的多跳检索架构,其本地基础设施为单一 SQLite 数据库,消除了离线模型推理和专用数据库服务器。

  2. 我们指定了一种段落到词项再到段落的检索流程,其中上下文证据分数引导扩展,新检索到的段落为后续决策提供信息。

  3. 我们在三个多跳基准和完整的 EnterpriseRAG-Bench 语料库上展示了强大的检索准确率,并量化了扩展和上下文的贡献,以及索引时间、存储和模型成本。

2 相关工作

候选生成与重排序。BM25 从倒排索引中获取词法候选(Robertson and Zaragoza, 2009),而稠密检索使用学习到的表示进行语义匹配(Karpukhin et al., 2020)。神经重排序对检索到的候选进行更精细的相关性决策(Nogueira and Cho, 2019)。其可达到的召回率受限于候选池。SAG2 使用证据判断来选择扩展段落,从而改变后续轮次可用的候选。

反馈与自适应检索。相关模型从检索到的文档中推导查询词项(Lavrenko and Croft, 2001)。BERT-QE 使用神经判断来选择反馈文本以进行上下文化重排序(Zheng et al., 2020)。GAR 通过预计算的语料库图扩展重排序池,表明排序和候选发现可以相互作用(MacAvaney et al., 2022)。SAG2 共享这一自适应原则。其具体设计通过在线词项选择和词法匹配获取新段落,并在共享的检索上下文中评估候选。我们的实验使用了明确的 RM3 和 GAR-BM25 适配版本,其配置在附录 B 中描述。

结构化与多步检索。SAG 索引事件和实体,激活共享实体关联,并将其与稠密检索和 LLM 选择相结合(Wu et al., 2026)。IRCoT 将生成的推理与检索交错进行(Trivedi et al., 2023)。SAG2 采用不同的持久化表示和在线流程:段落和词法统计构成索引;原始段落证据决策引导每次扩展。它既不需要生成的中间检索文本,也不需要预计算的文档邻居图。其与 SAG 的关系是架构性的:两者都激活查询特定的段落关联,而 SAG2 使用词法出现进行候选访问,并使用上下文 JEV 分数来控制扩展。

3 SAG2

SAG2 通过不同的架构实现 SAG 的查询时关联原则。SAG 使用提取的实体作为事件记录之间的连接键。SAG2 通过词法索引中的词元和短语出现连接原始段落,并使用 JEV 判断它们对当前证据链的贡献。这些词法单元无需实体类型标注或消歧。该架构将本地词法索引与查询时证据检索分离(图 2)。索引将文本和词项出现存储在 SQLite 中;检索交替进行候选访问、上下文证据选择和词项扩展。关联针对当前问题计算,因此摄取既不需要语义提取,也不需要段落邻居图。

3.1 段落表示与词法索引

设 D 表示被索引的文本单元,q 表示问题。每个索引单元存储其来源标识、标题、正文文本以及到原始基准段落的映射。文本在插入 SQLite FTS5 之前进行规范化和分词。实现使用 Jieba,并对连接的拉丁词元进行额外处理,同时移除固定的停用词集。一条轻量级的大写规则为扩展提供多词名称短语。这些短语是词法单元,不进行实体类型标注或消歧。

索引包含标题、标题层级和正文字段,BM25 字段权重为 (2, 2, 1);基准中的标题层级字段为空。同一数据库存储原始文本,并提供正文级别的文档频率用于扩展。摄取包括文本处理和索引写入,不进行嵌入计算或基于模型的提取。语料库标题别名和词元文档频率在本地推导。它们支持词法名称修复和最终排序;两者均不需要模型调用。

相邻段落按名义 2,200 字符阈值分组;单个超大段落保持完整。评估按原始基准段落标识对检索单元去重。在 MuSiQue 成本运行中,11,656 篇语料库段落对应 11,656 个索引单元。

图 1:检索架构。稠密检索准备段落嵌入。SAG 存储事件-实体记录和稠密表示,并在检索期间激活共享实体关联。SAG2 将词法出现存储在 SQLite 中,并通过 BM25 和 JEV 在线构建关联。实线箭头表示检索或扩展;虚线箭头将问题和检索到的上下文提供给 JEV。

图 2:SAG2 索引和检索工作流程。本地处理构建一个 SQLite FTS5 索引。在线时,BM25 候选和保留段落形成评分池,而原始问题和共享证据条件化 JEV。选中的、未扩展的段落为进一步检索提供词项。初始评分使用空上下文;如果达到第三轮评分,则使用前十个段落及其暂定分数,并最多接纳二十个新候选。允许最多两次扩展,当没有可用扩展时提前停止。本地多样性排序保留第一个结果和前十个集合,无需另一次模型调用。

3.2 初始候选与上下文证据决策

3.3 扩展种子与词项选择

3.5 最终排序与检索证据

在最后一轮评分之后,SAG2 按 JEV 分数对池进行排序,并应用本地多样性排序以产生最终的前十个段落。多样性排序使用案例折叠的字母数字词元和源文档频率,对稀疏 TF-IDF 向量进行规范化,并将它们的成对余弦相似度乘以两个 JEV 分数。贪心行列式选择对现有前十进行重排序;平局和数值上为零的剩余增益保持先前顺序。该步骤在本地执行,无需另一次模型调用。

4 实验设置

4.1 基准与指标

我们在三个多跳问答基准上评估检索:MuSiQue(Trivedi et al., 2022)、2WikiMultiHopQA(Ho et al., 2020)和 HotpotQA(Yang et al., 2018)。每个基准使用 1,000 个问题的评估子集。我们报告 Recall@k(R@k)和 AllEvidence@k(AE@k)。R@k 定义为

4.2 基线消融

主要比较包括 BM25、Contriever、BGE-Large-EN-v1.5、GTE-Qwen2-7B、GritLM-7B、NV-Embed-v2、HippoRAG 2 和 SAG。稠密和结构增强系统的结果取自 Wu et al. (2026)。SAG 使用 BGE-Large-EN-v1.5 和 Qwen3.6-Flash,事件-实体记录存储在 MySQL 中,稠密表示存储在 Elasticsearch 中。SAG2 使用 SQLite FTS5 和 JEV。因此,比较评估的是各自决策模型的完整系统。BM25 在同一基准子集上使用固定词法基线。

在 MuSiQue 上,主要分析检查三个组件:扩展轮数、使用可比的段落判断预算以及共享评分上下文。扩展比较使用 BM25、无扩展的 BM25+JEV 以及从相同检索轨迹进行一次或两次扩展后的 SAG2。预算控制使用与其 SAG2 对应物相同数量的判断来评分一次性 BM25 池;它没有扩展或检索上下文。上下文消融移除共享证据,同时保留候选策略。

附录 B 报告了完整的数值结果、精确匹配预算子集、仅最终 JEV 策略以及 RM3 和 GAR-BM25 替代方案。所有 JEV 排序的 MuSiQue 配置应用相同的本地前十多样性排序;纯词法配置保留其词法顺序。附录 C 给出了检索参数和决策指令。

4.3 实现与统计分析

实现使用 Python 和 SQLite FTS5。JEV 通过 OpenRouter 使用其 Noul 接口访问;返回的模型为 typesafe/jev-1.13-20260917。问题和 HTTP 并发均上限为二十。

段落判断是在特定问题和上下文中评估的一个候选。重新评分保留段落计为另一次判断;一个 HTTP 请求可以包含多个判断。我们分别报告判断计数、输入和输出词元以及相应的模型费用。费用根据成功响应计算,包括用于恢复中断运行的重用响应。它们不包括机器租赁和答案生成。

对于 MuSiQue 比较,我们报告来自 2,000 次问题重采样的配对 95% 百分位自助区间,种子为 20261015。每个重采样保留跨方法的问题身份并重新计算平均差异。这些区间量化了评估问题之间的变异性;它们不量化重复模型运行之间的变异。

5 结果与分析

5.1 跨基准的检索

SAG2 在所有三个基准上取得了所比较系统中最高的 R@5 和 R@10。其 R@10 在 MuSiQue 上为 86.62%,在 2WikiMultiHopQA 上为 97.43%,在 HotpotQA 上为 99.00%,分别比 SAG 提高 3.25、3.86 和 1.30 个百分点。SAG 在 MuSiQue 上保持更高的 R@1 和 R@2,表明当读者可获得多个段落时优势更强。

相对于 BM25,SAG2 在三个数据集上的 R@10 分别提高了 32.21、25.93 和 12.10 个百分点。在 MuSiQue 上,完整证据覆盖率从 17.40% 增加到 69.50%。结果表明,词法索引结合上下文在线扩展,可以在没有持久语义表示的情况下支持强大的多跳证据恢复。

5.2 企业文档检索

EnterpriseRAG-Bench 测试在合成公司通信和记录集合上的检索。我们使用全部 511,962 篇发布的源文档,包括消息、电子邮件、项目工单、会议记录和文档。在 500 个主要问题中,470 个有参考文档标识符并支持文档召回评估;其余 30 个被排除在该指标之外(Sun et al., 2026)。

文档被分割为约 1,000 字符的块,最大 1,200 字符。检索使用相同的 BM25-JEV 扩展过程和参数。结果在选取前十之前按源文档去重,召回率根据发布的文档标识符测量。不进行答案生成或答案评判。

表 1:三个多跳基准上的段落召回率,百分比。每个数据集包含 1,000 个问题。粗体和下划线表示每列中最佳和次佳的不同值。稠密和结构增强基线的结果来自 Wu et al. (2026)。

方法MuSiQue R@1R@2R@5R@102WikiMultiHopQA R@1R@2R@5R@10HotpotQA R@1R@2R@5R@10
简单基线
BM2528.5337.3247.4754.4140.1057.9367.0571.5039.7557.9574.4086.90
Contriever24.5033.5445.3253.5834.4048.6059.2565.2039.3057.4574.8582.75
大型嵌入模型
BGE-Large-EN-v1.529.4241.6856.3264.0841.4862.2869.8373.7545.4576.2089.2093.35
GTE-Qwen2-7B35.1948.0661.9270.8043.4565.5874.1878.6346.4073.9588.4593.55
GritLM-7B34.8650.7066.2275.1941.8566.2375.6279.4046.4081.1593.4097.20
NV-Embed-v234.0251.0868.8477.2743.2368.9377.0080.7546.9085.5595.2597.70
结构增强 RAG
HippoRAG 230.6549.5265.1373.7642.3876.5590.3593.4044.4078.3594.3597.15
SAG(本文)36.8263.6280.3683.3743.8183.9393.3493.5747.8091.5596.5097.70
SAG2(本文)34.3062.1880.6886.6243.5585.5097.3597.4348.3093.6098.4599.00

表 2:EnterpriseRAG-Bench 上的文档召回率。BM25、Vector 和 Bash Agent 结果来自 Sun et al. (2026),表 6-7。BM25、Vector 和 SAG2 使用十篇文档;† Bash Agent 使用可变大小的集合,因此其值是没有固定前十截止的文档召回率。

问题类型nBM25VectorBash Agent†SAG2(本文)
基础17577.748.661.786.86
语义12543.224.829.658.40
文档内推理4090.057.575.0100.00
项目相关4065.549.243.283.58
约束3085.083.378.396.67
冲突信息2082.555.072.592.50
完整性2046.533.459.076.24
杂项2090.075.0100.0100.00
总体47068.446.055.881.10

SAG2 达到 81.10% 的文档 Recall@10。已发布的 BM25 和向量基线分别报告 68.4% 和 46.0%,而 Bash Agent 报告 55.8% 的文档召回率。SAG2 在项目相关问题达到 83.58%,在完整性问题上达到 76.24%,这些问题需要跨文档检索相关信息。语义问题仍然更困难,召回率为 58.40%。

该评估将证据扩展到较小 Wikipedia 衍生语料库之外,扩展到超过五十万篇文档的异构集合。基线数字使用其已发布的检索实现和评估流程;特别是,Bash Agent 具有不同的输出预算。该比较描述了检索性能,并未建立等效的计算预算或端到端答案质量。

图 3:EnterpriseRAG-Bench:(a)总体文档召回率;(b)按问题类型的文档 Recall@10。基线值为基准发布的值。总体平均值覆盖 470 个有文档标签的问题。

5.3 扩展、判断预算与评分上下文

图 4 比较了最直接测试检索设计的三个组件。所有配置使用相同的 1,000 个 MuSiQue 问题;H 表示初始检索后的额外扩展轮数。精确值和判断计数在附录 B 中报告。

图 4:MuSiQue 上的核心比较:(a)扩展深度;(b)在近似匹配的段落判断预算下的一次性 BM25+JEV 和 SAG2;(c)移除共享评分上下文。R@10 衡量证据召回率,AE@10 衡量完整性。面板(b)和(c)均以完整 SAG2 作为参考。

扩展深度。第一次扩展将 R@10 从 67.93% 提高到 83.36%,增加了 15.43 个百分点,配对 95% 区间为 [14.09, 16.81]。第二次达到 86.62%,增加了 3.26 个百分点 [2.52, 4.02]。一次扩展使用的判断少 36.29%,提供了一个较低成本的操作点。最终输出在 389 个问题上恢复了初始前 100 中缺失的支持段落,确认扩展在原始候选池之外增加了证据。跳数特定结果和示例见附录 A。

判断预算。SAG2 达到 86.62% 的 R@10,而较大的一次性 BM25+JEV 池为 69.82%,相差 16.80 个百分点 [15.28, 18.33]。它们的判断计数分别为 331,325 和 329,194;0.64% 的短缺源于词法匹配不足。精确匹配子集给出相同结论(附录 B)。因此,增加一次性候选预算并不能恢复完整上下文扩展策略的收益。该比较匹配的是判断次数,而非词元或货币成本。

评分上下文。移除共享证据将 R@10 从 86.62% 降低到 76.25%,减少了 10.37 个百分点 [9.11, 11.64],并将 AE@10 从 69.50% 降低到 52.20%。判断计数保持接近。因此,检索到的上下文有助于证据选择和随后的扩展决策。附录 B 中的仅最终和词法反馈替代方案提供了额外比较;带有最终 JEV 的 GAR-BM25 提供更少的判断但召回率更低。

5.4 索引构建与模型成本

表 3:SAG2 在 MuSiQue 上的准备和查询成本。索引覆盖整个语料库。100 查询子集是评估文件顺序中的前 100 个问题,包含在 1,000 查询总数中。模型费用不包括机器租赁和答案生成。

项目测量值
语料库 / 索引单元11,656 / 11,656
索引构建2.36 秒
SQLite 文件25.87 MiB
离线模型调用 / 费用0 / $0
模型费用 / 100 查询$0.433769
模型费用 / 1,000 查询$4.326379

SAG2 在 2.36 秒内索引 11,656 篇段落,并将结果存储在 25.87 MiB 的 SQLite 数据库中,无需离线模型调用。这一简短的准备步骤使语料库可搜索,而无需部署嵌入模型或数据库服务器。模型计算在问题到达时执行:前 100 个查询花费 $0.433769,完整的 1,000 问题评估花费 $4.326379。附录 D 报告请求计数、词元使用和会计细节。在线延迟未报告,因为服务等待时间未与并发执行分开。

5.5 讨论与局限性

实际部署。SAG2 结合了小型本地索引、快速语料库准备和强大的证据召回率。它消除了操作向量数据库、单独的关系数据库服务器或本地模型推理的需要。应用程序维护一个 SQLite 索引并调用 JEV 进行证据决策。这减少了部署依赖,并避免了在检索开始前进行语料库范围的模型计算。由此产生的准确率和准备成本使该架构适用于能够访问托管决策服务的应用。

对 JEV 服务的依赖。主要部署限制是决策模型。在本研究时,所评估的 JEV 版本的详细架构、参数数量和权重未公开。公共访问通过托管 API(TypeSafe AI, 2026)进行。因此,当前系统无法完全在本地使用公开的模型工件独立部署,尽管其检索索引是本地的。它依赖提供商提供模型可用性、吞吐量和对所评估版本的持续访问;问题和候选文本也必须发送到该服务。这限制了禁止外部处理的部署。因此,可本地部署的决策模型是一个重要方向,但其准确率和资源需求仍有待评估。

证据范围。实验建立了完整 SQLite-BM25-JEV 系统的性能以及扩展和共享上下文的贡献。它们并未隔离每个词项权重因子,也未确立 JEV 优于其他决策模型。SAG 比较使用不同的模型和实现,GAR-BM25 结果适用于所述基于 BM25 的适配。评估使用固定的开发子集,其支持和干扰段落构成检索语料库。MuSiQue 也在方法开发期间使用。对未使用分割、私有组织语料库和下游答案生成的泛化仍有待评估。EnterpriseRAG-Bench 拓宽了评估规模和来源类型,但其语料库是合成的。词法访问仍可能错过 paraphrases、别名以及没有有用词项连接的证据。四跳问题上的低完整证据覆盖率将此确定为重要的剩余挑战。成本研究涵盖一个语料库;扩展行为和增量更新需要进一步测量。

额外的语义关联。一个有用的下一步是将 SAG2 与 SAG 中基于 LLM 的实体提取原则相结合。可选的本体丰富预处理可以识别实体、别名、语义类型和关系,将它们链接到其源段落。这些额外连接可以支持在表面词项重叠很少的碎片化文本上进行检索。JEV 将继续在上下文中选择证据。这种扩展会增加预处理成本和提取错误,因此其价值应根据当前轻量级架构进行评估。

6 结论

SAG2 将轻量级检索基础设施与强大的多跳准确率相结合。单一 SQLite 数据库提供词法候选访问,而上下文 JEV 决策在查询时引导段落到词项再到段落的扩展。这消除了离线嵌入和基于模型的事件-实体提取。SAG2 在三个多跳基准上取得了所比较方法中最高的 R@5 和 R@10,并从超过五十万篇 EnterpriseRAG-Bench 文档中检索证据。测量的索引时间、存储占用和模型成本支持其实际价值:使用紧凑的本地索引和简短的准备步骤实现准确的证据检索。减少对托管 JEV 的依赖是主要的剩余部署需求。

AI 使用声明

在准备本手稿期间使用了大型语言模型进行写作辅助,包括语法检查、句子级改写和 LaTeX 格式化。所有科学内容、实验设计、数据分析和技术主张均由作者完全产出。作者对报告的所有结果的正确性和完整性承担全部责任。

代码可用性

实现和评估代码维护在 SAG 基准仓库中。评估使用公共基准段落。问题和候选文本被发送到配置的 JEV 服务;在私有语料库上部署需要适当的数据访问策略。

参考文献

(按原文保留,不再逐条翻译)

附录 A 额外的检索结果

表 A1:MuSiQue 上的完整排序指标。每个配置在相同的 1,000 个问题上评估。

方法R@1R@2R@5R@10AE@5AE@10
BM2528.5337.3247.4754.4112.2017.40
BM25+JEV (H=0)31.1346.7960.7867.9326.6036.00
SAG2(本文),H=134.3561.4477.8983.3654.6063.10
SAG2(本文),H=234.3062.1880.6886.6259.0069.50
BM25+JEV,匹配预算30.6446.5861.5769.8229.1039.60
SAG2(本文),无上下文31.2048.0466.3276.2537.2052.20
词法扩展,最终 JEV31.2345.4357.1761.3425.5029.60
RM321.7928.5039.6947.839.8015.70
RM3+最终 JEV30.8845.7660.1966.9329.8037.20
GAR-BM2528.7137.5047.6654.5012.1017.50
GAR-BM25+最终 JEV30.9148.6164.6373.1134.7046.10

表 A2:三个基准上的语料库大小和完整证据覆盖率。AE@10 是全部标注证据集出现在前十个唯一源段落中的问题比例。

数据集n语料库方法R@5R@10AE@10
MuSiQue100011,656BM2547.4754.4117.40
MuSiQue100011,656SAG2(本文)80.6886.6269.50
2WikiMultiHopQA10006,119BM2567.0571.5041.30
2WikiMultiHopQA10006,119SAG2(本文)97.3597.4393.10
HotpotQA10009,811BM2574.4086.9074.30
HotpotQA10009,811SAG2(本文)98.4599.0098.10

表 A3:按标注问题跳数划分的 R@10,以及完整 SAG2 的 AE@10。扩展轮数和问题跳数表示不同的量。

跳数nBM25H=0H=1H=2H=2 AE@10
251861.6875.0090.5492.8687.07
331651.3766.8882.0785.3462.34
416637.5047.8963.4069.5828.31

图 A1:按标注问题跳数划分的扩展深度:(a)R@10 和(b)完整证据覆盖率。对应值在表 A3 中给出。

第二次扩展在二跳、三跳和四跳问题上分别增加 2.32、3.27 和 6.17 个 R@10 百分点。四跳问题的数值增益更大,但其完整证据覆盖率仅达到 28.31%。

完整 SAG2 输出在 389 个问题上包含至少一个初始 BM25 前 100 之外的支撑段落,总共恢复 433 个此类段落。例如,关于 Erik Hort 出生地的问题的初始池包含 Erik Hort 段落但不包含 Montebello, New York。扩展包括词项 "montebello",最终前十包含两个标注段落,将该问题的召回率从 50% 提高到 100%。

附录 B 额外的受控比较

B.1 核心比较与精确判断匹配

表 B1:图 4 中核心比较的数值结果。R@5 和 R@10 是证据召回率;AE@10 是完整证据覆盖率。判断计数包括重新评分保留段落。

方法R@5R@10AE@10判断数
BM2547.4754.4117.400
BM25+JEV (H=0)60.7867.9336.0099,925
SAG2(本文),H=177.8983.3663.10211,081
SAG2(本文),H=280.6886.6269.50331,325
BM25+JEV,匹配预算61.5769.8239.60329,194
SAG2(本文),无上下文66.3276.2552.20330,990

预算控制接收每个 SAG2 查询的总判断计数,并评分相应数量的一次性 BM25 候选。十六个问题词法匹配太少,导致整个评估中少 2,131 次判断。在剩余 984 个精确匹配计数的问题上,SAG2 的 R@10 为 86.50%,控制组为 69.88%。差异仍为 16.62 个百分点 [15.07, 18.16],与完整集结果一致。

B.2 仅最终 JEV 选择

该变体使用 BM25 选择扩展种子,分配均匀种子权重,并仅对最多 100 个候选的最终池应用 JEV。它以 98,836 次判断达到 61.34% 的 R@10,比 SAG2 低 25.28 个百分点 [23.57, 27.02]。它同时改变了种子选择、加权、保留和上下文,因此该差异不能仅归因于中间评分。

B.3 词法反馈替代方案

RM3 和 GAR-BM25 分别在无 JEV 和仅最终 JEV(最多 100 个候选)下评估。RM3 使用十个反馈段落、十个词项和原始查询权重 0.5。GAR-BM25 为每篇段落使用八个预计算 BM25 邻居,并从初始排序和图前沿交错批次十六个。其扩展优先级使用 BM25 而无中间神经重排序。RM3 配置保留每个反馈段落十个词项和组合模型中十个词项,排除 2-20 个字母数字字符之外的词元,并移除出现在超过 10% 索引单元中的词项。加权 BM25 贡献在选候选之前求和。

表 B2:相同 1,000 个 MuSiQue 问题上的词法反馈替代方案,按评分设置分组。最终段落到词项策略被包括用于比较。

评分方法R@5R@10AE@10判断数
无 JEVBM2547.4754.4117.400
无 JEVRM339.6947.8315.700
无 JEVGAR-BM2547.6654.5017.500
仅最终 JEVBM25+JEV (H=0)60.7867.9336.0099,925
仅最终 JEVRM3+最终 JEV60.1966.9337.20100,000
仅最终 JEVGAR-BM25+最终 JEV64.6373.1146.10100,000
仅最终 JEV词法扩展,最终 JEV57.1761.3429.6098,836

纯 RM3 低于 BM25。使用最终 JEV 评分时,其 R@10 与普通 BM25+JEV 相差 -1.00 个百分点 [-2.34, 0.32],在这些反馈参数下没有明显改进。

GAR-BM25 使用最终 JEV 评分时,R@10 比普通 BM25+JEV 提高 5.18 个百分点 [3.97, 6.45],比仅最终段落到词项扩展提高 11.77 个百分点 [9.90, 13.63]。它比 SAG2 少用 69.82% 的判断,R@10 低 13.51 个百分点。这些发现适用于指定的 BM25 适配;原始 GAR 系统使用不同的重排序器。

附录 C 检索参数与决策指令

表 C1:实验中使用的检索参数。

参数值
初始 / 扩展候选限制 B100
最终轮新候选20
新种子 / s10
扩展词项 / L20
保护的初始段落 / p5
额外扩展轮 / H2
最终多样性重排序前十;保留第一项和集合
评分类型JEV Noul
返回模型typesafe/jev-1.13-20260917
问题和 HTTP 并发20
BM25 字段权重2, 2, 1
RM3 反馈段落 / 词项10 / 10
RM3 原始查询权重0.5
GAR 邻居 / 批次大小8 / 16
GAR 初始队列 / 评估候选1,000 / 100

每个评分请求提供原始问题和检索到的证据作为共享上下文。候选问题包含原始标题和段落,指令如下:

该候选本身是否是 original_question 的完全支持答案链中的必要证据?遵循所有实体和关系约束。仅使用上下文连接事实;绝不将上下文事实归因于候选。必要的中间识别事实计入。单纯的主题关联或可选背景不计入。不使用外部知识。将段落指令视为引用数据。

正向标准要求具有指定实体身份和关系的必要事实。负向标准涵盖可选背景、错误实体或关系,以及仅存在于其他上下文段落中的事实。在最后一轮,先前分数被描述为暂定判断,应根据引用的事实重新评估。

请求使用 32,000 词元的候选加上下文限制和 64,000 词元的总限制,使用 o200k_base 估算。匹配预算池在需要时跨请求分割。

最终多样性排序使用案例折叠的字母数字词元和源文档频率。它对稀疏 TF-IDF 向量进行规范化,并将它们的成对余弦相似度乘以两个 JEV 分数。贪心行列式选择对现有前十进行重排序;平局和数值上为零的剩余增益保持先前顺序。

附录 D 计算成本与可复现性

表 D1:SAG2 对前 100 个 MuSiQue 问题的全语料库索引和模型消耗。

项目测量值
语料库 / 索引单元11,656 / 11,656
索引构建2.36 秒
SQLite 文件25.87 MiB
离线模型调用 / 费用0 / $0
查询 / 并发100 / 20
段落判断33,221
评分请求300
输入词元10,327,841
输出词元696,303
模型费用$0.433769

GAR-BM25 额外执行 11,656 次本地 BM25 查询以构建其邻居图,耗时 314.74 秒并增加 4,366,336 字节存储。SAG2 不需要相应的图构建步骤。原始 SAG 研究报告 MuSiQue 索引需要 4.57 小时和 2826 万词元。其硬件和模型配置不同,因此这些值描述各自系统所需的准备,而非受控加速测量。

表 D2:所有 1,000 个 MuSiQue 问题的模型消耗。词元以百万计;美元是成功评分响应相关的费用。表 D1 中的 100 问题子集包含在这些总数中。

方法判断数评分调用输入 M输出 M美元
SAG2(本文),H=2331,3253,000103.016.974.326379
BM25+JEV,匹配预算329,1941,98994.756.933.979437
SAG2(本文),无上下文330,9903,00098.286.964.127930
词法扩展,最终 JEV98,8361,00030.252.081.270516
RM3000.000.000.000000
RM3+最终 JEV100,0001,00028.782.111.208933
GAR-BM25000.000.000.000000
GAR-BM25+最终 JEV100,0001,00029.382.111.234005

完整 SAG2 使用 331,325 次段落判断和 3,000 次评分请求。预算匹配控制使用较少的输入词元,因为它省略了检索到的上下文。因此,仅判断计数不能指定货币成本。无上下文运行中有 26 次失败或中断的尝试缺少返回的使用信息;这些尝试的任何额外费用不包含在表 D2 中。

所有八个 MuSiQue 配置完成 1,000 个问题。H=0/1/2 结果使用中间 SAG2 排序;成本子集取评估文件顺序中的前 100 个问题;精确预算匹配仅取决于判断计数。

指标从源段落集重新计算。记录保留问题标识符、每轮候选、上下文、模型响应、词元、失败请求和源输入。恢复执行重用相同的成功请求。问题和 HTTP 并发上限为二十;每个评估记录其模型标识符。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/30 2:29:11

你的 UUID 为何总在数据库里“拖后腿”?——Python uuid 模块的版本陷阱、排序幻觉与选型全攻略

你的 UUID 为何总在数据库里“拖后腿”?——Python uuid 模块的版本陷阱、排序幻觉与选型全攻略 在 Python 中,uuid 模块是生成通用唯一标识符的标准工具。无论是给数据库记录分配主键、为分布式系统生成请求 ID、还是为文件创建唯一名称,uui…

作者头像 李华
网站建设 2026/10/30 2:29:11

什么是DNS解析:域名指向服务器的原理详解

你在浏览器地址栏输入一个域名,按下回车,页面在几百毫秒内加载出来。这背后发生的第一个关键动作,往往被忽略:DNS 解析。没有它,你必须记住每一个网站的 IP 地址才能上网——就像打电话必须背下所有人的手机号&#xf…

作者头像 李华
网站建设 2026/10/30 2:28:26

Python字符串学习总结

Python字符串学习总结 一、字符串下标索引 1.字符串中的每一个字符都对应唯一的下标位置。 正向下标从 0 开始,由左至右依次递增。 反向下标从 -1 开始,由右至左依次递减,-1 始终对应字符串最后一位字符。 2.注意事项: a.先定义变…

作者头像 李华
网站建设 2026/10/30 2:23:31

5分钟跑通Qwen3.8-27B-AP-GGUF:llama-server命令与参数完整教程

5分钟跑通Qwen3.8-27B-AP-GGUF:llama-server命令与参数完整教程 Qwen3.8-27B-AP-GGUF 是 Qwen3.8-27B 的高精度量化 GGUF 模型包,配合 llama.cpp 的 llama-server 一条命令即可在本地拉起大模型 API 服务。本教程带你 5 分钟完成 llama-server 命令与全部关键参数配…

作者头像 李华
网站建设 2026/10/30 2:21:25

如何配好 Toonflow 模型供应商:文本、图像、视频模型接入完整指南

如何配好 Toonflow 模型供应商:文本、图像、视频模型接入完整指南 【免费下载链接】Toonflow-app Toonflow 是一款 AI 短剧漫剧工具,能够利用 AI 技术将小说自动转化为剧本,并结合 AI 生成的图片和视频,实现高效的短剧创作。借助 …

作者头像 李华