分享
Agentic RAG 架构的基本原理与应用入门
输入“/”快速插入内容
Agentic RAG 架构的基本原理与应用入门
Agentic RAG 架构的基本原理与应用入门
在大模型领域技术的发展历程中,提高信息检索的效率和准确性是各行各业都在亟需解决的应用难题。在
2023
年占据主导技术地位的是检索增强生成 (RAG)技术,通过将大模型 ( LLMs ) 与外部数据检索相集成,彻底改变了人工智能系统,从而可以做出更明智、上下文更准确的响应。
然而,随着需求变得更加复杂,传统的
RAG
系统通常无法处理细致入微的查询、多步骤推理和动态变化的上下文。而随着2024年AI Agent在工作流程方面有了巨大进步,才有了现在我们正在提及的代理检索增强生成(Agentic RAG) —— RAG 范式的创新演变。
通过将智能、自主代理纳入检索过程,Agentic RAG 提升了传统系统的功能,使它们能够更有效地适应、推理和响应。这些代理不仅仅是被动的检索者,而且是主动的参与者,能够规划、决策并利用专门的工具来实现其目标。
顾名思义,Agentic RAG 是结合了 RAG 和 AI Agent 两大技术领域而形成的新范式,接下来的内容,我们就针对这样的一个新范式展开详细的介绍和实践。为了帮助大家更好地理解 Agentic RAG,我将首先分别介绍 RAG 和 AI Agent 架构的独立工作原理,然后再将它们结合起来,展示如何最终形成 Agentic RAG。
1. 什么是RAG?
Retrieval-Augmented Generation (RAG) 是帮助大模型更好地回答问题的一种方式
。在大模型的应用场景中,一个非常常见的需求是:我们手里有一堆文档,当遇到一个问题时,希望通过其中的一段文本来找到答案。这时,RAG(检索增强生成)技术就能派上用场。它的作用就是从这些文档中找到最相关的信息,然后利用大模型生成精准的回答。简单来说,
RAG
就是帮助大模型‘找到’并‘利用’最相关的信息来回答你的问题,就像一个聪明的助手快速翻阅资料给你最合适的答案。如下图所示:
能这样实现的原因在于已经有非常多的实验论文能够证明,当为大模型提供一定的上下文信息后,其输出会变得更稳定。那么,将知识库中的信息或掌握的信息先输送给大模型,再由大模型服务用户,就是大家普遍达成共识的一个结论和方法。传统的对话系统、搜索引擎等核心依赖于检索技术,如果将这一检索过程融入大模型应用的构建中,既可以充分利用大模型在内容生成上的能力,也能通过引入的上下文信息显著约束大模型的输出范围和结果,同时还实现了将私有数据融入大模型中的目的,达到了双赢的效果。
从技术实现细节上看,
RAG
的实现是包括两个阶段的:检索阶段和生成阶段。在检索阶段,从知识库中找出与问题最相关的知识,为后续的答案生成提供素材。在生成阶段,RAG会将检索到的知识内容作为输入,与问题一起输入到语言模型中进行生成。这样,生成的答案不仅考虑了问题的语义信息,还考虑了相关私有数据的内容。如下图所示:
为什么要搞得这个复杂呢?还是在于大模型本身的以下两个特性:
1.
如果用户提出的问题,其对应的答案出现在一篇文章中,去知识库中找到一篇与用户输入相关的文章是很容易的,但是我们将检索到的这整篇文章直接放入
Prompt
中并不是最优的选择,因为其中一定会包含非常多无关的信息,而无效信息越多,对大模型后续的推理影响越大。
2.
任何一个大模型都存在最大输入的Token限制,如果将一整个文本去全部传入大模型,无法容纳如此多的信息。
而
RAG
构建的关键,则是由
检索组件(通常由
Embedding
模型和向量数据库组成)和生成组件( 大模型 )组成。在推理时,用户查询用于对索引文档运行相似性搜索,以检索与查询最相似的文档,并为大模型提供额外的上下文
。因此,我们在构建
RAG
的过程中,也往往是遵循着这种流程去做定制化的开发。那么每个环节中我们应该掌握哪些知识呢?我们来看下面的这个思维导图: