面包屑图标 当前位置: 首页
AI资讯
热点详情

模块化RAG与RAG流程深度解析

AI热点日报
AI热点日报时间:2026-06-12
热点解读

模块化RAG提出三层架构:模块类型、模块和运算符,涵盖6大模块类型、14个模块与40多个运算符。通过编排运算符可衍生多种RAG流程,系统梳理了索引、预检索、检索、后检索等核心技术,为RAG开发提供可扩展范式。

过去一年里,检索增强生成(RAG)这个概念着实火了一把,作为落地大语言模型应用的主流方案,它吸引了大量关注。此前有一篇关于 RAG 的综合性调查,从朴素 RAG 到高级 RAG 再到模块化 RAG 的演进路径做了详细梳理——不过那篇文章主要是从增强的视角(比如增强源、阶段、过程)来审视 RAG 技术。

这篇把焦点放在了模块化 RAG 这个范式上,并进一步定义了三层模块化 RAG 架构:模块类型(Module Type)模块(Module)运算符(Operator)。在这个框架下,我们对当前 RAG 系统中的核心技术做了系统梳理,涵盖了 6 大模块类型、14 个模块和 40 多个运算符,希望能给出一幅比较完整的图景。

通过编排不同的运算符,可以衍生出各种各样的 RAG 流程(RAG Flows)——这也是想重点说明的概念。在大量研究的基础上,我们提炼并总结了若干典型模式、具体实施案例以及行业最佳实践(这部分内容因为篇幅关系,会在第二部分展开)。

这篇文章的目标是提供一个对 RAG 开发现状更深入的理解,也为未来的发展方向铺个底。模块化 RAG 带来了大量机会,比如定义新的运算符、新的模块,乃至配置新的流程。

RAG 调查中的数据

什么是模块化 RAG?

RAG 的进步催生了更加多样化和灵活的流程,主要体现在几个关键方面:

  1. 增强的数据采集: RAG 已经超越了传统非结构化数据,开始涵盖半结构和结构化数据,重点是对结构化数据进行预处理,以改进检索并减少模型对外部知识源的依赖。

  2. 技术融合: RAG 正在与其他技术集成,包括使用微调、适配器模块和强化学习来增强检索能力。

  3. 灵活的检索过程: 检索过程已经发展到支持多轮检索增强,用检索到的内容来指导生成,反之亦然。此外,自主判断和 LLM 的使用通过判断是否需要检索,提高了回答问题的效率。

模块化 RAG 的定义

从上图可以看出,RAG 的快速发展已经超越了链式高级 RAG 范式,呈现出模块化特征。为了解决当前缺乏组织和抽象的问题,我们提出了一种模块化 RAG 方法——它无缝地整合了朴素 RAG 和高级 RAG 的开发范例。

模块化 RAG 提供了一种高度可扩展的范式,将 RAG 系统分为模块类型、模块和运算符的三层结构。每种模块类型代表了 RAG 系统中的一个核心流程,包含多个功能模块;每个功能模块又包含多个特定的运算符。整个 RAG 系统变成了多个模块和相应算子的排列组合,这就是所谓的 RAG 流程。在流程中,每种模块类型可以选择不同的功能模块,每个功能模块中也可以选择多个运算符。

与之前范式的关系

模块化 RAG 以多层模块化的形式组织 RAG 系统。高级 RAG 是 RAG 的模块化形式,而朴素 RAG 则是高级 RAG 的一个特例。三种范式之间是继承与发展的关系。

模块化 RAG 的机会

模块化 RAG 的好处显而易见——它为现有的 RAG 相关工作提供了一个全新且全面的视角。通过模块化的组织方式,相关的技术和方法被清晰地总结出来。

  • 研究视角。 模块化 RAG 高度可扩展,有助于研究者在全面了解当前 RAG 发展的基础上提出新的模块类型、模块和算子

  • 应用视角。 RAG 系统的设计和构建变得更加便捷,用户可以根据现有数据、使用场景、下游任务等需求定制 RAG 流程。开发者也可以参考已有的流程构建方法,针对不同的应用场景和领域定义新的流程和模式

模块化 RAG 的框架

模块类型 — 模块 — 运算符

本章深入探讨 RAG 的三层结构,并勾勒出 RAG 的技术路线图。受篇幅所限,不会深究每个技术细节,但会提供全面的参考文献供进一步阅读。

1. 索引

