Datawhale干货
作者:张龙斐,Datawhale鲸英助教
本文主要回顾 RAG 技术的发展,第一部分梳理了综述和关键论文,第二部分梳理了工程实践工具。
RAG检索增强生成技术自从出现以来经过了多轮范式迭代进展,尤其是随着近几年LLMs的广泛应用,2024年RAG技术呈现爆发态势,全年共计产生了一千篇以上的相关论文。
在经过多轮范式迭代和技术进展后,RAG系统已经从最初的简单形态变得越来越复杂越来越完善,范式从 NaiveRAG 到 AdvancedRAG 到 ModularRAG 再到 GraphRAG,最新的 AgenticRAG 范式融合了数据库,模型微调,逻辑推理,智能体等多种技术,使得其可以适应于各种复杂灵活的任务场景中。
本文梳理了 RAG 领域的关键进展和五大范式,并总结了工程应用中常见的RAG系统构建工具。希望能帮助读者快速了解RAG的基础概念,梳理发展脉络。
[1] ZHAO P, ZHANG H, YU Q, 等. Retrieval-Augmented Generation for AI-Generated Content: A Survey[A/OL]. arXiv, 2024[2024-06-21]. http://arxiv.org/abs/2402.19473.
[2] GAO Y, XIONG Y, GAO X, 等. Retrieval-Augmented Generation for Large Language Models: A Survey[A/OL]. arXiv, 2024[2024-03-27]. http://arxiv.org/abs/2312.10997.(best)
[3] FAN W, DING Y, NING L, 等. A Survey on RAG Meeting LLMs: Towards Retrieval-Augmented Large Language Models[A/OL]. arXiv, 2024[2024-06-17]. http://arxiv.org/abs/2405.06211.
这三篇综述把RAG的三个基本范式,朴素RAG、高级RAG、模块化RAG介绍的非常清楚明了。
自2021年RAG技术出现之后,RAG首先被用于LLMs的预训练阶段来增强语言模型,随后被用于微调与推理任务中。自ChatGPT发布以来,用于推理阶段的RAG方法如雨后春笋般大量出现,并且迅速演化出了三种范式,分别是NaiveRAG,AdvancedRAG与ModularRAG;2024年微软开源的GraphRAG开启了RAG的第四种范式,融合了知识图谱;在2024年下半年AgenticRAG出现,是前四种范式的集大成者,且具有自适应性。
图1:按照主要设计重点、提出时间及影响力(以引用量体现)梳理的检索增强生成(RAG)和检索增强大语言模型(RA - LLMs)方法。请注意,图中所示的第一作者、年份以及模型名称可用于查找相应参考文献。[3]
图2:RAG研究技术树。涉及RAG的阶段主要包括预训练、微调和推理。随着LLMs的出现,对RAG的研究最初侧重于利用LLMs强大的上下文学习能力,主要集中在推理阶段。随后的研究更加深入,逐渐与LLMs的微调相结合。研究人员也一直在探索通过检索增强技术在预训练阶段增强语言模型的方法。[3]
大型语言模型(LLMs)已经取得了显著的成就,尽管它们仍然面临着很大的局限性,尤其是在特定领域或知识密集型任务中,特别是在处理超出其训练数据或需要当前信息的查询时,会产生 "幻觉"。为了克服这些挑战,检索增强生成(RAG)通过语义相似性计算从外部知识库中检索相关文档块,从而增强了 LLM。通过引用外部知识,RAG 可有效减少生成与事实不符内容的问题。将 RAG 集成到 LLM 中已被广泛采用,RAG 已成为推动聊天机器人发展的一项关键技术,并提高了 LLM 在现实世界应用中的适用性。
[4]LEWIS P, PEREZ E, PIKTUS A, 等. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks[A/OL]. arXiv, 2021[2025-01-27]. http://arxiv.org/abs/2005.11401. DOI:10.48550/arXiv.2005.11401.
摘要:大型预训练语言模型已被证明可以将事实知识存储在其参数中,并在下游 NLP 任务中进行微调后获得最先进的结果。然而,它们访问和精确操作知识的能力仍然有限,因此在知识密集型任务上,它们的性能落后于特定任务架构。此外,为它们的决策提供出处和更新它们的世界知识仍然是有待解决的研究课题。迄今为止,具有显式非参数内存可变访问机制的预训练模型只针对下游提取任务进行过研究。我们为检索增强生成(RAG)探索了一种通用的微调方法--将预先训练的参数记忆和非参数记忆结合起来用于语言生成的模型。我们引入的 RAG 模型中,参数记忆是预先训练的 seq2seq 模型,非参数记忆是维基百科的密集向量索引,通过预先训练的神经检索器访问。我们比较了两种 RAG 方案,一种是在整个生成序列中使用相同的检索段落,另一种是每个标记使用不同的段落。我们在广泛的知识密集型 NLP 任务中对我们的模型进行了微调和评估,并在三个开放领域的质量保证任务中确定了技术水平,其性能优于参数 seq2seq 模型和特定任务的检索和提取架构。在语言生成任务中,我们发现 RAG 模型生成的语言比最先进的纯参数 seq2seq 基线模型生成的语言更具体、更多样、更真实。
创新: 这篇论文试图解决的问题是如何在知识密集型的自然语言处理(NLP)任务中,有效地结合预训练的语言模型(具有参数化记忆)和非参数化记忆(通过检索机制访问的外部知识库),以提高模型的性能。具体来说,论文提出了一种名为检索增强生成(Retrieval-Augmented Generation, RAG)的模型,旨在通过以下方式解决现有模型的局限性:
为了解决这些问题,论文提出了RAG模型,它结合了预训练的序列到序列(seq2seq)模型(作为参数化记忆)和通过预训练神经检索器访问的维基百科密集向量索引(作为非参数化记忆)。RAG模型通过端到端训练,能够在多种知识密集型任务上实现最先进的性能,同时生成更具体、多样和事实性的语言。
图3:应用于问答的RAG过程的代表性实例。它主要包括3个步骤。1)索引。文档被分割成块,编码成向量,存储在向量数据库中。2)检索。根据语义相似度检索与问题最相关的Top k块。3)生成。将原始问题和检索到的块一起输入LLM,生成最终答案。[2]
图4:RAG三种范式的比较。(左)朴素RAG主要由三部分组成:索引、检索和生成。(中)高级RAG围绕检索前和检索后提出了多种优化策略,其过程与朴素RAG相似,仍然遵循链状结构。(右)模块化RAG继承和发展了以前的范式,整体上展示了更大的灵活性。这在引入多个特定功能模块和替换现有模块方面表现得很明显。整个过程并不局限于顺序检索和生成;它包括迭代和自适应检索等方法。[2]
图5:RAG技术生态系统总览[2]
高级 RAG 引入了具体的改进措施,以克服 Naive RAG 的局限性。为了提高检索质量,它采用了检索前和检索后策略。为了解决索引问题,高级 RAG 通过使用滑动窗口方法、细粒度分割和元数据的整合,改进了索引技术。此外,它还采用了多种优化方法来简化检索过程。
[5] JIN J, ZHU Y, YANG X, 等. FlashRAG: A Modular Toolkit for Efficient Retrieval-Augmented Generation Research[A/OL]. arXiv, 2024[2024-11-03]. http://arxiv.org/abs/2405.13576. DOI:10.48550/arXiv.2405.13576.
摘要:随着大型语言模型(LLMs)的出现,检索增强生成(RAG)技术的潜力引起了相当多的研究关注。为了增强 RAG 系统的各个方面,人们引入了许多新颖的算法和模型。然而,由于缺乏标准化的实施框架,再加上 RAG 过程本身错综复杂,研究人员在一致的环境中比较和评估这些方法既具有挑战性,又耗费时间。现有的 RAG 工具包(如 LangChain 和 LlamaIndex)虽然可用,但往往笨重臃肿,无法满足研究人员的个性化需求。为了应对这一挑战,我们提出了 FlashRAG,这是一个高效、模块化的开源工具包,旨在帮助研究人员在统一的框架内复制现有的 RAG 方法和开发自己的 RAG 算法。我们的工具包实现了 12 种先进的 RAG 方法,并收集和整理了 32 个基准数据集。我们的工具包具有多种功能,包括可定制的模块化框架、丰富的预实现 RAG 作品集、全面的数据集、高效的辅助预处理脚本以及广泛而标准的评估指标。我们的工具包和资源可在 https://github.com/RUC-NLPIR/FlashRAG 上获取。
创新:
A:论文提出了FlashRAG,一个模块化的开源工具包,来解决在RAG研究中遇到的问题。以下是FlashRAG解决这些问题的关键特性和方法:
通过这些特性,FlashRAG旨在帮助研究人员更容易地复制现有的RAG方法,开发新的算法,并专注于优化他们的研究。
图6:FlashRAG工具箱总览
图7:高级RAG链 来源:https://github.com/gomate-community/TrustRAG
[6] SARMAH B, HALL B, RAO R, 等. HybridRAG: Integrating Knowledge Graphs and Vector Retrieval Augmented Generation for Efficient Information Extraction[A/OL]. arXiv, 2024[2024-08-24]. http://arxiv.org/abs/2408.04948. DOI:10.48550/arXiv.2408.04948.
摘要:从金融应用中产生的非结构化文本数据(如财报电话会议记录)中提取和解读复杂信息,即便采用当前运用检索增强生成(RAG,即利用向量数据库进行信息检索的 VectorRAG 技术)的最佳实践,对大语言模型(LLMs)来说仍是巨大挑战,这是由于特定领域术语以及文档格式复杂等难题所致。我们引入一种全新的组合方法 ——HybridRAG,它融合了基于知识图谱(KGs)的 RAG 技术(即 GraphRAG)与 VectorRAG 技术,以增强从金融文档中提取信息的问答(Q&A)系统,该系统能够生成准确且与上下文相关的答案。我们对一组以问答格式呈现的财报电话会议记录文档进行实验,这些文档自然地提供了一系列真实的问答对。实验表明,在检索和生成阶段,从向量数据库和知识图谱中同时检索上下文的 HybridRAG,在检索准确率和答案生成方面,均优于单独使用的传统 VectorRAG 和 GraphRAG。所提出的技术应用范围不仅限于金融领域。
创新:
相关研究主要集中在信息检索(IR)领域,包括以下几个方面:
这些相关研究为论文提出的“Blended RAG”方法提供了理论和技术基础,特别是在语义搜索和混合查询策略方面。
模块化 RAG 架构超越了前两种 RAG 范式,具有更强的适应性和多功能性。它采用了多种策略来改进其组件,例如为相似性搜索添加搜索模块,以及通过微调完善检索器。为应对特定挑战,还引入了重组 RAG 模块和重排 RAG 管道等创新方法。向模块化 RAG 方法的转变正变得越来越普遍,它既支持顺序处理,也支持跨组件的集成端到端训练。尽管模块化 RAG 与众不同,但它建立在高级 RAG 和朴素 RAG 的基本原则之上,表明了 RAG 系列的进步和完善。
[7] GAO Y, XIONG Y, WANG M, 等. Modular RAG: Transforming RAG Systems into LEGO-like Reconfigurable Frameworks[A/OL]. arXiv, 2024[2024-08-24]. http://arxiv.org/abs/2407.21059. DOI:10.48550/arXiv.2407.21059.
摘要:检索增强生成(RAG)显著增强了大型语言模型(LLM)处理知识密集型任务的能力。应用场景日益增长的需求推动了 RAG 的发展,导致高级检索器、大型语言模型和其他互补技术的集成,反过来又扩大了 RAG 系统的复杂性。然而,快速的进步正在超越基本的 RAG 范式,许多方法在 "先检索后生成 "的过程中难以统一。在此背景下,本文探讨了现有 RAG 范式的局限性,并介绍了模块化 RAG 框架。通过将复杂的 RAG 系统分解为独立的模块和专门的运算符,它为高度可重构的框架提供了便利。模块化 RAG 超越了传统的线性架构,采用了更先进的设计,集成了路由、调度和融合机制。本文在广泛研究的基础上,进一步确定了流行的 RAG 模式--线性、条件、分支和循环,并全面分析了它们各自在实现上的细微差别。模块化 RAG 为 RAG 系统的概念化和部署提供了创新机会。最后,本文探讨了新运算符和新范例的潜在出现,为 RAG 技术的持续发展和实际部署奠定了坚实的理论基础和实践路线图。 创新:
论文通过提出模块化RAG(Modular RAG)框架来解决现有RAG系统的局限性和挑战。具体的解决策略包括:
通过这些策略,模块化RAG框架旨在提高RAG系统的灵活性、可扩展性和可维护性,同时满足不断增长和多样化的应用需求和期望。
图8:三种 RAG 范式之间的比较。
检索增强生成(RAG)是一种强大的技术,它通过从外部来源检索知识、技能和工具等附加信息来增强下游任务的执行。图本身具有 "节点由边连接 "的特性,可以编码大量的异构和关系信息,这使其成为 RAG 在大量实际应用中的黄金资源。
[8] PENG B, ZHU Y, LIU Y, 等. Graph Retrieval-Augmented Generation: A Survey[A/OL]. arXiv, 2024[2024-08-21]. http://arxiv.org/abs/2408.08921.
摘要:最近,检索增强生成技术(RAG)在应对大型语言模型(LLM)的挑战方面取得了显著的成功,而无需重新训练。通过参考外部知识库,RAG 完善了 LLM 的输出,有效缓解了 "幻觉"、特定领域知识缺乏和信息过时等问题。然而,数据库中不同实体之间复杂的关系结构给 RAG 系统带来了挑战。为此,GraphRAG 利用实体间的结构信息,实现更精确、更全面的检索,捕捉关系知识,促进更准确、更能感知上下文的响应。鉴于 GraphRAG 的新颖性和潜力,对当前技术进行系统回顾势在必行。本文首次全面概述了 GraphRAG 方法。我们将 GraphRAG 工作流程正规化,包括基于图形的索引、图形引导的检索和图形增强的生成。此外,我们还研究了 GraphRAG 的下游任务、应用领域、评估方法和工业用例。最后,我们探讨了未来的研究方向,以激发进一步的探索并推动该领域的进步。
贡献:
这篇论文提供了对Graph Retrieval-Augmented Generation (GraphRAG) 方法论的全面概述。以下是论文的主要内容总结:
整体而言,这篇论文为理解和应用GraphRAG提供了一个全面的视角,并为未来的研究和应用指明了方向。
[9] EDGE D, TRINH H, CHENG N, 等. From Local to Global: A Graph RAG Approach to Query-Focused Summarization[A/OL]. arXiv, 2024[2024-08-03]. http://arxiv.org/abs/2404.16130. DOI:10.48550/arXiv.2404.16130.
摘要:通过检索增强生成(RAG),大型语言模型(LLM)能够从外部知识源检索信息,从而回答涉及私有或未见文档的问题。然而,RAG 在处理全局问题(如“数据集的主要主题是什么?”)时表现不佳,因为这类问题本质上是查询聚焦的摘要任务,而非直接检索。现有的 QFS 方法也难以处理大规模文本。为此,我们提出图 RAG 方法,该方法结合了两种方法的优势,能够随着问题普遍性和文本量的增加而扩展。图 RAG 通过 LLM 构建图索引,先从文档中提取实体图,再预生成相关实体的摘要。在回答问题时,每个摘要生成部分答案,最终汇总为完整回答。实验表明,图 RAG 在处理大规模数据集的全局问题时,能显著提升答案的全面性和多样性。全球和本地图 RAG 的开源 Python 实现即将发布。
创新:
这篇论文提出了一种名为 Graph RAG(Graph Retrieval-Augmented Generation)的方法,旨在解决以下问题:
Graph RAG 方法通过以下步骤来解决这些问题:
该方法的目标是在用户问题的一般性和要索引的源文本数量方面实现扩展,同时提高生成答案的全面性和多样性。论文还提供了一个开源的 Python 实现,用于全局和本地 Graph RAG 方法。
图9:GraphRAG流程。如上图所示,GraphRAG包括两个处理阶段,分别是:索引阶段和查询阶段。索引阶段利用LLM来自动化构建知识图谱,提取出对应的节点(如实体)、边(如关系)和协变量(如主张,claim),然后利用社区发现技术(如Leiden算法)对整个知识图谱进行子图划分,然后自底而上对子图利用LLM进行摘要、总结。针对特定查询,“全局答案(Global Search)”汇总所有与之相关的社区摘要最后汇总生成答案。与传统RAG一样,GraphRAG也需要将源文档转化为文本片段(TextUnits),这个片段既会被用于图谱抽取,也会作为知识的引用源,以便追溯回最初的原始文本内容。
图10:GraphRAG数据流
[9] GUO Z, XIA L, YU Y, 等. LightRAG: Simple and Fast Retrieval-Augmented Generation[A/OL]. arXiv, 2024[2025-01-27]. http://arxiv.org/abs/2410.05779. DOI:10.48550/arXiv.2410.05779.
摘要:检索增强生成(RAG)系统通过整合外部知识源来增强大型语言模型(LLM),从而根据用户需求提供更准确、更贴近语境的回答。然而,现有的 RAG 系统有很大的局限性,包括依赖于平面数据表示和对上下文的认识不足,这可能导致无法捕捉复杂的相互依存关系的零散答案。为了应对这些挑战,我们提出了 LightRAG,将图结构纳入文本索引和检索过程。这一创新框架采用了双层检索系统,从低层次和高层次知识发现两方面加强了综合信息检索。此外,图结构与矢量表示法的整合有助于高效检索相关实体及其关系,从而在保持上下文相关性的同时显著缩短响应时间。增量更新算法进一步增强了这一能力,确保了新数据的及时整合,使系统能够在快速变化的数据环境中保持有效性和响应速度。广泛的实验验证表明,与现有方法相比,LightRAG 在检索准确性和效率方面都有显著提高。我们已将 LightRAG 开源,可通过以下链接获取:https://github.com/HKUDS/LightRAG。
创新:
论文提出了一个名为LightRAG的检索增强型生成(RAG)系统,旨在通过整合图结构改善大型语言模型(LLMs)的信息检索和生成能力。以下是论文的主要内容总结:
总体而言,论文的创新之处在于将图结构应用于文本索引和检索过程,提出了一个能够处理复杂查询并快速适应新数据的高效RAG系统。通过这种方法,LightRAG能够生成更准确、更具上下文相关性的回答,极大地提高了RAG系统在实际应用中的有效性和实用性。
[6] LIANG L, SUN M, GUI Z, 等. KAG: Boosting LLMs in Professional Domains via Knowledge Augmented Generation[A/OL]. arXiv, 2024[2024-11-12]. https://arxiv.org/abs/2409.13731. DOI:10.48550/ARXIV.2409.13731.
摘要:最近发展起来的检索增强生成(RAG)技术能够高效地构建特定领域的应用程序。然而,它也有局限性,包括向量相似性与知识推理相关性之间的差距,以及对数值、时间关系、专家规则等知识逻辑的不敏感性,这些都阻碍了专业领域知识服务的有效性。在这项工作中,我们引入了一个专业领域知识服务框架,称为知识增强生成(KAG)。KAG的设计初衷是为了应对上述挑战,充分发挥知识图谱(KG)和向量检索的优势,通过五个关键方面双向增强大型语言模型(LLM)和知识图谱(KG),从而提高生成和推理性能:(1)LLM友好的知识表示;(2)知识图谱和原始块之间的相互索引;(3)逻辑形式引导的混合推理引擎;(4)知识与语义推理的对齐;(5)KAG的模型能力增强。我们将 KAG 与多跳问题解答中现有的 RAG 方法进行了比较,发现它的性能明显优于最先进的方法,在 F1 分数方面,KAG 在 hotpotQA 上取得了 19.6% 的相对改进,在 2wiki 上取得了 33.5% 的相对改进。我们已将 KAG 成功应用于蚂蚁金服集团的两个专业知识问答任务,包括电子政务问答和电子健康问答,与 RAG 方法相比,在专业性方面取得了显著提高。此外,我们即将在开源KG引擎OpenSPG上原生支持KAG,让开发者可以更轻松地构建严谨的知识决策或便捷的信息检索服务。这将促进 KAG 的本地化开发,使开发人员能够以更高的准确性和效率构建领域知识服务。
创新:
这篇论文提出了一个名为知识增强生成(KAG)的专业领域知识服务框架,旨在解决以下问题:
为了解决这些问题,KAG框架通过双向增强大型语言模型(LLM)和知识图谱(KG),提出了五个关键改进:
通过这些改进,KAG框架在多跳问答任务上的表现显著优于现有的RAG方法,并在蚂蚁集团的电子政务和电子健康问答任务中实现了专业水平的显著提升。
图11:KAG 框架。左侧显示的是 KAG-Builder,右侧显示的是 KAG-Solver。图片底部的灰色区域代表 KAG-模型。
图12:一个专为大型语言模型(LLM)设计的友好型知识表示框架。LLMFriSPG将实例与概念区分开来,通过概念实现与 LLMs 的对接。SPG 的属性被划分为知识区和信息区,也就是静态区和动态区,分别与具有严格模式约束的决策专业知识以及具有开放信息表示的文档检索索引知识相兼容。图中的红色虚线描绘了从信息提炼为知识的融合与挖掘过程。增强的文档块表示方法为 LLMs 提供了可追溯且易于解读的文本上下文。
概念辨析:agent与agentic
在AI领域中,AI Agent(智能体)与Agentic AI(能动AI)虽密切相关却各有侧重。AI Agent是具体的智能实体,能在特定环境中感知、决策并执行动作以完成任务,通常基于机器学习和人工智能技术,具备一定的自主性和自适应性,主要关注单一功能或任务,如AI客服系统。而Agentic AI是一个更广泛的术语,强调AI系统在更高层面上的自主决策和问题解决能力,不仅能够感知和执行任务,还能主动思考、规划和适应环境的变化,涵盖设计和改进AI Agent的方法和框架,探索其更广泛和通用的潜力,目标是实现更广泛、更复杂的任务,能够在动态环境中自主地进行学习和优化,应用范围更广,可在不同领域和场景发挥作用,智能程度更高,不仅能处理数据、决策,还能从互动中学习并优化自身行为,使用更复杂的算法,如强化学习、元学习、大模型结合自监督学习,适用于复杂系统,如自动驾驶系统、智能金融分析、火星探测机器人等,由于其高度自主性和广泛的应用范围,伦理和风险问题更为复杂,需要更多的关注和研究。
Agentic RAG 将 ReACT 的推理能力与 Agent 的任务执行能力相结合,创建一个动态和自适应的系统。与遵循固定管道的传统 RAG 不同,Agentic RAG 通过使用 ReACT 根据用户查询的上下文动态协调 Agent,引入了灵活性。这使得系统不仅能够检索和生成信息,还能够根据上下文、不断变化的目标和与之互动的数据采取明智的行动。这些进步使 Agentic RAG 成为一个更强大和灵活的框架。模型不再仅限于被动响应用户查询;相反,它可以主动规划、执行并调整其方法以独立解决问题。这使得系统能够处理更复杂的任务,动态适应新挑战,并提供更具上下文相关性的响应。
[10] SINGH A, EHTESHAM A, KUMAR S, 等. Agentic Retrieval-Augmented Generation: A Survey on Agentic RAG[A/OL]. arXiv, 2025[2025-01-26]. http://arxiv.org/abs/2501.09136. DOI:10.48550/arXiv.2501.09136.
摘要:大型语言模型(LLM)通过实现类似人类的文本生成和自然语言理解,给人工智能(AI)带来了革命性的变化。然而,对静态训练数据的依赖限制了它们响应动态实时查询的能力,导致输出结果过时或不准确。检索增强生成(RAG)作为一种解决方案应运而生,它通过整合实时数据检索来增强 LLM,从而提供与上下文相关的最新响应。尽管前景看好,但传统的 RAG 系统受到静态工作流程的限制,缺乏多步骤推理和复杂任务管理所需的适应性。Agentic Retrieval-Augmented Generation(Agentic RAG)通过将自主人工智能代理嵌入 RAG 管道,超越了这些限制。这些代理利用代理设计模式--反射、规划、工具使用和多代理协作--动态管理检索策略,迭代完善上下文理解,并调整工作流程以满足复杂的任务要求。这种集成使 Agentic RAG 系统能够在各种应用中提供无与伦比的灵活性、可扩展性和上下文感知能力。本调查报告从代理式 RAG 的基本原理和 RAG 范例的演变开始,对代理式 RAG 进行了全面探讨。它对代理 RAG 架构进行了详细分类,重点介绍了在医疗保健、金融和教育等行业中的关键应用,并探讨了实用的实施策略。此外,该书还探讨了在扩展这些系统、确保道德决策和优化实际应用性能方面的挑战,同时详细介绍了实施 Agentic RAG 的框架和工具。
贡献:
这篇论文提供了对Agentic Retrieval-Augmented Generation(Agentic RAG)的全面探索,主要内容可以总结如下:
整体而言,这篇论文为理解和应用Agentic RAG提供了一个全面的框架,并强调了其在解决传统LLMs局限性和推动AI技术发展中的重要性。
[11] ASAI A, WU Z, WANG Y, 等. Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection[A/OL]. arXiv, 2023[2025-01-27]. http://arxiv.org/abs/2310.11511. DOI:10.48550/arXiv.2310.11511.
摘要:尽管大型语言模型(LLM)具有卓越的能力,但由于它们仅依赖于它们封装的参数知识,因此它们经常产生包含事实不准确性的响应。检索增强生成(RAG),一个特设的方法,增强与检索相关的知识LM,减少这样的问题。然而,不加区别地检索和纳入固定数量的检索通道,无论检索是否必要,或者通道是否相关,都会减少LM的多功能性,或者可能导致无用的响应生成。我们引入了一个新的框架,称为自反射检索增强生成(SELF-RAG),提高LM的质量和真实性,通过检索和自我反思。我们的框架训练了一个任意的LM,它可以根据需要自适应地检索段落,并使用特殊的令牌(称为反射令牌)生成和反射检索到的段落及其自己的世代。生成反射令牌使LM在推理阶段可控,使其能够根据不同的任务需求调整其行为。实验表明,SELFRAG(7 B和13 B参数)显着优于国家的最先进的LLM和检索增强模型在一组不同的任务。具体来说,SELF-RAG在开放域QA、推理和事实验证任务上优于ChatGPT和检索增强的Llama 2-chat,并且相对于这些模型,它在提高长格式生成的真实性和引用准确性方面表现出显着的收益。
创新:
这篇论文提到了多个与SELF-RAG相关的研究领域和具体工作,主要包括以下几个方面:
这些相关工作为SELF-RAG提供了理论基础和实践背景,SELF-RAG在此基础上通过引入自我反思和按需检索的概念,提出了一种新的提高LLMs生成质量的方法。
Agentic RAG 的关键创新在于其能够自主使用工具、做出决策并规划下一步,并且具有推理的能力。管道遵循以下核心阶段:
图13:AgenticRAG工作流程,用户查询提交,之后一个 Agent 在 向量数据库 中搜索,文档以嵌入的形式存储,确保高效快速地检索相关信息,如果检索到的数据不足,Agentic会细化查询并进行额外的检索尝试,以提取更好的结果。使用功能工具进行外部数据获取:如果 向量数据库 缺乏必要的信息,Agent 使用 功能工具 从外部来源(如 API、网络搜索引擎或专有数据流)收集实时数据。这确保系统提供最新和上下文相关的信息。大型语言模型 (LLM) 响应生成:检索到的数据传递给 LLM,它综合这些数据生成针对查询的详细、上下文感知的响应。Agent 驱动的改进:在 LLM 生成响应后,Agentic进一步细化以确保准确性、相关性和连贯性,然后将其交付给用户。
[12] YU S, TANG C, XU B, 等. VisRAG: Vision-based Retrieval-augmented Generation on Multi-modality Documents[A/OL]. arXiv, 2024[2024-10-30]. http://arxiv.org/abs/2410.10594.
这篇论文介绍了一个名为VisRAG(Vision-based Retrieval-augmented Generation)的系统,旨在解决现有检索增强生成(RAG)系统在处理多模态文档时面临的问题。具体来说,VisRAG试图解决以下几个关键问题:
总的来说,VisRAG试图通过建立一个基于VLM的RAG流程,来解决传统RAG系统在处理包含文本和图像的多模态文档时的信息丢失和利用不足的问题。
[13] FAYSSE M, SIBILLE H, WU T, 等. ColPali: Efficient Document Retrieval with Vision Language Models[A/OL]. arXiv, 2024[2024-10-27]. http://arxiv.org/abs/2407.01449. DOI:10.48550/arXiv.2407.01449.
这篇论文主要解决的问题是如何提高文档检索系统在处理视觉丰富文档时的效率和性能。具体来说,论文指出现代文档检索系统虽然在文本匹配方面表现出色,但在有效利用视觉线索(如表格、图形、页面布局或字体等)方面存在不足,这限制了它们在实际文档检索应用中的性能,例如增强型检索(Retrieval Augmented Generation, RAG)。
为了解决这个问题,论文提出了两个主要贡献:
[14] FENG W, HAO C, ZHANG Y, 等. AirRAG: Activating Intrinsic Reasoning for Retrieval Augmented Generation via Tree-based Search[A/OL]. arXiv, 2025[2025-01-27]. http://arxiv.org/abs/2501.10053. DOI:10.48550/arXiv.2501.10053.
这篇论文提出了一个名为AirRAG(Activating Intrinsic Reasoning for Retrieval Augmented Generation via Tree-based Search)的新方法,旨在解决以下问题:
为了解决这些问题,AirRAG通过以下方式进行改进:
总的来说,AirRAG旨在通过结合系统分析和有效的推理动作,显著激活LLMs的内在推理能力,并扩展特定任务的解决方案空间。
https://github.com/mem0ai/mem0?tab=readme-ov-file
Mem0是一个为AI助手和代理提供智能记忆层的开源项目,旨在通过智能记忆层增强AI助手和代理的能力,实现个性化的AI交互。Mem0的核心功能包括:
Mem0的工作流程主要包括以下几个步骤:
[15] FAN T, WANG J, REN X, 等. MiniRAG: Towards Extremely Simple Retrieval-Augmented Generation[A/OL]. arXiv, 2025[2025-01-26]. http://arxiv.org/abs/2501.06713. DOI:10.48550/arXiv.2501.06713.
这篇论文试图解决的主要问题是在资源受限的环境中部署高效的检索增强型生成(Retrieval-Augmented Generation, RAG)系统时面临的挑战。具体来说,论文指出了以下几个关键问题:
为了解决这些问题,论文提出了一个名为MiniRAG的新型RAG系统,该系统通过两个关键技术创新来实现极端简单和高效的设计:语义感知的异构图索引机制和轻量级拓扑增强检索方法。这些创新使得MiniRAG即使在使用SLMs时也能实现与基于LLMs的方法相当的性能,并且只需要25%的存储空间。此外,论文还提供了一个全面的基准数据集,用于在实际的设备上评估轻量级RAG系统在处理复杂查询时的表现。
[16] HAN H, WANG Y, SHOMER H, 等. Retrieval-Augmented Generation with Graphs (GraphRAG)[A/OL]. arXiv, 2025[2025-01-26]. http://arxiv.org/abs/2501.00309. DOI:10.48550/arXiv.2501.00309.
检索增强生成(RAG)是一种强大的技术,它通过从外部来源检索诸如知识、技能和工具等额外信息,来提升下游任务的执行效果。图因其内在的 “由边连接节点” 的特性,编码了大量异构且具有关联性的信息,这使其在众多实际应用中成为RAG的宝贵资源。因此,我们最近看到越来越多的关注聚焦于为RAG配备图结构,即图检索增强生成(GraphRAG)。然而,与传统RAG不同,在传统RAG中检索器、生成器和外部数据源可以在神经嵌入空间中统一设计,而图结构数据的独特性,例如格式多样和特定领域的关系知识,在为不同领域设计GraphRAG时带来了独特且重大的挑战。鉴于GraphRAG广泛的适用性、相关的设计挑战以及其近期的迅速发展,迫切需要对其关键概念和技术进行系统且最新的综述。基于这一动机,我们对GraphRAG进行了全面且最新的综述。
我们的综述首先通过定义其关键组件,包括查询处理器、检索器、组织者、生成器和数据源,提出了一个整体的GraphRAG框架。此外,认识到不同领域的图呈现出不同的关系模式且需要专门的设计,我们回顾了为每个领域量身定制的GraphRAG技术。最后,我们讨论了研究挑战并集思广益提出方向,以激发跨学科的机遇。我们的综述资源库在https://github.com/Graph - RAG/GraphRAG/ 上公开维护。
[17] GUPTA S, RANJAN R, SINGH S N. A Comprehensive Survey of Retrieval-Augmented Generation (RAG): Evolution, Current Landscape and Future Directions[A/OL]. arXiv, 2024[2024-11-08]. http://arxiv.org/abs/2410.12837. DOI:10.48550/arXiv.2410.12837.
本文对检索增强生成(RAG)进行了全面研究,追溯其从基础概念到当前前沿水平的发展历程。RAG 将检索机制与生成式语言模型相结合,以提高输出的准确性,解决大语言模型(LLMs)的关键局限性。该研究探索了 RAG 的基本架构,重点关注检索与生成如何整合,以处理知识密集型任务。
文中详细回顾了 RAG 的重大技术进展,包括检索增强语言模型中的关键创新,以及在问答、摘要和基于知识的任务等各个领域的应用。讨论了近期的研究突破,提出了提高检索效率的新方法。此外,本文还审视了诸如可扩展性、偏差以及部署中的伦理问题等当前面临的挑战。提出了未来的研究方向,重点在于提升 RAG 模型的稳健性、扩大 RAG 模型的应用范围,以及解决其社会影响问题。
本综述旨在为研究人员和从业者提供基础资源,帮助他们理解 RAG 在自然语言处理中的潜力及其发展轨迹。
RAG发展的越来越不像“RAG”了,倒是很像工程实践的框架而且与agent连接越来越紧密,但主要还是依据以下几条思路的研究和创新:
[18] WANG X, WANG Z, GAO X, 等. Searching for Best Practices in Retrieval-Augmented Generation[A/OL]. arXiv, 2024[2025-01-26]. http://arxiv.org/abs/2407.01219. DOI:10.48550/arXiv.2407.01219.
这篇论文探讨了检索增强型生成(Retrieval-Augmented Generation, RAG)技术在提升大型语言模型(Large Language Models, LLMs)性能方面的应用。RAG技术通过结合预训练模型和基于检索的模型的优势,提供了一个增强模型性能的稳健框架。然而,尽管RAG技术在整合最新信息、减少幻觉(hallucinations)和提高响应质量方面已被证明是有效的,特别是在专业领域,但现有的RAG方法仍然存在实施复杂和响应时间过长的问题。
论文的主要目标是通过广泛的实验来识别RAG的最佳实践,以平衡性能和效率。具体来说,论文试图解决的问题包括:
论文通过实验研究了现有的RAG方法及其潜在的组合,并提出了一些策略,以便于在不同的应用场景中部署RAG,同时平衡性能和效率。此外,论文还展示了如何通过“检索即生成”策略,利用多模态检索技术显著提升对视觉输入的问题回答能力,并加速多模态内容的生成。
这里langchain,llama_index等python包当然也是可以的,但是开发难度比较高。
另一种是用多模态大模型方案构建端到端的RAG流程
检索增强生成(RAG)技术虽然在提升内容准确性和相关性方面具有显著优势,但在实际应用中也存在一些痛点。根据参考资料,我们可以大致总结下存在的共性痛点以及解决方案:
[1] ZHAO P, ZHANG H, YU Q, 等. Retrieval-Augmented Generation for AI-Generated Content: A Survey[A/OL]. arXiv, 2024[2024-06-21]. http://arxiv.org/abs/2402.19473.
[2] GAO Y, XIONG Y, GAO X, 等. Retrieval-Augmented Generation for Large Language Models: A Survey[A/OL]. arXiv, 2024[2024-03-27]. http://arxiv.org/abs/2312.10997.(best)
[3] FAN W, DING Y, NING L, 等. A Survey on RAG Meeting LLMs: Towards Retrieval-Augmented Large Language Models[A/OL]. arXiv, 2024[2024-06-17]. http://arxiv.org/abs/2405.06211.
[4]LEWIS P, PEREZ E, PIKTUS A, 等. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks[A/OL]. arXiv, 2021[2025-01-27]. http://arxiv.org/abs/2005.11401. DOI:10.48550/arXiv.2005.11401.
[5] JIN J, ZHU Y, YANG X, 等. FlashRAG: A Modular Toolkit for Efficient Retrieval-Augmented Generation Research[A/OL]. arXiv, 2024[2024-11-03]. http://arxiv.org/abs/2405.13576. DOI:10.48550/arXiv.2405.13576.
[6] SARMAH B, HALL B, RAO R, 等. HybridRAG: Integrating Knowledge Graphs and Vector Retrieval Augmented Generation for Efficient Information Extraction[A/OL]. arXiv, 2024[2024-08-24]. http://arxiv.org/abs/2408.04948. DOI:10.48550/arXiv.2408.04948.
[7] GAO Y, XIONG Y, WANG M, 等. Modular RAG: Transforming RAG Systems into LEGO-like Reconfigurable Frameworks[A/OL]. arXiv, 2024[2024-08-24]. http://arxiv.org/abs/2407.21059. DOI:10.48550/arXiv.2407.21059.
[8] PENG B, ZHU Y, LIU Y, 等. Graph Retrieval-Augmented Generation: A Survey[A/OL]. arXiv, 2024[2024-08-21]. http://arxiv.org/abs/2408.08921.
[9] EDGE D, TRINH H, CHENG N, 等. From Local to Global: A Graph RAG Approach to Query-Focused Summarization[A/OL]. arXiv, 2024[2024-08-03]. http://arxiv.org/abs/2404.16130. DOI:10.48550/arXiv.2404.16130.
[10] SINGH A, EHTESHAM A, KUMAR S, 等. Agentic Retrieval-Augmented Generation: A Survey on Agentic RAG[A/OL]. arXiv, 2025[2025-01-26]. http://arxiv.org/abs/2501.09136. DOI:10.48550/arXiv.2501.09136.
[11] ASAI A, WU Z, WANG Y, 等. Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection[A/OL]. arXiv, 2023[2025-01-27]. http://arxiv.org/abs/2310.11511. DOI:10.48550/arXiv.2310.11511.
[12] YU S, TANG C, XU B, 等. VisRAG: Vision-based Retrieval-augmented Generation on Multi-modality Documents[A/OL]. arXiv, 2024[2024-10-30]. http://arxiv.org/abs/2410.10594.
[13] FAYSSE M, SIBILLE H, WU T, 等. ColPali: Efficient Document Retrieval with Vision Language Models[A/OL]. arXiv, 2024[2024-10-27]. http://arxiv.org/abs/2407.01449. DOI:10.48550/arXiv.2407.01449.
[14] FENG W, HAO C, ZHANG Y, 等. AirRAG: Activating Intrinsic Reasoning for Retrieval Augmented Generation via Tree-based Search[A/OL]. arXiv, 2025[2025-01-27]. http://arxiv.org/abs/2501.10053. DOI:10.48550/arXiv.2501.10053.
[15] FAN T, WANG J, REN X, 等. MiniRAG: Towards Extremely Simple Retrieval-Augmented Generation[A/OL]. arXiv, 2025[2025-01-26]. http://arxiv.org/abs/2501.06713. DOI:10.48550/arXiv.2501.06713.
[16] HAN H, WANG Y, SHOMER H, 等. Retrieval-Augmented Generation with Graphs (GraphRAG)[A/OL]. arXiv, 2025[2025-01-26]. http://arxiv.org/abs/2501.00309. DOI:10.48550/arXiv.2501.00309.
[17] GUPTA S, RANJAN R, SINGH S N. A Comprehensive Survey of Retrieval-Augmented Generation (RAG): Evolution, Current Landscape and Future Directions[A/OL]. arXiv, 2024[2024-11-08]. http://arxiv.org/abs/2410.12837. DOI:10.48550/arXiv.2410.12837.
[18] WANG X, WANG Z, GAO X, 等. Searching for Best Practices in Retrieval-Augmented Generation[A/OL]. arXiv, 2024[2025-01-26]. http://arxiv.org/abs/2407.01219. DOI:10.48550/arXiv.2407.01219.
[19] Papers with Code - RAG[EB/OL]. [2025-01-28]. https://paperswithcode.com/task/rag.
[20] Graph Memory[EB/OL]. [2025-01-28]. https://docs.mem0.ai/open-source/graph-memory.
[21] OROZ T. Comparative Analysis of Retrieval Augmented Generator and Traditional Large Language Models[J]. Data Science.
[22] INFINIFLOW. 万字长文梳理 2024 年的 RAG[EB/OL]. [2025-01-28]. http://mp.weixin.qq.com/s?__biz=MzkyMTU5MDM2MQ==&mid=2247484133&idx=1&sn=196c5c05baa8896555c8f2cab895c681&chksm=c039ee778047e58bc96c44caafb88d17168076736c090a08da93a6f44704a67634c09063da15#rd.
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有