研究方向:Image Captioning

1.论文介绍

代理检索增强生成(Agentic RAG)通过将自主AI代理嵌入RAG来克服传统RAG系统受限于静态工作流,缺乏多步骤推理的限制。这些代理利用代理设计模式(例如反射、规划、工具使用和多代理协作)来动态管理检索策略并通过清晰定义的操作结构(从顺序步骤到自适应协作)调整工作流。这种集成使代理式RAG系统能够在多样化的应用程序中提供无与伦比的灵活性、可扩展性和上下文感知。

本文全面探讨了代理式RAG,从它的基本原则以及RAG范式的演变开始,详细分类了代理式RAG架构。

2.RAG概述

RAG系统的架构集成了三个主要组件:

● 检索:负责查询外部数据源,如知识库、API或向量数据库。高级检索器利用密集向量搜索和基于变压器的模型来提高检索精度和语义相关性。

● 增强:处理检索到的数据,提取并总结与查询上下文最相关的信息。

● 生成:将检索到的信息与大型语言模型的预训练知识结合起来,生成连贯且上下文适当的响应。

2.1.RAG范式的演变

2.1.1.普通RAG

系统依赖简单的基于关键词的检索技术从静态数据库中获取文档。然后使用检索到的文档来增强语言模型的生成能力。

局限性:

  • 缺乏上下文感知:依赖词汇匹配而非语义理解,检索到的文档无法捕捉查询的语义细微差别。
  •  分散的输出:缺乏高级预处理或上下文整合导致回答不连贯或过于宽泛。
  •  可扩展性问题:基于关键词的检索技术在处理大型数据集时无法识别出最相关的信息

2.1.2.高级RAG

高级RAG系统在朴素RAG的局限基础上,融入语义理解和增强的检索技术

关键特性:

1.密集向量搜索:

利用密集检索模型将查询和文档映射为高维向量,所有文档向量预先计算并存储在向量数据库中;检索时,将查询向量与文档向量做余弦相似度或内积计算,再取 Top‑K 最相似文档,实现更好的语义对齐。

2.上下文重排:

对初步检索出的候选结果,使用深度神经排序模型基于查询与文档之间的上下文匹配度进行二次排序,优先保留最相关内容。

3.迭代检索:

针对复杂查询,系统可自动发起第二次、第三次检索,利用已获得的中间结果进一步检索其它文档,实现跨文档、跨段落的多步推理。

局限性:

1.密集检索和神经重排序计算开销大

2.迭代检索增加延时

2.1.3.模块化RAG

模块化的RAG代表了RAG范式的最新演变,强调灵活性和定制性。这些系统将检索和生成流程分解为独立的、可重用的组件。

2.1.4.图RAG

图RAG利用图数据内的关系和层次结构来增强多跳推理和上下文丰富。通过结合基于图的检索,图RAG能够提供更丰富、更准确的生成输出,特别是对于那些需要关系理解的任务。

将图检索得到的结构化信息与文档检索的非结构化文本合并。

2.1.5.代理RAG

代理式RAG引入能够进行动态决策和工作流优化的自主智能体,采用迭代精炼和自适应检索策略来处理复杂、实时和多领域的查询。在引入基于智能体的自主性的同时,利用了检索和生成过程的模块化。

3.AI代理的组成部分

  • LLM(具有定义的角色和任务):作为代理的主要推理引擎和对话界面。它解释用户查询,生成响应,并保持连贯性。
  •  记忆(短期和长期):在互动中捕捉上下文和相关数据。短期记忆追踪即时对话状态,长期记忆存储累积的知识和代理经验。
  • 规划(反思与自我批判):通过反思、查询路由或自我批判,引导代理的迭代推理过程,确保复杂任务得到有效分解。
  • 工具:向量搜索、网络搜索、应用程序接口(API)等:扩展代理的能力,使其超越文本生成,能够访问外部资源、实时数据或专业计算。

3.1.反思

反思是代理工作流程中的一个基础设计模式,通过整合自我反馈机制,代理可以识别并解决错误、不一致性和改进领域。在实际使用中,反思涉及提示代理对其输出的正确性、风格和效率进行批判,然后将此反馈纳入后续迭代。在多代理系统中,反思可能涉及不同的角色,例如一个代理生成输出,而另一个对其进行批判,促进协作改进。

3.2.规划

规划是代理工作流中的一个关键设计模式,它使代理能够自主地将复杂任务分解成更小、更易管理的子任务。规划适用于需要动态适应的任务,确定完成更大目标所需的步骤顺序。但与如反思这样的确定性工作流相比,规划可能产生较不可预测的结果。

3.3.工具的使用

工具使用使代理能够通过与环境中的外部工具、API或计算资源互动来扩展其能力。

3.4.多代理

多代理协作是代理式工作流中的一个关键设计模式,它促进了任务专业化和并行处理,代理之间进行通信并共享中间结果。多代理系统允许开发者将复杂任务分解为更小、易于管理的子任务,分配给不同的代理,实现动态协作问题解决。

