Agentic RAG 是什么?概念、类型、应用与实现

Agentic RAG

大型语言模型(LLMs)已经彻底改变了我们与信息交互的方式。然而,它们仅依赖内部知识的特性可能会限制其回答的准确性和深度,尤其是在处理复杂问题时。这就是检索增强生成(Retrieval-Augmented Generation,RAG)发挥作用的地方。RAG通过允许LLMs访问和处理外部信息源,弥合了这一差距,从而提供更接地气且信息丰富的答案。

虽然标准RAG在跨多个文档的简单查询中表现出色,但Agentic RAG更进一步,成为问答领域的强大解决方案。它通过引入AI agents,增加了一层智能。这些agents作为自主决策者,分析初步发现并战略性地选择最有效的工具以进一步检索数据。这种多步推理能力使Agentic RAG能够处理复杂的研究任务,例如总结、跨多个文档比较信息,甚至提出后续问题——所有这些都以一种协调且高效的方式进行。这种新引入的agents将LLM从被动响应者转变为主动调查者,能够深入挖掘复杂信息并提供全面、合理的答案。Agentic RAG在此类应用中具有巨大潜力,使用户能够全面理解复杂主题,获得深刻见解并做出明智决策。

Agentic RAG是研究、数据分析和知识探索的强大工具。它代表了AI驱动的研究助手和虚拟助手领域的重大飞跃。其推理、适应和利用外部知识的能力为新一代智能agents铺平了道路,这些agents可以显著增强我们与信息交互和分析的能力。

在本文中,我们将深入探讨Agentic RAG,探索其内部工作原理、应用及其为用户带来的好处。我们将解析其定义、与传统RAG的区别、agents如何集成到RAG框架中、它们在框架中的功能、不同的功能类型、实现策略、实际用例,以及未来的挑战和机遇。

近期LLM和RAG的发展

在信息检索和自然语言处理领域,LLM和RAG的最新发展开启了一个高效和复杂的新时代。在LLM和RAG的最新进展中,四个关键领域取得了显著进展:

这些进展为进一步探索Agentic RAG的复杂性奠定了基础,我们将在接下来的部分中详细讨论。

什么是Agentic RAG?

Agentic RAG = 基于agents的RAG实现

Agentic RAG通过引入创新的基于agents的框架,改变了我们处理问答的方式。与传统方法仅依赖大型语言模型(LLMs)不同,Agentic RAG利用智能agents来处理需要复杂规划、多步推理和外部工具使用的复杂问题。这些agents充当熟练的研究人员,熟练地导航多个文档,比较信息,生成摘要,并提供全面而准确的答案。Agentic RAG创建了一个易于扩展的实现。可以添加新文档,每个新文档集由子agent管理。

将其想象为拥有一支专家研究团队,每个团队成员都具备独特的技能和能力,协同工作以满足您的信息需求。无论您需要比较不同文档中的观点,深入研究特定文档的细节,还是综合来自各种摘要的信息,Agentic RAG agents都能以精确和高效的方式完成任务。

Agentic RAG的关键特性和优势:

本质上,Agentic RAG提供了一种强大且适应性强的问答方法。它利用agents的集体智慧来应对复杂的信息挑战。其规划、推理、使用工具和学习的能力使其成为全面和可靠知识获取领域的游戏规则改变者。

Agentic RAG与传统RAG的区别

对比Agentic RAG与传统RAG,可以深入了解检索增强生成系统的演进。在这里,我们重点介绍Agentic RAG相对于传统RAG的关键优势。

提示工程 严重依赖手动提示工程和优化技术。 可以根据上下文和目标动态调整提示,减少对手动提示工程的依赖。
静态性 上下文感知有限,检索决策静态。 考虑对话历史并根据上下文调整检索策略。
开销 未优化的检索和额外的文本生成可能导致不必要的成本。 可以优化检索并减少不必要的文本生成,从而降低成本并提高效率。
多步复杂性 需要额外的分类器和模型进行多步推理和工具使用。 处理多步推理和工具使用,无需单独的分类器和模型。
决策制定 静态规则控制检索和响应生成。 决定何时何地检索信息,评估检索数据的质量,并对响应进行生成后检查。
检索过程 仅依赖初始查询来检索相关文档。 在检索之前或期间执行环境中的操作以收集更多信息。
适应性 适应变化情况或新信息的能力有限。 可以根据反馈和实时观察调整其方法。

