傻傻分不清?一文彻底说清Agentic RAG的前世今生!

向量数据库大模型NoSQL数据库

picture.image

关注我们,深度学习LLM应用

生成式AI的发展日新月异,一不小心你就会淹没在新的概念中。RAG(检索增强生成)、Agent(智能体)作为主流的大语言模型(LLM)应用形式已经广为人知。这不还经常听到一个词: Agentic RAG ,前两天还有人问小编它到底是RAG还是Agent?今天我们就来彻底说清楚Agentic RAG。

01

为什么需要Agentic RAG?

首先,RAG是什么?RAG是用检索到的外部知识来对LLM进行能力增强的一种技术,旨在降低LLM的幻觉并让其更好的适应特定领域内的应用场景。通俗的讲: RAG就是给LLM增加一个可快速查询的“外挂”知识库,增强其能力,以防它不懂的时候胡说八道

RAG = LLM + 知识库 + 检索器

picture.image

它可以让AI准确的回答诸如这样的问题:

  • 公司的财务报销审核流程是怎样的?
  • 上半年销售业绩前三名代理商是谁?
  • 总结公司最新财报中的关键要点?

经典的RAG流程是借助检索器从知识库中查询问题相关(语义接近)的内容,并把这些内容作为LLM回答的上下文,从而得出最终答案。

现在,让我们考虑以下几个查询场景:

  • 需要能够使用不同的检索技术来应对不同类型的查询问题。 如既能回答事实性查询(”xPhone手机详细参数“),也能回答总结性的问题(”总结下这篇论文要点“)

  • 需要融合多个数据源的检索结果给出响应。 比如这样的查询:

”查询销量最高的三个代理商的摘要信息及其关联公司“

这里的问题是:

  • 查询销量最高的代理商需要查询CRM系统的数据库
  • 代理商的详细信息存储在非结构化文档中
  • 关联公司的查询需要查询某个知识图谱数据库

单一的RAG检索与生成管道显然无法应对这样的问题。

  • 需要结合外部工具来增强RAG管道的回答能力与响应质量。 比如这样一个查询任务:

“对比竞品公司产品与我公司产品,并总结媒体评论”

为了完成这个问题,你需要:

  • 借助本地检索器,查询自身产品信息
  • 借助Web搜索查询竞品信息
  • 借助公开的API查询某些自媒体评论

这样的一个融合性查询任务也是单一RAG管道无法完成的。

  • 希望RAG在检索相关数据后能够自我反思评估,必要时重新检索甚至改写问题。

这些都是在实际应用中可能会面临的需求,经典的RAG方案在面临这些场景时会捉襟见肘,因此更“Agentic”的RAG出现了。

02

什么是Agentic RAG?

Agentic RAG就是一种融合了Agent能力的RAG,而Agent的核心能力是自主推理与行动。所以 Agentic RAG就是将AI智能体的自主规划(如路由、行动步骤、反思等)能力带入到传统的RAG,以适应更加复杂的RAG查询任务。

Agentic RAG如何应对这些典型的复杂任务?一起来看。

  • 在不同类型的RAG管道间自主选择(路由),以适应任务的多样性:

picture.image

  • 融合多种类型的RAG管道与数据源,以适应综合性复杂查询任务:

picture.image

  • 与必要的外部工具协作,以增强输出的准确性:

picture.image

整体来说,Agentic RAG的“智能体”特征主要体现在检索阶段,相对于传统RAG的检索,Agentic RAG更能够:

  • 决定是否需要检索
  • 自主决策使用哪个检索引擎
  • 自主规划使用检索引擎的步骤
  • 评估检索到的上下文,并决定是否重新检索
  • 自行规划是否需要借助外部工具

03

Agentic RAG VS 传统RAG

Agentic RAG在整体流程上与传统RAG一脉相承:检索-合成上下文-生成,但由于融入了Agent的自主能力,从而具有更强的适应性与任务质量。

picture.image

picture.image