索引是将文本分解成可管理块的过程,是组织系统的关键步骤,主要面临三个挑战:

  • 内容表示不完整。 块的语义信息受分割方法影响,可能导致较长上下文中重要信息的丢失或淹没。

  • 不准确的块相似性搜索。 随着数据量增加,检索中的噪声也增大,容易频繁匹配错误数据,使检索系统变得脆弱且不可靠。

  • 参考轨迹不明确。 检索到的块可能来自任何文档,没有引用轨迹,可能导致来自多个不同文档的块虽然语义相似,但包含完全不同主题的内容。

块优化

较大的块能捕获更多上下文,但也会引入更多噪音,处理时间和成本更高;较小的块虽然可能无法完整传达上下文,但噪音较少。平衡这些需求,有几种常见方法:

  • 滑动窗口

一种简单的方式是使用重叠块,通过滑动窗口增强语义转换。但这种方法也有局限:对上下文大小的控制不够精确,有截断单词或句子的风险,且缺乏语义考量。

  • 从小到大

核心思想是把用于检索的块和用于合成的块分开。用较小的块可以提高检索准确性,用较大的块则能提供更多上下文信息。

具体做法:可以检索较小的块,然后通过父 ID 返回较大的块;或者检索单个句子,然后返回该句子周围的文本窗口。更详细的实现可参考 LlamaIndex 文档。

  • 概括

类似于从小到大的思路:先生成较大块的摘要,对摘要进行检索,然后对较大的块进行二次检索。

  • 元数据附件

可以用元数据信息来丰富块,例如页码文件名、作者、时间戳、摘要或块可以回答的问题。随后根据这些元数据过滤检索,从而限制搜索范围。

结构组织

增强信息检索的一个有效方法是建立文档的层次结构。通过构建块结构,RAG 系统可以加快相关数据的检索和处理。

  • 层次索引

在文档的层次结构中,节点以父子关系排列,块链接到它们。每个节点上存储数据摘要,有助于快速遍历数据,并帮助 RAG 系统确定要提取哪些块。这种方法还能减轻由块提取问题引起的幻觉。

构建结构化索引的主要方法包括:

  • 文档中的结构意识:段落和句子分段。

  • 内容意识:PDF、HTML、LaTeX 中的固有结构。

  • 语义感知:基于 NLP 技术的文本语义识别和分割,例如利用 NLTK。

大规模应用可参考 Arcus 的层次索引方案。

  • 知识图谱组织文档

利用知识图(KG)构建文档层次结构有助于保持一致性。它能描绘不同概念和实体之间的联系,显著减少幻觉发生的可能性。另一个优势是将信息检索过程转化为 LLM 可以理解的指令,提高知识检索的准确性,并促使 LLM 生成上下文连贯的响应,从而提升 RAG 系统的整体效率。相关实现可参考 Neo4j 查询引擎。关于用 KG 组织多个文档,可以阅读研究论文 KGP:Knowledge Graph Prompting for Multi-Document Question Answering

2. 预检索

朴素 RAG 的主要挑战之一就是直接依赖用户的原始查询来检索。提出一个精确清晰的问题并不容易,不谨慎的查询会导致检索效率低下。

这一阶段的主要挑战包括:

  • 措辞不当的查询。 问题本身复杂,语言组织也不好。

  • 语言的复杂性和歧义性。 处理专业词汇或含义模糊的缩写时,语言模型常会遇到困难。例如,它可能分不清“LLM”是指大语言模型还是法律语境下的LLM

查询扩展

把单个查询扩展到多个查询,可以丰富查询内容,提供更多上下文来解决缺乏特定细微差别的问题,从而确保生成答案的最佳相关性。

  • Multi-Query

通过提示工程让 LLM 扩展查询,这些查询可以并行执行。扩展不是随意的,而是精心设计的,关键标准是查询的多样性覆盖范围。使用多个查询的挑战之一是可能削弱用户的原始意图。为了缓解这个问题,可以在提示工程中为原始查询分配更大的权重。

  • Sub-Query

子问题规划的过程是生成必要的子问题,当它们组合起来时能充分回答原始问题。原则上,添加相关上下文的过程类似于查询扩展。具体地,可以用从最少到最多的提示方法,把一个复杂问题分解成一系列较简单的子问题。

  • CoVe

另一种查询扩展方法来自 Meta AI 提出的验证链(CoVe)。扩展后的查询经过 LLM 验证,以达到减少幻觉的效果,经过验证的扩展查询通常更加可靠。

查询转换

