
随着 2024 年接近尾声,检索增强生成(Retrieval-Augmented Generation, RAG)的发展可谓波澜壮阔。让我们从各个角度全面回顾这一年的进展。
本文的标题提到了“RAG 行业”,内容总结了 RAG 在 2024 年的主要发展趋势和未来展望。从中可以清楚地看出,RAG 是一个高度复杂的系统。尽管它没有像 LLM 那样吸引大量资金,但在实际应用中它是不可或缺且错综复杂的。我们认为 RAG 这个术语定义明确;它代表了一种架构模型,而不是单个产品或应用场景。在某些方面,RAG 类似于过去的数据库——外部接口简单但内部复杂。它不仅包含数据库本身,还包含各种小型模型和连接它们的工具。本质上,它代表了企业搜索引擎在大型模型时代的演变,同时远远超出了传统搜索引擎的范围。
内容提纲
-
• 一、RAG 演进中的关键事件 -
• 1.1 争论:“RAG 已死,RAG 万岁!” -
• RAG 在成本和实时性能上有明显优势,已成为 LLM 应用中不可或缺的角色。 -
• 1.2 开源 LLM 对行业的影响 -
• 开源 LLM 与商业 LLM 趋同,推动了基础 RAG 应用落地,长程上下文窗口与传统方法结合使用效果更佳。 -
• 1.3 GraphRAG 的兴起 -
• GraphRAG 通过构建知识图谱有效弥合了语义差距,成为 RAG 领域的一个重要里程碑。 -
• 1.4 基于 VLM 和后期交互模型的多模态 RAG -
• 结合 VLM 和后期交互模型的多模态 RAG 为复杂文档处理提供了新的解决方案。 -
• 二、关键技术进展 -
• 2.1 数据清洗 -
• 2.1.1 文档智能 -
• 通过统一的文档布局识别框架,利用模型进行数据清洗,是 RAG 的重要预处理步骤。 -
• 2.1.2 文档智能模型分代 -
• 文档智能模型分为基于传统视觉模型的第一代和基于生成式 AI 架构的第二代,后者泛化能力更强。 -
• 2.1.3 纯文本数据处理 -
• 延迟分块、dsRAG、上下文检索、元分块、多粒度混合分块等方法针对纯文本数据优化了分块策略。 -
• 2.2 混合搜索 -
• 2.2.1 混合搜索的优势 -
• 结合向量搜索、稀疏向量搜索和全文搜索的混合搜索可以兼顾语义理解和精度,实现最佳召回。 -
• 2.2.2 全文搜索的挑战 -
• 稀疏向量难以完全替代全文搜索,实现强大的全文搜索需要考虑短语查询、停用词处理、动态剪枝等问题。 -
• 2.2.3 数据库支持 -
• Elasticsearch 和 Infinity 等数据库支持混合搜索,其中 OpenAI 收购 Rockset 突显了混合搜索的重要性。 -
• 2.3 排序模型 -
• 2.3.1 嵌入模型与重排序器模型 -
• 嵌入模型用于粗过滤,重排序器模型用于精细排序,交叉编码器架构的重排序器模型精度更高但计算成本也更高。 -
• 2.3.2 基于 LLM 的重排序模型 -
• 基于 LLM 的重排序模型在 MTEB 排行榜上表现出色,但推理成本较高。 -
• 2.3.3 后期交互模型与基于张量的重排序 -
• 后期交互模型通过基于张量的重排序,在性能和成本之间取得了平衡,具有广泛的应用前景。 -
• 2.4 语义差距 -
• 2.4.1 语义差距的解决方案 -
• RAPTOR 通过预聚类和摘要生成,SiReRAG 通过构建分层树结构,GraphRAG 通过构建知识图谱,来解决语义差距问题。 -
• 2.4.2 GraphRAG 的优化 -
• Fast GraphRAG、LightRAG、LazyGraphRAG 等变体通过简化结构或减少 LLM 调用来降低 GraphRAG 的计算成本。 -
• 2.4.3 GraphRAG 的工程实现 -
• 使用图数据库或具有丰富索引功能的数据库可以高效实现 GraphRAG。 -
• 2.5 Agentic 和 Memory -
• 2.5.1 Agentic RAG -
• Agentic RAG 通过引入 Agent 的“闭环”/反思能力,实现自适应的 RAG 流程。 -
• 2.5.2 多 Agent 协作 -
• 多个自主 Agent 的协作可以提高复杂问答任务的效率和准确性。 -
• 2.5.3 内存管理 -
• RAG 需要提供内存管理功能,以支持 Agent 的实时上下文访问和推理。 -
• 2.6 多模态 RAG -
• 2.6.1 VLM 的发展 -
• VLM 实现了对图像的更深入理解,能够全面分析企业级多模态文档。 -
• 2.6.2 多模态 RAG 的实现方式 -
• 多模态 RAG 可以通过 OCR 将文档转换为文本,或利用 VLM 直接生成向量,后者绕过了复杂的 OCR 过程。 -
• 2.6.3 张量在多模态 RAG 中的应用 -
• 基于张量的后期交互模型在多模态 RAG 检索中表现出色,张量在多模态 RAG 中具有广泛的应用前景。 -
• 三、总结与展望 -
• RAG 是一个高度复杂的系统,在 2025 年将继续快速发展,特别是多模态 RAG 领域。
一、RAG 演进中的关键事件
1.1 争论:“RAG 已死,RAG 万岁!”
2024 年初,这一年被一些人称为“RAG 元年”,尽管这一称谓尚未得到广泛认同。然而,全年取得的进展无疑证明了这个称号。在涉及大型语言模型(Large Language Models, LLMs)的场景中,RAG 一直被证明是不可或缺的角色。然而,自其诞生以来,关于 RAG 的争论从未停止。如上图所示,“RAG”一词在 2023 年并未被广泛使用;相反,诸如“外部记忆”或“外部知识库”等临时术语更为普遍。当时的主要争论集中在使用临时外部解决方案还是永久微调上。到 2024 年初,这场争论基本已经平息:RAG 在成本和实时性能方面提供了明显的优势,与微调相比,效果上只有微小的差异。即使在需要微调的场景中,RAG 通常仍然是必不可少的。
1.2 开源 LLM 对行业的影响
在 2024 年上半年,对行业最重要的影响之一是开源 LLM 与以 OpenAI 为首的商业 LLM 逐渐趋同。这意味着与 2023 年相比,摘要和指令遵循等功能得到了显著改进。这一进展推动了问答、客户服务和知识库等基础 RAG 应用的广泛落地。在此期间,LLM 的另一个显著进步是长程上下文窗口——这一特性在今年上半年引发了争议,但在年中逐渐平息。与之前的争论类似,人们得出结论,长程上下文窗口和传统方法各有优势,最好结合使用。

