ScalableRAG:零摄入成本的高质量RAG
摘要
本文介绍了ScalableRAG,一种检索增强生成方法,通过基于正则表达式的集合创建和聚合推理,在无需任何摄入成本(无需向量数据库或知识图谱)的情况下实现高准确率。它在多个数据集上优于基线方法,并提出了一个有限摄入变体以进一步提升准确率。
arXiv:2607.25135v1 公告类型:新
摘要:近期RAG的研究进展旨在通过支付高昂的摄入成本(构建知识图谱或提取SQL表)来优化性能。在这项工作中,我们展示了这些知识库所允许的操作可以以零摄入成本(甚至无需向量数据库)复制;事实上,我们的解决方案Zero-Ingestion ScalableRAG在六个语料库中的三个上轻松超越了所有基线(包括知识图谱方法),另外三个仅略低于最高性能,所有六个数据集的平均准确率比下一个最具竞争力的基线高出7.36%。它通过维护一个文档集和值集的工作空间来实现这一点,该工作空间可读写,允许在所有需要基于主键(与整个文档集的子集一一对应)进行分组的情况下进行即时聚合推理。
通过将LLM调用次数限制为与语料库大小无关的常数,我们还引入了Limited-Ingestion ScalableRAG,它使用最小的向量数据库以及从文档样本中自动发现模式,以进一步在大规模上提高准确率。我们的代码可在 https://github.com/cohesity/ScalableRAG 获得。
查看缓存全文
缓存时间: 2026/07/29 09:53
# ScalableRAG:零摄取成本的高质量RAG
来源:https://arxiv.org/html/2607.25135
Hilaf Hasson¹, Aditya Chakravarty¹, Jayant Thomas¹, Krishna Gogineni¹
¹Cohesity
¹\{hilaf\.hasson,aditya\.chakravarty,jayant\.thomas,krishna\.gogineni\}@cohesity\.com
###### 摘要
近期RAG领域的进展旨在通过承担高额的知识摄取成本(如构建知识图谱或提取SQL表)来优化性能。本文表明,此类知识库所支持的操作可以在零摄取成本(甚至无需向量数据库)下实现;事实上,我们的零摄取ScalableRAG解决方案在所考虑的六个语料库中,有三个轻松超过所有基线(包括知识图谱方法),在其他三个上仅略低于最高性能,在全部六个数据集上的平均准确率比次优基线高出7.36%。它通过维护一个可读写文档集和值集的工作空间来实现这一点,从而在需要对与总文档子集一一对应的主键进行分组的所有场景中实现即时聚合推理。通过将LLM调用次数限制为与语料库规模无关的常数,我们还引入了有限摄取ScalableRAG,它使用最简向量数据库以及从文档样本中自动发现模式的方法,以进一步在大规模下提高准确性。我们的代码可在https://github.com/cohesity/ScalableRAG获取。
ScalableRAG:零摄取成本的高质量RAG
## 1 引言
检索增强生成(Karpukhin等人,2020(https://arxiv.org/html/2607.25135#bib.bib2);Lewis等人,2020(https://arxiv.org/html/2607.25135#bib.bib1);Douze等人,2025(https://arxiv.org/html/2607.25135#bib.bib5))最初被提出时是通过从文档语料库的文本块中创建向量数据库,然后利用问题嵌入与语料库文本块嵌入之间的最近邻搜索。此后,RAG领域出现了两项主要进展:第一,通过让LLM读取整个语料库并在知识图谱(Edge等人,2024(https://arxiv.org/html/2607.25135#bib.bib18);Bai等人,2025(https://arxiv.org/html/2607.25135#bib.bib10);Gutiérrez等人,2024(https://arxiv.org/html/2607.25135#bib.bib14),2025(https://arxiv.org/html/2607.25135#bib.bib15))或模式(Koshorek等人,2025(https://arxiv.org/html/2607.25135#bib.bib8))中建立索引,从而创建知识数据结构。这类方法的好处在于,它使检索代理能够按任意键进行分组,并创建可通过某种聚合操作(计数、平均等)得到正确答案的集合。第二种新兴方法是仅保留向量嵌入摄取,并在此基础上增加代理化检索(Du等人,2026(https://arxiv.org/html/2607.25135#bib.bib16);Hui等人,2025(https://arxiv.org/html/2607.25135#bib.bib17))。在本文中,我们旨在复制创建知识数据结构的成功,但将摄取成本降至最低,甚至为零。我们采用的主要见解是:通常我们希望系统按之分组的键与语料库中文档集合的一个子集一一对应,因此可以在推理时高效生成。零摄取ScalableRAG完全不需要任何摄取成本,包括无需创建向量数据库。它利用正则表达式工具,可以创建并持久化文件名子集、数值集合、日期集合和列表集合。每个此类集合都被命名,并可在后续步骤中使用集合运算、过滤和聚合工具。每次创建新集合时,都会利用之前的集合为代理提供关于集合之间差异的上下文,以便其能更好地判断过滤是否按预期工作。即使在零摄取的基线情况下,该方案在大多数实验中的表现也优于大多数高摄取方法。为了在保持最低摄取成本的同时进一步提升性能,我们在此方案基础上引入了有限摄取ScalableRAG,增加了两项能力:向量嵌入(使用大文本块),可实现余弦相似度以及推理时的分类器训练与推理;以及一个全面的模式发现与验证预处理步骤,该步骤仅使用部分文档样本。后者分解为:1. 正则表达式模式的确定性发现;2. LLM生成的正则表达式发现;3. 对不易通过正则表达式提取的值进行提取提示的发现。这三种模式在摄取时经过全面验证,然后策略性地暴露给检索代理。
总的来说,我们的贡献如下:
1.1. 引入零摄取ScalableRAG(第3.1节(https://arxiv.org/html/2607.25135#S3.SS1)),这是一种甚至不需要向量嵌入的RAG系统,通过推理时的集合持久化实现了与高摄取RAG系统相当甚至更优的性能。该方案在所考虑的六个语料库中的三个上轻松超过所有基线(包括知识图谱方法),在其他三个上仅略低于最高性能,全部六个数据集的平均准确率比次优基线高出约7%。(参见第4节(https://arxiv.org/html/2607.25135#S4)。)
2.2. 引入有限摄取ScalableRAG(第3.2节(https://arxiv.org/html/2607.25135#S3.SS2)),它在零摄取ScalableRAG的基础上增加了向量嵌入,以及全面的模式与提取发现及验证预处理,从而以固定次数的LLM调用提升性能。这在与提取更为困难的数据集上带来了适度的准确性提升。
## 2 相关工作
##### 基线RAG。基于密集检索的RAG(Karpukhin等人,2020(https://arxiv.org/html/2607.25135#bib.bib2);Lewis等人,2020(https://arxiv.org/html/2607.25135#bib.bib1);Douze等人,2025(https://arxiv.org/html/2607.25135#bib.bib5))仍是密集段落检索的标准参考。已有一些改进保留了密集检索作为核心原语。例如:HyDE(Gao等人,2023(https://arxiv.org/html/2607.25135#bib.bib3))在摄取时用合成查询增强文档以提升性能;HyQE(Zhou等人,2024(https://arxiv.org/html/2607.25135#bib.bib4))在推理时用合成文档增强问题以提升性能;FLARE(Jiang等人,2023(https://arxiv.org/html/2607.25135#bib.bib6))在LLM“不确定”时于生成过程中进行检索;Iter-RetGen(Shao等人,2023(https://arxiv.org/html/2607.25135#bib.bib7))迭代检索与生成;IRCoT(Trivedi等人,2023(https://arxiv.org/html/2607.25135#bib.bib11))将检索与思维链交错进行。
##### 高摄取知识表示 GraphRAG(Edge等人,2024(https://arxiv.org/html/2607.25135#bib.bib18))推广了将语料库索引为实体关系图并检索社区摘要的思想。HippoRAG(Gutiérrez等人,2024(https://arxiv.org/html/2607.25135#bib.bib14))和HippoRAG2(Gutiérrez等人,2025(https://arxiv.org/html/2607.25135#bib.bib15))在此基础上扩展,对基于开放信息抽取的图应用个性化PageRank,其动机来源于海马体索引理论。AutoSchemaKG(Bai等人,2025(https://arxiv.org/html/2607.25135#bib.bib10))进一步扩大了规模,通过自动诱导模式(将实体概念化为抽象类型)并在超过5000万文档上构建三元组索引。关于RAG知识图谱解决方案的综述,可参见Peng等人(2025(https://arxiv.org/html/2607.25135#bib.bib12))。SRAG(Koshorek等人,2025(https://arxiv.org/html/2607.25135#bib.bib8))采用不同方法,将知识摄取为SQL表,每个文档对应一行,并通过LLM提取填充。我们注意到,尽管SRAG采用的算法与我们的完全不同(每个文档仅允许一行,且使用单个表而非通过外键连接的多表),但它也做出了与我们相同的假设:大多数问题按与文档子集一一对应的主键进行分组。所有这些方法都需要高额摄取:通常每个文档至少一次LLM调用,往往更多。
##### 代理化RAG。A-RAG(Du等人,2026(https://arxiv.org/html/2607.25135#bib.bib16))是一个配备三种检索工具的代理:keyword_search用于精确词汇匹配,返回片段级证据;semantic_search用于密集句子级检索(使用向量数据库)并按文本块分组;chunk_read用于读取选定文本块的完整内容。相比之下,Interact-RAG(Hui等人,2025(https://arxiv.org/html/2607.25135#bib.bib17))将检索过程本身暴露为交互环境,使代理能够显式控制检索策略(语义搜索与精确搜索及其融合)、强制执行实体锚定匹配,并通过包含、排除和规模调整操作动态塑造上下文。我们注意到,这两种解决方案都不为后续步骤创建持久化工件。
## 3 提出方法
我们分两个阶段描述ScalableRAG。在第3.1节(https://arxiv.org/html/2607.25135#S3.SS1)中,我们介绍零摄取系统:一个仅以纯文本文件目录为输入的有状态代理。在第3.2节(https://arxiv.org/html/2607.25135#S3.SS2)中,我们添加两个可选的摄取模块,它们共同构成了有限摄取ScalableRAG:向量嵌入和自动模式发现。
### 3.1 零摄取ScalableRAG
零摄取系统无需任何预处理:不仅无需知识图谱或模式提取,也无需向量嵌入。代理仅获得语料库和问题。
#### 3.1.1 代理架构
设 C = {d₁, …, dₙ} 为由 N 个文档组成的语料库。ScalableRAG 本质上是一个 ReAct 风格的代理(Yao等人,2022(https://arxiv.org/html/2607.25135#bib.bib9)),通过工具调用与语料库交互。给定问题 q,代理生成一系列 (aₜ, oₜ) 对,其中 aₜ 是 JSON 格式的工具调用,oₜ 是工具观察结果,直到它输出最终答案。然而,与 ReAct 风格代理不同的是,在第 t 步,代理维护一个集合注册表 S^(t) = {(s_i, D_i)}ᵢ,其中每个 D_i 是 C 的子集,其名称为 s_i。注册表初始化为 S^(0) = {(all, C)},并在每次工具调用后原地更新。此外,代理维护一组值集 V^(t) = {(v_j, f_j)}ⱼ,其中 v_j 是函数 f_j: D → ℝ(标量)、f_j: D → ℝᵏ(日期)或 f_j: D → 2^(Σ*)(字符串列表)的名称,D 是 S^(t) 中的一个集合。每一步,代理选择工具 τₜ 和参数 αₜ;工具从共享状态读写:(S^(t), V^(t), oₜ)= τₜ(αₜ; S^(t-1), V^(t-1), C)(1)这与所有先前的代理化RAG解决方案有本质区别,它允许代理通过自动化引用现有集合的计算,在每一步获得大量有用知识;详见第3.1.2节(https://arxiv.org/html/2607.25135#S3.SS1.SSS2)。完整的系统提示见附录A(https://arxiv.org/html/2607.25135#A1);上下文管理细节(每工具输出预算、消费后观察编辑)见附录B(https://arxiv.org/html/2607.25135#A2)。
##### 词汇预分析(仅用于指导)。在第一次LLM调用前,ScalableRAG执行一次零成本扫描,为代理提供搜索空间的粗略地图。具体地,它提取最多五个不同的“问题关键词”(长度 ≥ 4 的最大字母数字跨度),并针对每个关键词,通过大小写不敏感的子串包含统计包含该关键词的文档数。它还报告文件名命中计数,以及最多三个关键词对之间的交集(至少一个但非全部文档匹配)。这些统计并非检索:它们是一种低成本先验,告诉代理应该从文件名开始、从单个宽文本过滤器开始,还是从更窄的组合开始。上述问题关键词根据轻量级逻辑排序(见附录B(https://arxiv.org/html/2607.25135#A2)),此后称为“锚定标记”。算法1(https://arxiv.org/html/2607.25135#alg1)形式化了代理循环。
算法1 ScalableRAG代理循环
0: 语料库 C,问题 q,LLM M,最大步数 T,上下文预算 B
1: S^(0) ← {(all, C)}; V^(0) ← ∅
2: ℓ ← QuestionLandscape(q, C) {关键词统计}
3: msgs ← [SysPrompt, q ⊕ ℓ]
4: for t = 1, ..., T do
5: msgs ← RedactAndCompress(msgs, B) {上下文管理}
6: response ← M(msgs)
7: if response 包含答案 then
8: return response.answer
9: end if
10: Parse (τₜ, αₜ) ← response.tool, response.args
11: (S^(t), V^(t), oₜ) ← τₜ(αₜ; S^(t-1), V^(t-1), C)
12: Append assistant response and oₜ to msgs
13: end for
14:
15: return M(msgs ⊕ "give your best answer")
##### 生成文档集。每个过滤操作都将一个现有的命名集作为“目标”。这意味着过滤总是“相对的”:代理逐步细化,所有观察结果都是针对目标集计算的,而非全量语料库。
- • apply_filter(ρ, S) → (S⁺, S⁻):将正则表达式 ρ 应用于命名目标集 S 中的每个文档,将其划分为两个新命名集:正集 S⁺ ⊆ S(匹配 ρ 的文档)和负集 S⁻ = S \ S⁺。两者均在工作空间中注册。由于划分是相对于 S 而非全量语料库,代理可以看到其当前工作集两边的片段:正片段显示文档为何匹配,负片段则以问题派生的锚定标记为中心(见附录B(https://arxiv.org/html/2607.25135#A2)),以便代理检查同一范围内正则表达式遗漏的格式变体。
- • search_filenames(p, S) → D:按文件名模式过滤,可选择限制在目标集内。
- • set_operation(A, B, op) → D:显式 ∩、∪、∖。注册表还解析惰性复合名称:代理可以在任何工具参数中写入 A_and_B,系统会即时计算 A ∩ B,无需单独调用。
- • filter_values(v, op, θ) → D:按值集过滤相似文章
RAGA:用于自主知识图谱构建和检索增强生成的阅读与图谱构建智能体
RAGA 是一个由大语言模型驱动的自主智能体,通过“阅读-搜索-验证-构建”的认知循环构建知识图谱,并集成混合符号-向量检索以实现检索增强生成,在科学问答数据集上取得了实验性改进。
ContextRAG:面向检索增强生成的无抽取层次图构建
ContextRAG引入了一种无抽取方法,用于构建面向检索增强生成的层次图索引。该方法利用残差量化K均值(Residual-Quantization K-Means)和形式概念分析(Formal Concept Analysis),将大语言模型(LLM)调用和Token数量减少数个数量级,同时在多跳问题上保持具有竞争力的F1分数。
LightRAG:简单高效的检索增强生成框架
本文介绍了 LightRAG,这是一个开源框架,通过整合图结构来提升检索增强生成(RAG)的上下文感知能力与信息检索效率。
Structure-Aware RAG: 用于对话代理的噪声数据结构化检索增强生成
提出Structure-Aware RAG (SA-RAG),它使用表格作为中间结构化表示来减少对话代理检索增强生成中的噪声,结合了质量感知的元数据生成和两种表格生成方法,在噪声真实世界数据集上优于现有基线。
LatentRAG:用于高效智能体 RAG 的潜在推理与检索
LatentRAG 是一个新颖的框架,将智能体 RAG 的推理与检索过程转移至连续的潜在空间,在保持与显式方法相当的性能的同时,将推理延迟降低了约 90%。