使用转换后的查询(而非用户的原始查询)进行检索和生成。

  • Rewrite

原始查询并不总是最适合 LLM 检索,尤其是在现实场景中。因此,可以提示 LLM 重写查询。除了 LLM,还可以利用专门的较小语言模型,例如 RRR(Rewrite-retrieve-read)。淘宝促销系统中的查询重写方法 BEQUE 就显著提高了长尾查询的召回率,带来了 GMV 的增长。

  • HyDE

当响应查询时,LLM 构建假设文档(假设答案),而不是直接在向量数据库中搜索查询及其向量。它侧重于嵌入答案之间的相似性,而不是寻求问题或查询的嵌入相似性。此外还有 Reverse HyDE,专注于从查询到查询的检索。

HyDE 和 Reverse HyDE 的核心思想都是在查询和答案之间架起映射的桥梁。

  • Step-back Prompting

Google DeepMind 提出的 Step-back Prompting 方法,对原始查询进行抽象,生成高级概念问题(step-back question)。在 RAG 系统中,后退问题和原始查询都会用于检索,两种结果共同作为语言模型答案生成的基础。

查询路由

根据不同的查询,路由到不同的 RAG 管道,这适用于那些需要应对多种场景的多功能 RAG 系统。

  • 元数据路由器/过滤器

第一步从查询中提取关键字(实体),然后根据块中的关键字和元数据进行过滤,缩小搜索范围。

  • 语义路由器

另一种路由方法利用查询的语义信息。当然也可以采用混合路由,结合语义和元数据来增强路由效果。具体实现可参考语义路由器相关资源。

查询构造

将用户的查询转换为另一种查询语言,以访问替代数据源。常见的方法包括:

  • Text-to-Cypher

  • Text-to-SQL

在很多场景中,结构化查询语言(如 SQL、Cypher)通常与语义信息和元数据结合,构造更复杂的查询。

3. 检索

检索过程在 RAG 中至关重要。利用强大的 PLM 可以有效表示潜在空间中的查询和文本,建立问题和文档之间的语义相似性来支持检索。需要考虑三个主要因素:检索效率嵌入质量任务、数据和模型的协调

检索器选择

自 ChatGPT 发布以来,嵌入模型呈爆发式发展。Hugging Face 的 MTEB 排行榜评估了 8 个任务中的几乎所有可用嵌入模型——聚类、分类、文本对分类、重排序、检索、语义文本相似度(STS)和摘要,覆盖 58 个数据集。C-MTEB 则专注于评估中文嵌入模型的能力,覆盖 6 个任务和 35 个数据集。

构建 RAG 应用时,没有万能的“最佳嵌入模型”。但你会发现有些特定的嵌入更适合某些用例。

  • 稀疏检索器

稀疏编码模型虽然被认为是有点过时的技术,通常基于词频统计等统计方法,但由于编码效率更高、稳定性好,仍占有一席之地。常见的包括 BM25TF-IDF

  • 密集检索器

基于神经网络的密集编码模型包括以下几种类型:

  • 基于 BERT 架构构建的 Encoder-Decoder 语言模型,例如 ColBERT。

  • 全面的多任务微调模型,如 BGE 和 Baichuan-Text-Embedding。

  • 基于云 API 的模型,例如 OpenAI-Ada-002 和 Cohere Embedding。

  • 下一代加速编码框架 Dragon+,专为大规模数据应用设计。

  • 混合检索

两种嵌入方法捕捉不同的相关性特征,可以互补。例如,稀疏检索模型可以为训练密集检索模型提供初始搜索结果;PLM 可用于学习术语权重以增强稀疏检索。研究表明,稀疏检索模型能增强密集检索的零样本能力,并帮助密集检索器处理包含稀有实体的查询,提高鲁棒性。

图片来自 IVAN ILIN:高级 RAG 技术:图解概述

检索器微调

如果上下文与预训练模型在嵌入空间中的相似性判断不一致——尤其是在医疗、法律等专有术语丰富的领域——调整嵌入模型就能派上用场。虽然需要额外工作,但可以显著提升检索效率和领域对齐。

  • SFT

可以根据特定领域的数据构建自己的微调数据集,这项任务用 LlamaIndex 可以快速完成。

  • LSR(LM 监督猎犬)

与直接构建微调数据集不同,LSR 利用 LM 生成的结果作为监督信号,在 RAG 过程中微调嵌入模型。

  • RL(强化学习)