以上这些设计模式是代理式RAG系统成功的基石。利用这些模式,代理能够处理迭代式的、上下文感知的任务,这些任务显著超出了传统RAG系统的能力。

4. 代理式工作流模式

4.1.提示链

提示链将复杂任务分解为多个步骤,每个步骤都建立在前一个步骤的基础上,顺序处理,适用于逐步推理提高准确性的场景。

4.2. 路由

对输入进行分类并将其引导至适当的专门提示或流程。将简单查询分配给小型模型以节省成本,而复杂请求则交给高级模型处理。

4.3.并行化

将任务划分为同时运行的独立进程,减少延迟并提高吞吐量。它可以分为分块(独立子任务)和投票(多个输出以提高准确性)。

4.4.协调器-工作者

包含一个中央协调器模型,该模型动态将任务拆分为子任务,分配给专门的工作线程模型,并编译结果。与并行化不同,它适应于不同的输入复杂度。适合需要动态分解和实时适应的任务,其中子任务未预先定义。

 4.5.评估器-优化器

通过生成初始输出并根据评估模型的反馈来迭代改进内容。

5.代理式检索增强生成(RAG)系统的分类

5.1.单代理的代理RAG

适用于任务明确或集成需求有限的应用

工作流程:

1.查询提交与评估:当用户提交查询时,过程开始。一个协调代理(或主检索代理)接收查询并分析以确定最合适的信息来源。

2.知识源选择:根据查询的类型,协调代理从多种检索选项中选择:

         结构化数据库:对于需要表格数据访问的查询,使用数据库交互的文本到SQL引擎。

        语义搜索:在处理非结构化信息时,它使用基于向量的检索来获取相关文档

        网络搜索:对于实时或广泛上下文信息,系统利用网络搜索工具访问最新的在线数据。

        推荐系统:针对个性化或上下文查询,系统利用提供定制建议的推荐引擎。

3.数据整合与大型语言模型合成:一旦从选定的来源检索到相关数据,就将其传递给一个大型语言模型(LLM)。LLM综合收集到的信息,将多个来源的见解整合成连贯且与上下文相关的回应。

4.输出生成:最后,系统提供一个全面的、面向用户的答案,回应原始问题。该回应以可操作的简洁格式呈现,并且可以选择性地包括对所使用来源的参考或引用。

5.2.多代理的代理RAG系统

利用多个专门代理来处理复杂的工作流程和多样的查询类型

工作流程:

1.查询提交:始于用户查询,由协调代理或主检索代理接收。该代理充当中央协调器,根据查询需求将查询委派给专门的检索代理。

2.专业检索代理:查询被分发到多个检索代理,每个代理专注于一种特定类型的数据源或任务。示例包括:

● 代理1:处理结构化查询,如与基于SQL的数据库进行交互。

● 代理2:管理语义搜索,用于从PDF、书籍或内部记录等来源检索非结构化数据。

● 代理3:专注于从网络搜索或API获取实时公共信息。

● 代理4:专门研究推荐系统,根据用户行为或资料提供上下文感知的建议。

3.工具访问和数据检索:每个代理将其查询路由到其领域内的适当工具或数据源,例如:

● 向量搜索:用于语义相关性。

● 文本到SQL:用于结构化数据。

● 网络搜索:用于实时公共信息。

● API:用于访问外部服务或专有系统。

检索过程并行执行,允许高效处理多种查询类型。

4.数据整合和大型语言模型合成

5.输出生成

5.3.分层代理RAG系统

代理按层级组织,较高层级的代理监督并指导较低层级的代理。这种结构实现了多层级决策,确保查询由最合适的资源处理。

5.4.代理校正RAG

引入自我纠正检索结果的机制,由相关性评估代理对检索到的文档进行相关性评估,低于相关性阈值的文档会触发纠正步骤。

校正RAG系统建立在五个关键代理之上:

  1. 上下文检索代理:负责从向量数据库中检索初始的上下文文档。

  2. 相关性评估代理:评估检索到的文档的相关性,并标记任何不相关或含糊不清的文档以供校正操作。

  3. 查询精炼代理:重写查询以提高检索效果,利用语义理解优化结果。

  4. 外部知识检索代理:在上下文文档不足时进行网络搜索或访问其他数据源。

  5. 响应合成代理:将所有经过验证的信息合成连贯准确的响应。

5.5.自适应代理RAG

根据传入查询的复杂性动态调整查询处理策略,提高LLMs的灵活性和效率。采用分类器(较小的语言模型)评估查询复杂性,并确定最合适的方法,范围从单步检索到多步推理检索,对于直接查询完全绕过检索。

5.6.基于图的代理RAG

将图知识库与非结构化文档检索集成。通过结合结构化和非结构化数据源确保高质量的输出。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