这些差异凸显了Agentic RAG的潜力,它不仅增强了信息检索,还使AI系统能够积极参与并导航复杂环境,从而实现更有效的决策和任务完成。

Agentic RAG的各种使用模式

RAG框架内的agents展示了多种使用模式,每种模式都针对特定任务和目标进行了定制。这些使用模式展示了agents在与RAG系统交互时的多功能性和适应性。以下是RAG上下文中agents的关键使用模式:

这些使用模式可以组合和定制,以创建针对特定用例和需求的复杂RAG应用程序。通过利用这些模式,RAG框架内的agents可以高效完成各种任务,从而提高系统的整体效率和有效性。

Agentic RAG:通过智能agents扩展传统检索增强生成(RAG)管道

Agentic RAG(检索增强生成)是传统RAG框架的扩展,它引入了agents的概念,以增强系统的能力和功能。在Agentic RAG中,agents用于协调和管理RAG管道的各个组件,并执行超出简单信息检索和生成的其他任务和推理。

在传统RAG系统中,管道通常包括以下组件:

在Agentic RAG中,agents被引入以增强和扩展此管道的功能。以下是agents如何集成到RAG框架中的详细说明:

  1. 查询理解和分解
    agents可以用于更好地理解用户的查询或提示,识别其意图,并将其分解为可以更有效地由RAG管道处理的子任务或子查询。
    例如,像“提供量子计算最新进展及其对网络安全潜在影响的摘要”这样的复杂查询可以被分解为“检索量子计算最新进展的信息”和“检索量子计算对网络安全影响的信息”等子查询。
  2. 知识库管理
    agents可以策划和管理RAG系统使用的知识库。
    这包括识别相关信息源,从这些源中提取和结构化数据,并使用新的或修订的信息更新知识库。
    agents还可以为给定查询或任务选择最合适的知识库或知识库子集。
  3. 检索策略选择和优化
    agents可以根据查询或任务选择最合适的检索策略(例如,关键词匹配、语义相似性、神经检索)。
    它们还可以微调和优化检索过程以提高性能,考虑查询复杂性、领域特定知识需求和可用计算资源等因素。
  4. 结果合成和后处理
    在RAG管道生成初始输出后,agents可以合成和后处理结果。
    这可能涉及从多个检索源组合信息,解决不一致性,并确保最终输出连贯、准确且结构良好。
    agents还可以应用额外的推理、决策制定或领域特定知识以进一步增强输出。
  5. 迭代查询和反馈循环
    agents可以促进迭代查询过程,用户可以提供反馈、澄清查询或请求更多信息。
    基于此反馈,agents可以优化RAG管道,更新知识库,或调整检索和生成策略。
  6. 任务协调和协调
    对于需要多个步骤或子任务的复杂任务,agents可以协调和协调这些子任务通过RAG管道的执行。
    agents可以管理信息流,将子任务分配给不同的组件或模型,并将中间结果组合成最终输出。
  7. 多模态集成
    agents可以促进多模态数据源(例如图像、视频、音频)集成到RAG管道中。
    这允许更全面的信息检索和生成能力,使系统能够处理涉及多种模态的查询或任务。
  8. 持续学习和适应
    agents可以监控RAG系统的性能,识别改进领域,并促进持续学习和适应。
    这可能涉及更新知识库、微调检索策略或根据用户反馈、性能指标或底层数据或领域的变化调整RAG管道的其他组件。

通过将agents集成到RAG框架中,Agentic RAG系统可以变得更加灵活和适应性强,能够处理需要跨多个组件和模态进行推理、决策制定和协调的复杂任务。agents充当智能协调者和促进者,增强了RAG管道的整体功能和性能。