此外,像 LLMOps 这样的架构的成熟使得企业和个人能够使用向量数据库、嵌入/重排序模型、LLM 本身、分块工具和提示管理技术等组件快速建立自己的定制系统,这些组件通过表示数据流的箭头连接起来,确保系统的可用性。

然而,将其应用于更广泛的场景和企业,并将其发展与 LLM 的进步相结合,仍然面临着重大的技术挑战。参考文献 [29] 和 [30] 概述了应对这些挑战的传统学术方法。尽管一些原则和实践被广泛接受,但实际分析表明,RAG 主要面临三个主要问题:
-
1. 对非结构化多模态文档的问答效果不佳:现有的 LLMOps 解决方案仅限于纯文本场景。PDF、PowerPoint 演示文稿(PPT)或将文本与图像集成的文档等文档无法释放其全部商业潜力。这些类型的文档通常构成企业数据的大部分。 -
2. 由于纯向量数据库导致的低召回率和命中率:仅依赖向量数据库会导致低召回率和命中率,阻碍了有效的实际问答。这是由于向量表示无法精确表示精确信息以及检索过程中的语义损失。 -
3. 搜索的基本挑战:RAG 的核心依赖于搜索能力。只有当它能够根据用户的查询“搜索”到答案时,它才有效。然而,对于缺乏明确意图的模糊或歧义查询,或者需要从多个子问题中综合的“多跳”问题,这一先决条件往往会失败。在这种情况下,提出的问题和检索到的答案之间存在显著的语义差距,使得传统的搜索方法无效。
因此,以下具有里程碑意义的事件围绕着 RAG 的技术挑战展开:
-
• 多模态文档解析工具的兴起。 -
• BM25 和混合搜索的出现,使得纯向量数据库不再需要作为一个单独的类别。
2024 年 4 月 1 日,我们开源了完整的 RAG 引擎 RAGFlow,到年底,它在 GitHub 上已经获得了超过 26,000 个星标。RAGFlow 最初的两个设计亮点已成为 RAG 架构的通用设计原则:
首先,虽然朴素的 RAG 系统只提供基于文本的分块工具,但 RAGFlow 引入了针对非结构化数据的语义分块步骤,以确保输入数据质量。这涉及使用专门训练的模型来解析文档布局,避免了简单文本分块工具对不同数据布局造成的干扰。随着开源社区越来越多地使用这些模型来解析各种文档,这种方法已得到广泛接受。
其次,从一开始,我们就坚定地采用企业级搜索引擎来提供混合搜索作为唯一的后端数据库。通过集成支持 BM25 的全文搜索引擎,我们确保了查询的精确性。尽管 BM25 算法已提出近三十年,但 RAG 的兴起为其注入了新的活力。今年,许多向量数据库开始提供 BM25;值得注意的是,著名的向量数据库 Qdrant 甚至提出了一个改进版本 BM42,后来证明这是一个错误。尽管许多数据库声称支持 BM25,但很少有真正满足 RAG 的基本要求。然而,BM25 的兴起是不可否认的;纯向量数据库不再需要作为一个单独的类别存在,因为混合搜索的概念已得到广泛接受。
RAGFlow 可以被认为是这两个事件背后的关键驱动因素之一。
1.3 GraphRAG 的兴起
微软年中开源 GraphRAG 是一个开创性的事件。作为一个库而不是端到端的解决方案,GraphRAG 的迅速崛起突显了它解决检索增强生成(RAG)关键问题的能力,特别是语义差距。这个问题长期以来一直是搜索系统开发人员面临的挑战,因为查询和答案往往无法完美对齐。当搜索系统演变成 RAG 模型时,这个问题被放大了:虽然传统搜索查询由几个关键字定义,但 RAG 查询是用户的问题。从关键字到问题的转变使得用户意图更难辨别,从而加剧了这种语义差距。GraphRAG 是一种旨在弥合这种差距的设计。