受 RLHF 启发,利用基于 LM 的反馈,通过强化学习来增强检索器。

  • Adapter

有时微调整个检索器成本太高,尤其是当检索器基于 API 无法直接微调时。这时可以合并适配器模块进行微调。添加适配器的另一个好处是能够更好地与特定下游任务对齐。

  • 任务特定:PRCA(通过可插入奖励驱动的上下文适配器拟合黑盒 LLM 进行检索问答)。

  • 任务无关:AAR(增强自适应检索器)引入通用适配器,旨在适应多个下游任务。

4. 后检索

直接把检索到的整个文档块喂给 LLM 并不是最优选择。对文档进行后处理,能帮助 LLM 更好地利用上下文信息。

主要挑战包括:

  • 中间迷失。和人类一样,LLM 倾向于只记住长文本的开头和结尾,忘记中间部分。

  • 噪音/反事实块。检索到的嘈杂或事实上矛盾的文档会影响最终的生成。

  • 上下文窗口。尽管检索了大量相关内容,大型模型的上下文长度限制阻止了所有内容的纳入。

重排序

在不改变内容或长度的情况下对检索到的文档块重新排序,增强 LLM 对重要块的感知。具体包括:

  • 基于规则的重排序

根据某些规则计算指标对块重排序。常见指标包括:

  • 多样性

  • 相关性

  • MMR(最大边际相关性,1998):减少冗余、增加结果多样性,最初用于文本摘要,根据查询相关性和信息新颖性选择最终的关键短语。

  • 基于模型的重排序

利用语言模型对文档块重排序,可选模型包括:

  • BERT 系列的编码器-解码器模型,例如 SpanBERT。

  • 专门的重排序模型,例如 Cohere rerank 或 bge-reranker-large。

  • 通用大型语言模型,例如 GPT-4。

压缩与选择

一个常见的误解是:检索尽可能多的相关文档,把它们拼接成长长的提示就是好的。但实际上,过多的上下文会引入更多噪声,削弱 LLM 对关键信息的感知,并导致“中间迷失”等问题。解决办法是压缩并选择检索到的内容。

  • LLMLingua

利用经过对齐和训练的小语言模型(如 GPT-2 Small 或 LLaMA-7B),检测并删除提示中不重要的 token,将其转换为人类难以理解但 LLM 能很好处理的形式。这种方法无需对 LLM 额外训练,直接压缩提示,平衡了语言完整性和压缩率。

  • Recomp

Recomp 引入了两种压缩器:提取压缩器从检索到的文档中选取相关句子,抽象压缩器通过合并多个文档中的信息生成简洁摘要。两个压缩器都经过训练,以增强语言模型在最终任务上的性能,同时确保摘要的简洁性。当检索到的文档与输入无关或不提供额外信息时,压缩器可以返回空字符串,实现选择性增强。

  • 选择性上下文

通过识别并去除输入上下文中的冗余内容,简化输入,从而提升语言模型的推理效率。这种做法类似“停用词删除”。实践中,选择性上下文根据基础语言模型计算的自信息来评估词汇单元的信息内容,保留自信息更高的内容,为 LLM 提供更简洁高效的文本表示,且不影响其在各种应用中的性能。不过,它忽略了压缩内容之间的相互依赖性,以及目标 LLM 和用于提示压缩的小语言模型之间的一致性。

  • Token 过滤器

一种直观直接的方法:先对文档进行分词,然后根据查询的元数据进行过滤。

  • LLM 批判

另一种简单有效的方法:让 LLM 在生成最终答案之前评估检索到的内容,通过批评过滤掉相关性较差的文档。例如在 Chatlaw 中,LLM 被提示对所引用的法律条款进行自我建议,评估相关性。

5. 生成

利用 LLM 根据用户查询和检索到的上下文信息生成答案。

生成器选择

根据使用场景,LLM 的选择可分为两种类型:

  • 基于云 API 的生成器

通过调用第三方 LLM 的 API 来使用,如 OpenAI 的 ChatGPT、GPT-4 和 Anthropic Claude 等。优势: 无服务器压力、高并发、能用到更强大的模型。劣势: 数据经过第三方导致隐私问题、绝大多数情况下无法调整模型。

  • 本地部署

本地部署的开源或自研 LLM,如 Llama 系列、GLM 等。优势和劣势与基于云 API 的模型相反——本地部署灵活性更大、隐私保护更好,但需要更高的计算资源。

生成器微调