基于功能的Agentic RAG分类

RAG agents可以根据其功能进行分类,提供从简单到复杂的多种能力,具有不同的成本和延迟。它们可以用于路由、一次性查询规划、使用工具、采用推理+行动(ReAct)方法以及协调动态规划和执行等目的。

路由agent(Routing agent

路由agent使用大型语言模型(LLM)来确定选择哪个下游RAG管道。此过程构成agentic推理,其中LLM分析输入查询以做出选择最合适RAG管道的明智决策。这是agentic推理的基本和简单形式。

一次性查询规划agent

查询规划agent将复杂查询分解为可并行化的子查询,每个子查询可以在基于不同数据源的各种RAG管道上执行。然后,这些管道的响应被合并为最终响应。基本上,在查询规划中,初始步骤涉及将查询分解为子查询,在每个合适的RAG管道上执行每个子查询,并将结果合成为全面响应。

工具使用agent

在典型的RAG中,提交查询以检索与查询语义匹配的最相关文档。然而,在某些情况下,需要从外部源(如API、SQL数据库或具有API接口的应用程序)获取额外数据。此额外数据用作上下文以增强输入查询,然后由LLM处理。在这种情况下,agent可以使用RAG工具。

ReAct agent

ReAct = 推理 + 行动与LLMs

提升到一个更高的层次涉及将推理和行动结合起来,这些推理和行动在复杂查询上迭代执行。本质上,这包括将路由、查询规划和工具使用组合到一个实体中。ReAct agent能够处理顺序多部分查询,同时保持状态(在内存中)。该过程包括以下步骤:

  1. 接收到用户输入查询后,agent确定要使用的适当工具(如有必要)并收集工具所需的输入。
  2. 使用必要的输入调用工具,并存储其输出。
  3. agent然后接收工具的历史记录,包括输入和输出,并基于此信息确定后续操作。
  4. 此过程迭代进行,直到agent完成任务并向用户响应。

动态规划和执行agent

ReAct目前是最广泛采用的agent;然而,随着agents在生产环境中的部署增加,对更高可靠性、可观察性、并行化、控制和关注点分离的需求也在增加。本质上,需要长期规划、执行洞察、效率优化和延迟减少。

在基本层面上,这些努力旨在将高级规划与短期执行分开。此类agents的基本原理包括:

  1. 概述完成输入查询计划所需的步骤,基本上创建整个计算图或有向无环图(DAG)。
  2. 确定执行计划中每个步骤所需的工具(如有),并使用必要的输入执行它们。
  3. 这需要规划者和执行者的存在。规划者通常使用大型语言模型(LLM)根据用户查询制定逐步计划。然后,执行者执行每个步骤,识别完成任务所需的工具。此迭代过程持续进行,直到整个计划执行完毕,最终呈现最终响应。

如何实现Agentic RAG?

构建Agentic RAG需要特定的框架和工具,以促进多个agents的创建和协调。虽然从头开始构建这样的系统可能很复杂,但有几个现有选项可以简化实现过程。让我们探索一些潜在的途径:

当前框架的局限性:LlamaIndex和LangChain提供了强大的功能,但由于其编码要求,可能对开发人员来说学习曲线较陡。开发人员应准备好投入时间和精力以充分掌握这些框架,以释放其全部潜力。

本文翻译自:《Agentic RAG: What it is, its types, applications and implementation》

原文地址:Agentic RAG: What it is, its types, applications and implementation

翻译的时候有优化、调整。

本文来源:https://zhuanlan.zhihu.com/p/17693009207


【AD】美国洛杉矶CN2 VPS/香港CN2 VPS/日本CN2 VPS推荐,延迟低、稳定性高、免费备份_搬瓦工vps

【AD】搬瓦工限量套餐:POWERBOX-30-1536,美国洛杉矶DC99 CN2 GIA,年付仅$41.95!