1.4 基于 VLM 和后期交互模型的多模态 RAG
这两大事件都涉及排序模型的升级,并且需要在数据库级别提供原生张量支持。对于第一个事件,采用后期交互模型有效地在数据库级别提供了类似于重排序模型的功能。对于第二个事件,这种方法为企业内更复杂的文档(如杂志和饼图)释放了更大的商业价值。基于这一观察,我们在今年早些时候开源的专为 RAG 设计的数据库 Infinity 中完全实现了这些功能。尽管这些功能尚未应用于 RAGFlow,但它们的影响已经开始从前沿向更广泛的行业蔓延。
以下是从工业和学术角度对 RAG 在 2024 年技术发展的总结。RAG 一直是今年研究的热门话题。自今年年初以来,关于 RAG 主题的预印本频率已达到每周十多篇,有些星期甚至多达几十篇。这些论文主要关注与 RAG 的应用、调整和评估相关的实验,从而得出各种结论。本文并非旨在对 RAG 进行全面的学术调查;已经有许多此类工作 [参考文献 27] [参考文献 28],包括蚂蚁集团最近对 RAG 72 的总结 [参考文献 38]。本文从结合工业和学术的角度出发,根据实际应用总结了这一年具有代表性的工作。其中许多贡献并未严格涵盖在专注于 RAG 的论文中。我们认为 RAG 不仅仅是一个简单的应用;相反,它是一个以搜索为中心的复杂系统,集成了各种数据类型、基础组件以及一系列大大小小的模型协同工作。每个子问题都有相应的工作,因此不仅要回顾 RAG 本身,还要保持更广阔的视角。
二、关键技术进展
2.1 数据清洗
确保数据质量(Quality In)对于获得高质量结果(Quality Out)至关重要,这是一个自然的概念。对于多模态非结构化文档,采用视觉模型来解析文档布局可确保高质量的数据输入。这个问题在学术界早已得到认识,并被广泛称为文档智能。然而,以前的文档智能方法与 RAG 的联系并不紧密,并且通常涉及多个缺乏内聚集成的子任务。例如,表格处理有一个称为表格结构识别(Table Structure Recognition, TSR)的专用任务,并且对于其他类型的图像(如公式、流程图和饼图)也存在类似的专用模型。通过将这些模型统一到一个文档布局识别框架中,我们建立了使用模型进行数据清洗以支持 RAG 的第一步。

文档结构识别模型的任务是识别非结构化文档中不同语义区域的坐标。此类模型已在一些 OCR 系统中实现;例如,著名的 PaddleOCR [参考文献 1] 就包括文档结构识别的功能。因此,前面提到的各种任务,包括表格处理,通常被称为广义 OCR,可以看作是 RAG 的入口点。
RAGFlow 的 DeepDoc 模块是最早完全实现这些功能的系统之一,这对其开源后的快速增长做出了重大贡献。目前,有几个类似的系统,如 MinerU [参考文献 2] 和 Docling [参考文献 3]。将文档智能应用于 RAG 代表了一个广阔的发展领域,导致该领域的迭代加速。
从方法论上讲,文档智能模型可以分为两代:
-
• 第一代:这包括过去类似的工作和当前主流的开源项目,如 RAGFlow DeepDoc 模块。这些工作建立在传统的视觉模型之上。虽然它们可以在 CPU 上运行,但它们在不同场景中的泛化能力有限。因为它们需要针对不同的上下文和数据进行单独的训练,所以这项技术被通俗地称为“绣花”。 -
• 第二代:当前的 OCR 技术正朝着生成式 AI 架构发展。早期的例子包括 Meta 的 Nougat [参考文献 4],以及最新的 OCR 2.0 [参考文献 5],它们采用基于 Transformer 的统一编码器-解码器架构来从图像识别中生成文本结果。这些进展与后文所述的多模态 VLM 存在诸多共通之处。例如,StructEqTable [参考文献 6] 直接将类似的网络结构应用于表格重建。RAGFlow 的企业版也使用这种架构进行文档处理。尽管生成式 AI 模型推理无法在 CPU 上运行,但它们在各种场景中的泛化能力与传统视觉模型相比有了显著提高。使用多模态模型进行文档智能的另一个好处是能够将文本信息合并到文档布局中。今年的一项代表性工作 M2Doc [参考文献 23] 将 BERT 集成到基于视觉的编码器-解码器架构中,增强了文本和段落语义边界的识别。
在即将到来的 2025 年,基于编码器-解码器架构的研究预计将进一步推进。我们可以预期,一个统一的多模态文档解析模型可能会得到发展,该模型能够准确地将各种非结构化文档转换为文本内容。
(文:子非AI)