除了直接使用 LLM,根据场景和数据特征进行针对性的微调通常能收到更好的效果,这也是本地部署最大的优势之一。常见的微调方法包括:

  • SFT

当 LLM 缺乏特定领域数据时,通过微调补充额外知识。Hugging Face 的微调数据也可以用作初始步骤。微调的另一个好处是能调整模型的输入输出,例如让 LLM 适应特定数据格式,并按指示生成特定风格的回答。

  • RL

通过强化学习使 LLM 的输出与人类或检索器的偏好对齐。例如,手动标注最终生成的答案,然后通过强化学习提供反馈。除了人类偏好,还可以与微调模型和检索器的偏好对齐。

  • 蒸馏

当无法访问强大的专有模型或更大参数的开源模型时,一个简单有效的方法是蒸馏更强大的模型(如 GPT-4)。

  • 双微调

同时微调生成器和检索器,使它们彼此对齐。一种典型方法如 RA-DIT,使用 KL 散度来对齐检索器和生成器之间的评分函数。

6. 编排

编排是指控制 RAG 流程的模块。RAG 不再遵循固定流程,而是在关键节点做出决策,根据结果动态选择下一步。这也是模块化 RAG 相比朴素 RAG 的关键特征之一。

调度

Judge 模块评估 RAG 过程中的关键点,确定是否需要检索外部文档库、答案是否满意、是否需要进一步探索。它常用于递归、迭代和自适应检索。主要包括以下两个运算符:

  • 基于规则

根据预定义规则决定下一步行动。通常对生成的答案进行评分,然后根据分数是否满足预定义阈值来决定继续或停止。常见阈值包括 token 的置信水平。

  • 基于提示

LLM 自主决定下一步行动。主要有两种方式:第一种是提示 LLM 根据对话历史进行反思或判断,如 ReACT 框架。好处是不需要微调模型,但判断的输出格式取决于 LLM 对指令的遵守程度。基于提示的代表是 FLARE。

  • 基于微调

第二种方式要求 LLM 生成特定的 token 来触发特定操作,这种方法可追溯到 Toolformer,并在 RAG 中应用,例如 Self-RAG。

融合

这个概念源自 RAG Fusion。正如前面查询扩展部分所述,现在的 RAG 流程不再是单一管道,通常需要通过多个分支来扩展检索范围或多样性。因此,在扩展到多个分支后,需要依靠融合模块来合并多个答案。

  • 可能性集成

融合方法根据多个分支生成的不同 token 的权重值,综合选择最终输出,主要采用加权平均。

  • RRF(倒数秩融合)

RRF 是一种将多个搜索结果列表的排名组合成单个统一排名的技术,由滑铁卢大学和 Google 合作开发,效果比在任何单个分支下重排序更好。

结论

RAG 流程的更多内容将在第二部分介绍,敬请期待。

热点追踪提示词
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:模块化RAG与RAG流程深度解析要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
来源:https://www.53ai.com/news/qianyanjishu/949.html
ai 人工智能

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关热点
AI热点2026-07-15 23:00
Sora国风短片提示词细节混乱的解决方法

Sora生成国风短片时细节错乱源于提示词缺乏物理结构、材质逻辑和视觉锚点的显性约束。通过锁定人物服饰结构、控制场景材质逻辑、统一风格动态节奏,并对易错部位做负向限制,可有效稳定画面。提示词越精确,AI越不易跑偏。

AI热点2026-07-15 23:00
Devin AI重复工作处理自动化:日常高频任务提效汇总

DevinAI是面向高频、规则半明确日常工程化任务的自主执行引擎,支持自然语言配置定时任务、多源数据联合分析、模板复用及异常自动恢复,可将重复性琐事彻底自动化闭环,显著提升效率。

AI热点2026-07-15 23:00
PhysForge框架:让静态3D模型变为可交互对象

PhysForge由香港大学与腾讯混元等机构提出,仅需单张输入图像即可生成具备部件结构、物理属性、功能语义与运动学参数的可交互3D资产,直接用于机器人仿真与虚拟世界,相关工作已被ICML2026接收。

AI热点2026-07-15 23:00
ACL 2026美团论文精选 能力评测到推理优化构建生成新范式

美团6篇论文被计算语言学顶级会议ACL2026收录,研究方向覆盖大模型评测、复杂流程推理、竞赛级数学思维优化、强化学习及生成式推荐,旨在提升推理能力并探索AI在本地生活服务中的新范式。

延伸阅读