这里的传统RAG指遵循“检索-上下文-生成”单一顺序流程的RAG应用。随着开发框架的不断完善,当前一些常用的高级RAG模块已经具备了部分Agentic的特征,比如:语义路由、多步骤查询转换、子问题查询转换等。

picture.image

传统单一流程RAGAgentic RAG
场景数据环境简单、任务单一企业级数据环境,任务多样
数据源通常基于单个检索引擎通常基于多个检索引擎
索引向量索引为主可灵活结合多种索引
检索规划无规划或静态规则动态规划下一步检索策略
多步检索通常不支持借助多步骤推理自主实现
外部工具通常不支持自动推理使用必要的工具
反省机制通常不支持借助反省优化问题或重新检索
灵活性不够灵活,流程固定自主推理,或灵活编排

04

Agentic RAG技术架构

与顺序式的传统RAG架构相比,Agentic RAG的核心是Agent,而RAG管道(通常是检索器,也可能是完整的RAG查询引擎)则可以看作是Agent使用的一种工具,从而完美的融合到Agent的架构中。

从这个角度说,Agentic RAG是RAG,但更是Agent。 从技术架构看,也存在单Agent架构与多Agent架构。

【单Agent的Agentic RAG】

picture.image

在这个架构中,只有一个具有自主能力的Agent。RAG管道与外部工具都作为Tool提供给Agent,Agent根据输入问题规划与决策这些工具的使用,检索与累积更全面的上下文,最后输出全面而准确的结果。

如果这里的Agent每次规划只会选择一个后端RAG检索管道,那么也就退化成了一个语义路由器模块。

【多Agent的Agentic RAG】

picture.image

这是一个多层的Agent架构:一个顶层的Agent负责协调多个二级Agent,每个二级Agent再负责特定领域或特定类型的检索或查询任务,可以根据需要灵活划分不同Agent的职责。

比如,你可以这样设计:

  • Agent1负责企业内部知识库的检索。协调使用多个不同索引类型的检索器,如向量、知识图谱、甚至SQL检索。
  • Agent2负责客户相关数据的检索任务。协调使用多个不同地区客户数据的检索器。
  • Agent3负责借助各种工具从互联网检索必要的外部信息。
  • 顶层的Agent则负责管理与协调使用上面三个Agent来共同完成复杂查询任务,实现任务拆分、派发与搜集结果,并最终响应用户。

多Agent的Agentic RAG架构具备更大的灵活性,实际开发中,你可以对不同的Agent进行单独规划、实现与调试,最后组合成一个更完备的RAG系统,提供超越传统的查询能力。

05

总结

Agentic RAG通过将智能体的核心能力引入到传统RAG,借助Agent的规划与推理能力,极大的增强了RAG检索的全面性、灵活性与准确性,使得能够 执行更复杂与多样的数据密集型的查询任务,激发了RAG应用的新潜力。

当然,进步也伴随着挑战。利用智能体思想完成复杂任务也带来了对LLM的更深层依赖,引发了新的响应延迟与不确定性的问题。因此,在开发和使用 Agentic RAG 系统时,需要审慎考虑其优劣,以实现更高效和可靠的应用。

Agentic RAG的实战案例,请参考早先的文章:

手把手教你构建Agentic RAG:一种基于多文档RAG应用的AI Agent智能体

picture.image

END

福利时间

为了帮助LLM开发人员更系统性与更深入的学习RAG应用,特别是企业级的RAG应用场景下,当前主流的优化方法与技术实现,我们编写了 《基于大模型的RAG应用开发与优化 — 构建企业级LLM应用》 这本开发指南,与大家一起来深入到LLM应用开发的全新世界。

更多细节,点击如下链接了解picture.image

现在购,享 50%折扣

交流请识别以下名片

picture.image

0
0
0
0
相关资源
CV 技术在视频创作中的应用
本次演讲将介绍在拍摄、编辑等场景,我们如何利用 AI 技术赋能创作者;以及基于这些场景,字节跳动积累的领先技术能力。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论