支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


构建Agentic RAG 系统的方法有哪些?

发布日期:2025-04-09 05:33:04 浏览次数: 1655 作者:ChallengeHub
推荐语

探索2024年AI技术的新突破,揭秘"智能版RAG"系统如何改变未来。

核心内容:
1. 2024年"智能版RAG"系统的发展背景与趋势
2. 七种常见的代理RAG研究方法
3. RAG和AI代理的工作原理与应用案例

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

2024年不仅是大家用大模型(LLM)生成内容的一年,更是我们开始搞懂它怎么"思考"的一年。在研究LLM和RAG这些技术时,我发现了AI代理的厉害之处——它们能自己干活做决定,几乎不用人插手。还记得2023年最火的RAG(检索增强生成)技术吗?到了2024年,它升级成了能自主工作的"智能版RAG",给各行各业带来了新突破。而2025年,绝对要成为"AI代理的天下"——这些能自主工作的系统会彻底改变我们的效率,让解决问题的方式焕然一新。

想象一下:以前的技术就像固定工具,现在变成了会自己动脑筋的"智能助手"。这种转变带来了惊人的效率提升,为2025年更酷的创新铺好了路。今天咱们就重点聊聊这些"智能版RAG系统"有哪些类型,顺便深入看看它们是怎么运作的。

常见代理RAG研究方法如下:


1. Agentic RAG Routers 

2. Query Planning Agentic RAG

 3. Adaptive RAG 

4. Agentic Corrective RAG 

5. Self-Reflective RAG 

6. Speculative RAG 

7. Self Route Agentic RAG


自主代理式 RAG 系统:RAG 和自主 AI 系统的结合

为了简单理解自主代理式 RAG,让我们剖析一下这个术语:它是 RAG + AI 代理的结合体。如果您不熟悉这些术语,请别担心!我们稍后会深入探讨它们。

现在,我们将阐明 RAG 和自主 AI 系统(AI 代理)。

什么是 RAG(检索增强生成)?

自主代理式 RAG 系统:

RAG是一种框架,旨在通过将外部知识源集成到生成过程中来增强生成式 AI 模型的性能。其工作原理如下:

  • 检索组件:此部分从外部知识库、数据库或其他数据存储库中获取相关信息。这些来源可以包括结构化或非结构化数据,例如文档、API 甚至实时数据流。
  • 增强:检索到的信息用于告知和指导生成模型。这确保了输出在事实上更准确,以外部数据为基础,并且在语境上更丰富。
  • 生成:生成式 AI 系统(如 GPT)将检索到的知识与其自身的推理能力相结合,以生成最终输出。

当处理复杂的查询或需要最新的、特定领域知识的领域时,RAG 尤其有价值。

什么是 AI 代理?

AI 代理工作流程

以下是AI 代理工作流程对查询“_谁赢得了 2024 年欧洲杯?告诉我更多细节!_”的响应。

  1. 初始指令提示:用户输入查询,例如“_谁赢得了 2024 年欧洲杯?告诉我更多细节!_”。

  2. LLM 处理和工具选择:大型语言模型 (LLM)解释查询,并确定是否需要外部工具(如网络搜索)。它启动函数调用以获取更多详细信息。

  3. 工具执行和上下文检索:所选工具(例如,搜索 API)检索相关信息。在此示例中,它获取了有关 2024 年欧洲杯决赛的详细信息。

  4. 响应生成:新信息与原始查询相结合。LLM 生成完整且最终的响应:

    “_西班牙在 2024 年欧洲杯决赛中以 2-1 战胜英格兰,决赛于 2024 年 7 月在柏林举行。_”

简而言之,自主代理式 AI 系统具有以下核心组件:

大型语言模型 (LLM):运行的 “大脑”

LLM 充当中央处理单元,解释输入并生成有意义的响应。

  • 输入查询:用户提供的问题或命令,启动 AI 的运行。
  • 理解查询:AI 分析输入以掌握其含义和意图。
  • 响应生成:根据查询,AI 制定适当且连贯的答复。

工具集成:完成工作的 “双手”

外部工具增强了 AI 的功能,使其能够执行超出基于文本的交互之外的特定任务。

  • 文档阅读器工具:处理和提取文本文档中的见解。
  • 分析工具:执行数据分析以提供可操作的见解。
  • 会话工具:促进交互式和动态对话功能。

记忆系统:上下文智能的关键

记忆使 AI 能够保留和利用过去的交互,以获得更具上下文意识的响应。

  • 短期记忆:保存最近的交互以供即时上下文使用。
  • 长期记忆:长期存储信息以供持续参考。
  • 语义记忆:维护一般知识和事实以进行知情的交互。

这展示了 AI 如何集成用户提示、工具输出和自然语言生成。

以下是AI代理的定义:

AI 代理是旨在通过与其环境交互来执行特定任务或实现某些目标的自主软件系统。AI 代理的关键特征包括:

  1. 感知:它们感知或检索有关其环境的数据(例如,来自 API 或用户输入)。
  2. 推理:它们分析数据以做出明智的决策,通常利用 GPT 等 AI 模型进行自然语言理解。
  3. 行动:它们在真实或虚拟世界中执行操作,例如生成响应、触发工作流程或修改系统。
  4. 学习:高级代理通常会根据反馈或新数据,随着时间的推移调整和改进其性能。

AI 代理可以处理跨领域的任务,例如客户服务、数据分析、工作流程自动化等等。

为什么我们应该关注自主代理式 RAG 系统?

首先,以下是基本检索增强生成 (RAG) 的局限性:

  1. 何时检索:系统可能难以确定何时需要检索,这可能会导致答案不完整或不太准确。
  2. 文档质量:检索到的文档可能与用户的问题不太吻合,这会削弱响应的相关性。
  3. 生成错误:模型可能会“产生幻觉”,添加不准确或不相关的信息,而这些信息并没有得到检索内容的支撑。
  4. 答案精确度:即使有相关文档,生成的响应也可能无法直接或充分地解决用户查询,从而使输出变得不太可靠。
  5. 推理问题:系统无法通过复杂的查询进行推理,这阻碍了细致入微的理解。
  6. 有限的适应性:传统系统无法动态地适应策略,例如选择 API 调用或网络搜索。

自主代理式 RAG 的重要性

理解自主代理式 RAG系统有助于我们为上述挑战部署正确的解决方案,并针对特定任务,确保与预期用例保持一致。以下是它至关重要的原因:

  1. 量身定制的解决方案


  • 自主代理式 RAG 路由器:自主代理式 RAG 路由器是一种模块化框架,可根据查询的意图和复杂性,动态地将任务路由到适当的检索、生成或操作组件。
  • 自我反思式 RAG:自我反思式 RAG 集成了内省机制,使系统能够通过迭代评估检索相关性、生成质量和决策准确性来评估和改进其响应,然后再最终确定输出。
  • 不同类型的自主代理式 RAG 系统专为不同程度的自主性和复杂性而设计。例如:
  • 了解这些类型可确保最佳设计和资源利用率。
  • 风险管理


    • 自主代理式系统涉及决策制定,这可能会引入风险,例如不正确的操作、过度依赖或滥用。了解每种类型的范围和局限性可以减轻这些风险。
  • 创新与可扩展性


    • 区分类型使企业能够扩展其系统,从基本实现扩展到能够处理企业级挑战的复杂代理。

简而言之,自主代理式 RAG 可以计划、适应和迭代,以找到适合用户的正确解决方案。

自主代理式 RAG:将 RAG 与 AI 代理融合

结合 AI 代理和 RAG 工作流程,以下是自主代理式 RAG 的架构:

自主代理式 RAG:将 RAG 与 AI 代理融合

自主代理式 RAG 结合了 RAG 的结构化检索和知识集成能力,以及 AI 代理的自主性和适应性。其工作原理如下:

  1. 动态知识检索:配备 RAG 的代理可以动态检索特定信息,确保它们使用最新和上下文最相关的数据进行操作。
  2. 智能决策:代理处理检索到的数据,应用高级推理来生成解决方案、完成任务或以深度和准确性回答问题。
  3. 面向任务的执行:与静态 RAG 管道不同,自主代理式 RAG 系统可以执行多步骤任务、适应不断变化的目标或根据反馈循环改进其方法。
  4. 持续改进:通过学习,代理会随着时间的推移改进其检索策略、推理能力和任务执行,变得更加高效和有效。

自主代理式 RAG 的应用

以下是自主代理式 RAG 的应用:

  • 客户支持:通过访问实时数据源,自动检索并交付对用户查询的准确响应。
  • 内容创作:为法律或医学领域等复杂领域生成上下文丰富的内容,并由检索到的知识提供支持。
  • 研究协助:通过自主收集和综合来自庞大数据库的相关材料,为研究人员提供帮助。 *工作流程自动化:通过将检索驱动的决策制定集成到业务流程中,从而简化企业运营。

自主代理式 RAG 代表了检索增强生成和自主 AI 代理之间的强大协同作用,使系统能够以无与伦比的智能、适应性和相关性运行。这是朝着构建不仅信息灵通,而且还能够独立执行复杂的、知识密集型任务的 AI 系统迈出的重要一步。

1. 自主代理式 RAG 路由器

如前所述,术语 “自主代理式” 表示系统表现得像一个智能代理,能够推理和决定使用哪些工具或方法来检索和处理数据。通过利用检索(例如,数据库搜索、网络搜索、语义搜索)和生成(例如,LLM 处理)两者,此系统确保以最有效的方式回答用户查询。

同样,

自主代理式 RAG 路由器是旨在动态地将用户查询路由到适当的工具或数据源的系统,从而增强大型语言模型 (LLM) 的能力。此类路由器的主要目的是将检索机制与 LLM 的生成优势相结合,以提供准确且上下文丰富的响应。

这种方法弥合了 LLM 的静态知识(在预先存在的数据上训练)与从实时或特定领域数据源动态检索知识的需求之间的差距。通过结合检索和生成,自主代理式 RAG 路由器实现了以下应用:

  • 问答
  • 数据分析
  • 实时信息检索
  • 推荐生成
自主代理式 RAG 路由器

自主代理式 RAG 路由器的架构

图表中显示的架构详细地可视化了自主代理式 RAG 路由器的运行方式。让我们分解组件和流程:

  1. 用户输入和查询处理*用户输入:用户提交查询,这是系统的入口点。这可以是问题、命令或特定数据的请求。


  • 查询:用户输入被解析并格式化为查询,系统可以解释该查询。
  • 检索代理


    • 查询的意图。
    • 所需信息的类型(结构化、非结构化、实时、推荐)。
    • 检索代理充当核心处理单元。它充当协调器,决定如何处理查询。它评估:

  • 路由器


    • 向量搜索:使用语义嵌入检索相关文档或数据。
    • 网络搜索:访问来自互联网的实时信息。
    • 推荐系统:根据先前的用户交互或上下文相关性,建议内容或结果。*  文本到 SQL:将自然语言查询转换为 SQL 命令,以访问结构化数据库。
    • 路由器确定处理查询的适当工具:

  • 工具:此处列出的工具是模块化和专门化的:


    • 向量搜索 A 和 B:旨在搜索语义嵌入以查找向量化形式的匹配内容,非常适合非结构化数据,如文档、PDF 或书籍。
    • 网络搜索:访问外部实时网络数据。
    • 推荐系统:利用 AI 模型提供特定于用户的建议。
  • 数据源:系统连接到各种数据源:*   结构化数据库:用于组织良好的信息(例如,基于 SQL 的系统)。


    • 非结构化来源:PDF、书籍、研究论文等。
    • 外部存储库:用于语义搜索、推荐和实时网络查询。
  • LLM 集成:一旦检索到数据,就会将其馈送到 LLM:


    • LLM 将检索到的信息与其生成能力相结合,以创建连贯的、人类可读的响应。
  • 输出:最终响应以清晰且可操作的格式发送回用户。

自主代理式 RAG 路由器的类型

以下是自主代理式 RAG 路由器的类型:

1. 单一自主代理式 RAG 路由器

单一自主代理式 RAG 路由器
  • 在此设置中,一个统一的代理负责所有路由、检索和决策任务。
  • 更简单和更集中,非常适合数据源或工具有限的系统。
  • 用例:具有单一类型查询的应用程序,例如检索特定文档或处理基于 SQL 的请求。

在单一自主代理式 RAG 路由器中:

  1. 查询提交:用户提交查询,该查询由单个检索代理处理。
  2. 通过单个代理进行路由检索代理评估查询并将其传递给单个路由器,该路由器决定使用哪个工具(例如,向量搜索、网络搜索、文本到 SQL、推荐系统)。
  3. 工具访问:*   路由器根据需要将查询连接到一个或多个工具。

  • 文本到 SQL与 PostgreSQL 或 MySQL 等数据库进行交互以进行结构化查询。
  • 语义搜索从 PDF、书籍或非结构化来源检索数据。
  • 网络搜索获取实时在线信息。
  • 推荐系统根据上下文或用户个人资料提供建议。
  • 每个工具都从其各自的数据源中获取数据:
  • LLM 集成:检索后,数据将传递到LLM,LLM 将其与生成能力相结合以生成响应。
  • 输出:响应以清晰、可操作的格式交付回用户。

这种方法是集中且高效的,适用于数据源和工具有限的简单用例。

2. 多重自主代理式 RAG 路由器

多重自主代理式 RAG 路由器
  • 此架构涉及多个代理,每个代理处理特定类型的任务或查询。
  • 更模块化和可扩展,适用于具有各种工具和数据源的复杂系统。
  • 用例:为各种用户需求提供服务的多功能系统,例如跨多个领域的研究、分析和决策制定。

在多重自主代理式 RAG 路由器中:

  1. 查询提交:用户提交查询,该查询最初由检索代理处理。

  2. 分布式检索代理:系统不是使用单个路由器,而是使用多个检索代理,每个代理专门处理特定类型的任务。例如:


  • 检索代理 1可能处理基于 SQL 的查询。
  • 检索代理 2可能专注于语义搜索。
  • 检索代理 3可以优先考虑推荐或网络搜索。
  • 用于工具的各个路由器:每个检索代理根据其范围,将查询路由到其从共享池(例如,向量搜索、网络搜索等)分配的工具。

  • 工具访问和数据检索


    • 每个工具都根据其检索代理的要求,从各自的来源获取数据。
    • 多个代理可以并行运行,确保有效地处理各种查询类型。
  • LLM 集成和综合:所有检索到的数据都传递到LLM,LLM 综合信息并生成连贯的响应。

  • 输出:最终处理的响应将返回给用户。这种方法是模块化和可扩展的,适用于具有各种工具和高查询量的复杂系统。

自主代理式 RAG 路由器结合了智能决策、强大的检索机制和 LLM,以创建通用的查询-响应系统。该架构以最佳方式将用户查询路由到适当的工具和数据源,从而确保高度相关性和准确性。无论是使用单个路由器还是多个路由器设置,设计都取决于系统的复杂性、可扩展性需求和应用要求。

2. 查询规划自主代理式 RAG

查询规划自主代理式 RAG(检索增强生成)是一种方法,旨在通过利用跨各种数据源的多个可并行化的子查询来有效地处理复杂查询。这种方法结合了智能查询划分、分布式处理和响应综合,以交付准确而全面的结果。

查询规划自主代理式 RAG

查询规划自主代理式 RAG 的核心组件

以下是核心组件:

  1. 用户输入和查询提交


  • 用户输入:用户将查询或请求提交到系统中。
  • 输入查询经过处理并向下游传递以进行进一步处理。
  • 查询规划器查询规划器是协调该过程的中心组件。它:

    *解释用户提供的查询


    • 为下游组件生成适当的提示
    • 决定调用哪些工具(查询引擎)来回答查询的特定部分。
  • 工具


    • 查询引擎 1
    • 查询引擎 2
    • 工具是专门的管道(例如,RAG管道),其中包含查询引擎,例如:

    • 这些管道负责从外部知识源(例如,数据库、文档或 API)检索相关信息或上下文。

    • 检索到的信息将发送回查询规划器以进行集成。

  • LLM(大型语言模型)


    • 接收来自规划器的提示。
    • 根据检索到的信息提供上下文感知的响应或改进的输出。
    • LLM充当复杂推理、自然语言理解和响应生成的综合引擎。
    • 它与查询规划器进行双向交互:
  • 综合和输出


    • 综合:系统将从工具检索到的信息和 LLM 的响应组合成连贯的答案或解决方案。
    • 输出:最终的综合结果呈现给用户。

主要亮点

  • 模块化设计:该架构允许在工具选择和集成方面具有灵活性。
  • 高效的查询规划:查询规划器充当智能中介,优化使用的组件及其顺序。
  • 检索增强生成:通过利用 RAG 管道,系统利用最新的和特定领域的信息来增强 LLM 的知识。
  • 迭代交互:查询规划器确保工具和 LLM 之间的迭代协作,逐步改进响应。

3. 自适应 RAG

自适应检索增强生成 (AdaptiveRAG) 是一种通过根据传入查询的复杂性定制查询处理策略,来增强大型语言模型 (LLM) 的灵活性和效率的方法。

自适应 RAG 的核心思想

自适应 RAG 根据查询的复杂性,动态地在不同的问题解答策略之间进行选择——从简单的单步方法到更复杂的多步方法,甚至是非检索过程。这种选择由分类器促进,分类器分析查询的性质并确定最佳方法。

自适应 RAG

Adaptive-RAG:通过问题复杂性学习自适应检索增强大型语言模型

与其他方法的比较

以下是与单步、多步和自适应方法的比较:

  1. 单步方法

  • 对于 “迈克尔·菲尔普斯的生日是什么时候?” 等简单查询效果良好,但对于 “比利·吉尔斯的出生地使用什么货币?” 等复杂查询则会失败,原因是中间推理不足。
  • 这会导致复杂情况下的答案不准确
  • 工作原理:对于简单查询和复杂查询,都执行单轮检索,并直接从检索到的文档中生成答案。
  • 局限性
  • 多步方法

    • 虽然功能强大,但它为简单查询引入了不必要的计算开销。例如,重复处理 “迈克尔·菲尔普斯的生日是什么时候?” 是低效且冗余的。
    • 工作原理:无论查询是简单还是复杂,都会经过多轮检索,迭代生成中间答案以改进最终响应。
    • 局限性
  • 自适应方法


    • 工作原理:此方法使用分类器来确定查询的复杂性并选择适当的策略:

    • 优势

    • 减少简单查询的不必要开销,同时确保复杂查询的高精度。
    • 灵活适应各种查询复杂性。
    • 直接查询:直接生成答案,无需检索(例如,“巴黎是哪个国家的首都?”)。
    • 简单查询:使用单步检索过程。 *复杂查询:采用多步检索进行迭代推理和答案改进。

自适应 RAG 架构来源:作者

自适应 RAG 框架

  • 分类器角色

    • 较小的语言模型预测查询复杂性。
    • 它使用自动标记的数据集进行训练,其中标签来自过去的模型结果和数据中的固有模式。
  • 动态策略选择

    • 对于简单或直接的查询,框架避免浪费计算资源。
    • 对于复杂查询,它通过多个检索步骤确保足够的迭代推理。

来自 LangGraph 的 RAG 系统架构流程

以下是来自 LangGraph 的自适应 RAG 系统架构流程的另一个示例:

来自 LangGraph 的自适应 RAG 系统架构流程

1. 查询分析

该过程从分析用户查询开始,以确定检索和生成答案的最合适途径。

  • 步骤 1:路由确定

    • 根据查询与现有索引(数据库或向量存储)的相关性,将查询分类到类别中。
    • **[与索引相关]**:如果查询与索引内容对齐,则将其路由到 RAG 模块以进行检索和生成。
    • [与索引无关]:如果查询超出索引范围,则将其路由到网络搜索或其他外部知识源。
  • 可选路由:可以为更专业的场景添加其他途径,例如特定领域的工具或外部 API。

2. RAG + 自我反思

如果查询通过RAG 模块路由,它将经历一个迭代的、自我反思的过程,以确保高质量和准确的响应。

  1. 检索节点

  • 根据查询从索引数据库中检索文档。
  • 这些文档将传递到下一阶段进行评估。
  • 评分节点

    • 如果文档相关:继续生成答案。
    • 如果文档不相关:重写查询以获得更好的检索效果,并且该过程循环回到检索节点。
    • 评估检索到的文档的相关性。
    • 决策点:
  • 生成节点*   根据相关文档生成响应。

    • 生成的响应将进一步评估,以确保准确性和相关性。
  • 自我反思步骤


    • 它是否回答了问题?
    • 幻觉检查
    • 如果检测到幻觉(不准确或编造的事实):重写查询,或触发额外的检索以进行纠正。
    • 如果 “是”:过程结束,答案返回给用户。*   如果 “否”:查询将进行另一次迭代,可能会进行额外的改进。
  • 重写问题节点

    • 改进查询以获得更好的检索结果,并将其循环回到该过程。
    • 这确保了模型能够动态地适应以处理边缘情况或不完整的数据。

3. 用于不相关查询的网络搜索

如果在查询分析阶段,查询被认为与索引知识库不相关:

  • 使用网络搜索生成节点:系统直接执行网络搜索,并使用检索到的数据生成响应。
  • 使用网络搜索回答:生成的响应将直接交付给用户。

本质上,自适应 RAG是一种智能且资源感知的框架,通过利用量身定制的查询策略来提高响应质量和计算效率。

4. 自主纠正式 RAG

低质量的检索器通常会引入大量不相关的信息,阻碍生成器访问准确的知识,并可能误导它们。

纠正式检索增强生成来源:纠正式检索增强生成

同样,以下是 RAG 的一些问题:

传统 RAG(检索增强生成)的问题

  • 低质量的检索器:这些检索器可能会引入大量不相关或误导性的信息。这不仅会阻碍模型获取准确知识的能力,还会增加生成过程中产生幻觉的风险。
  • 不加区分的利用:许多传统的 RAG 系统不加区分地整合所有检索到的文档,而不管它们的相关性如何。这导致了不必要或不正确的数据的集成。
  • 低效的文档处理:当前的 RAG 方法通常将完整文档视为知识来源,即使检索到的文本的大部分可能不相关,也会冲淡生成质量。
  • 对静态语料库的依赖:依赖于固定数据库的检索系统只能提供有限或次优的文档,无法适应动态的信息需求。

纠正式 RAG (CRAG)

CRAG 旨在通过引入自我纠正检索结果、增强文档利用率和提高生成质量的机制来解决上述问题。

主要特点:

  • 检索评估器:一个轻量级组件,用于评估检索到的文档对于查询的相关性和可靠性。此评估器为文档分配置信度。
  • 触发的操作:根据置信度得分,会触发不同的检索操作——“正确”、“不明确” 或 “不正确”。*  用于增强的网络搜索:CRAG 认识到静态数据库的局限性,集成了大规模网络搜索以补充和改进检索结果。
  • 分解-再组合算法:此方法有选择地从检索到的文档中提取关键信息,丢弃不相关的部分以改进生成器的输入。
  • 即插即用功能:CRAG 可以与现有的基于 RAG 的系统无缝集成,而无需进行广泛的修改。

纠正式 RAG 工作流程

纠正式 RAG 工作流程来源:Dipanjan Sarkar

步骤 1:检索

使用输入查询从向量数据库中检索上下文文档。这是收集潜在相关信息的第一步。

步骤 2:相关性检查

使用大型语言模型 (LLM)评估检索到的文档是否与输入查询相关。这确保了检索到的文档适合该问题。

步骤 3:相关性验证

  • 如果所有文档都相关(正确),则不需要特定的纠正措施,并且该过程可以继续进行生成。
  • 如果检测到不明确不正确,请继续执行步骤 4。

步骤 4:查询改写和搜索

如果文档不明确或不正确:

  1. 根据 LLM 的见解改写查询。
  2. 进行网络搜索或其他检索,以获取更新且准确的上下文信息。

步骤 5:响应生成

将改进的查询和相关上下文文档(已纠正或原始文档)发送到 LLM 以生成最终响应。响应的类型取决于检索到的或纠正后的文档的质量:

  • 正确:将查询与检索到的文档一起使用。
  • 不明确:将原始上下文文档和新上下文文档组合在一起。 *不正确:使用纠正后的查询和新检索到的文档进行生成。

此工作流程通过迭代纠正和改进来确保响应的高度准确性。

自主纠正式 RAG 系统工作流程

其想法是将 RAG 系统与一些检查结合使用,并且在缺少与给定用户查询相关的上下文文档时执行网络搜索,如下所示:

自主纠正式 RAG 系统工作流程来源:Dipanjan Sarkar

  1. 问题:这是来自用户的输入,它启动了该过程。

  2. 检索(节点):系统查询向量数据库以检索可能回答用户问题的上下文文档。 3.评分(节点):大型语言模型 (LLM) 评估检索到的文档是否与查询相关。


  • 如果所有文档都被认为是相关的,则系统继续生成答案。
  • 如果任何文档不相关,则系统会改写查询并尝试进行网络搜索。

####步骤 1 – 检索节点

系统根据查询从向量数据库中检索文档,提供上下文或答案。

步骤 2 – 评分节点

LLM 评估文档相关性:

  • 全部相关:继续生成答案。
  • 部分不相关:标记问题并改进查询。

评分后的分支场景

  • 步骤 3A – 生成答案节点:如果所有文档都相关,则 LLM 生成快速响应。
  • 步骤 3B – 重写查询节点:对于不相关的结果,将改写查询以获得更好的检索效果。
  • 步骤 3C – 网络搜索节点:网络搜索收集更多上下文。
  • 步骤 3D – 生成答案节点:改进的查询和新数据用于生成答案。

我们可以通过在图中设置特定的功能步骤作为节点,并使用 LangGraph 来实现它,从而将其构建为自主代理式 RAG 系统。节点中的关键步骤将包括发送到 LLM 的提示,以执行特定任务,如下面的详细工作流程所示:

CRAG来源:使用 LangGraph 构建自主代理式 RAG 系统的综合指南

自主纠正式 RAG 架构通过纠正步骤增强了检索增强生成 (RAG),以获得准确的答案:

  1. 查询和初始检索:用户查询从向量数据库中检索上下文文档。

  2. 文档评估LLM 评分器提示评估每个文档的相关性(“是” 或 “否”)。

  3. 决策节点


  • 全部相关:直接继续生成答案。*  不相关文档:触发纠正步骤。
  • 查询改写LLM 改写提示重写查询以优化网络检索。

  • 额外检索:网络搜索检索改进的上下文文档。

  • 响应生成RAG 提示仅使用经过验证的上下文生成答案。

以下是 CRAG 的简要操作:

  • 错误纠正:此架构通过识别不相关的文档并检索更好的文档来迭代地提高上下文准确性。
  • 自主代理式行为:系统根据LLM 的评估动态调整其操作(例如,改写查询、执行网络搜索)。
  • 事实性保证:通过将生成步骤锚定到经过验证的上下文文档,该框架最大限度地降低了产生幻觉或不正确响应的风险。

5. 自我反思式 RAG

自我反思式 RAG(检索增强生成)是自然语言处理 (NLP) 中的一种高级方法,它结合了基于检索的方法和生成模型的优点,同时添加了额外的自我反思和逻辑推理层。例如,自我反思式 RAG 有助于检索、重写问题、丢弃不相关或产生幻觉的文档以及重试检索。简而言之,它的引入是为了捕捉使用 LLM 自我纠正低质量检索和/或生成的想法。

自路由的关键组件

  • LLM 的决策:评估查询以确定是否可以使用给定的检索上下文来回答查询。
  • 路由:如果查询是可回答的,则立即生成响应。否则,它将被路由到具有完整上下文文档的长上下文模型以生成响应。
  • 效率和准确性:此设计平衡了成本效率(避免不必要的计算成本和时间)和准确性(仅在需要时利用长上下文模型)。

自我 RAG 的主要特点

  1. 按需自适应检索


  • 与预先检索一组固定段落的传统 RAG 方法不同,SELF-RAG 根据正在进行的生成过程动态地决定是否需要检索。
  • 此决策是使用在生成过程中充当信号的反思标记做出的。

反思标记来源:SELF-RAG:通过自我反思学习检索、生成和评论

  1. 反思标记:这些是集成到 LLM 工作流程中的特殊标记,具有两个目的:


  • 检索标记:指示是否需要来自外部来源的更多信息。
  • 评论标记:自我评估生成的文本以评估质量、相关性或完整性。
  • 通过使用这些标记,LLM 可以决定何时检索并确保生成的文本与引用的来源对齐。
  • 用于质量保证的自我评论


    • LLM 使用生成的评论标记来评论其自身的输出。这些标记验证了生成段落的相关性、支持性或完整性等各个方面。
    • 此机制确保最终输出不仅连贯,而且还得到检索到的证据的良好支持。
  • 可控且灵活:反思标记允许模型在推理过程中调整其行为,使其适用于各种任务,例如回答需要检索的问题或生成无需检索的独立输出。

  • 改进的性能:通过结合动态检索和自我评论,SELF-RAG 在生成更高质量的、由证据更好支持的输出方面,超越了标准 RAG 模型和大型语言模型 (LLM)。

基本的RAG 流程涉及 LLM 根据检索到的文档生成输出。高级 RAG 方法(如路由)允许 LLM 根据查询选择不同的检索器。自我反思式 RAG 添加了反馈循环,根据需要重新生成查询或重新检索文档。状态机非常适合这种迭代过程,它定义了步骤(例如,检索、查询改进)和转换,从而实现动态调整,例如当检索到的文档不相关时重新查询。

Langgraph 的状态机

自我反思式 RAG 的架构

自我反思式 RAG 的架构

我创建了一个自我反思式 RAG(检索增强生成)架构。以下是流程和组件:

  1. 该过程从查询开始(以绿色显示)

  2. 第一个决策点:“是否需要检索?”


  • 如果 “否”:查询直接发送到 LLM 进行处理
  • 如果 “是”:系统继续执行检索步骤
  • 知识库集成*   知识库(以紫色显示)连接到 “检索相关文档” 步骤


    • 此检索过程提取潜在的相关信息以回答查询
  • 相关性评估


    • 检索到的文档经过 “评估相关性” 步骤
    • 文档被分类为“相关” 或 “不相关”
    • 不相关的文档会触发另一次检索尝试
    • 相关文档将传递到 LLM
  • LLM 处理


    • LLM(以黄色显示)处理查询以及相关的检索信息
    • 生成初始答案(以绿色显示)
  • 验证过程


    • 系统执行幻觉检查:确定生成的答案是否与提供的上下文对齐(避免不受支持或捏造的响应)。
  • 自我反思


    • “评论生成的响应”步骤(以蓝色显示)评估答案
    • 这是架构的 “自我反思” 部分
    • 如果答案不令人满意,系统可以触发查询重写并重新启动该过程
  • 最终输出:一旦生成 “准确的答案”,它就成为最终输出#### 评分和生成决策

  • 检索节点:处理文档的初始检索。

  • 评分文档:评估检索到的文档的质量和相关性。

  • 转换查询:如果未找到相关文档,则调整查询以进行重新检索。

  • 生成过程


    • 决定是否根据检索到的文档直接生成答案。
    • 使用条件边迭代地改进答案,直到答案被认为是有效为止。

传统 RAG 和 Self-Rag 的工作流程

传统 RAG 和 Self-Rag 的工作流程

来源:SELF-RAG:通过自我反思学习检索、生成和评论

以下是传统 RAG 和 Self-Rag 的工作流程,使用示例提示 “美国各州是如何得名的?”。

传统 RAG 工作流程

  1. 步骤 1 –检索 K 个文档:检索特定文档,例如:


  • “在 50 个州中,有 11 个州是以个人名字命名的”
  • “各州的热门名字。在德克萨斯州,艾玛是一个流行的婴儿名字”*   “加利福尼亚州是以西班牙小说中的一个虚构岛屿命名的”
  • 步骤 2 –使用检索到的文档生成:


    • 采用原始提示(“美国各州是如何得名的?”)+ 所有检索到的文档
    • 语言模型生成一个结合所有内容的响应
    • 这可能会导致矛盾或混合不相关的信息(例如,声称加利福尼亚州是以克里斯托弗·哥伦布的名字命名的)

Self-RAG 工作流程

  1. 步骤 1 –按需检索:


  • 从提示 “美国各州是如何得名的?” 开始
  • 对州名来源进行初始检索
  • 步骤 2 –并行生成段落:



    • 创建多个独立的段落,每个段落都有自己的:
    • 提示+ 检索到的信息
    • 事实核查
    • 示例:
    • 段落 1:关于以人名命名的州的事实
    • 段落 2:关于德克萨斯州命名的信息
    • 段落 3:关于加利福尼亚州名称由来的详细信息
  • 步骤 3 –评论和选择:


    • 评估所有生成的段落
    • 选择最准确/相关的段落
    • 可以在需要时检索更多信息
    • 将经过验证的信息组合到最终响应中#### 关键改进是 Self-RAG
  • 将响应分解为更小的、可验证的部分
  • 独立验证每个部分
  • 可以在需要时动态检索更多信息
  • 仅将经过验证的信息组合到最终响应中

如下面的 “写一篇关于你最美好的暑假的作文” 示例所示:

  • 传统 RAG 仍然尝试不必要地检索文档
  • Self-RAG 识别出不需要检索,并直接从个人经验中生成。

6. 推测式 RAG

推测式 RAG 是一种智能框架,旨在使大型语言模型 (LLM) 在回答问题时既更快更准确。它通过在两种语言模型之间分配工作来实现这一点:

  1. 一个小型、专用模型,可以快速起草潜在的答案。
  2. 一个大型、通用模型,可以仔细检查这些草稿并选择最佳草稿。
推测式 RAG

为什么我们需要推测式 RAG?

当您提出问题时,特别是需要精确或最新信息的问题(例如 “_新款 iPhone 的最新功能是什么?_”),常规 LLM 通常会遇到困难,原因是:

  1. 它们可能会“产生幻觉”:这意味着它们可能会自信地给出错误或编造的答案。
  2. 它们依赖于过时的知识:如果模型没有根据最近的数据进行训练,则它无法帮助提供更新的事实。
  3. 复杂的推理需要时间:如果要处理大量信息(例如长文档),模型可能需要很长时间才能响应。

这就是检索增强生成 (RAG) 介入的地方。RAG 检索实时的、相关的文档(例如来自数据库或搜索引擎),并使用它们来生成答案。但问题是:当处理大量数据时,RAG仍然可能速度慢资源密集

推测式 RAG 通过添加专门的团队合作来解决此问题:(1) 专家 RAG 起草者,以及 (2) 通用 RAG 验证者。

推测式 RAG 的工作原理是什么?

将推测式 RAG 想象成一个两人团队在解决难题:

  1. 步骤 1:收集线索“检索器” 外出并获取包含与您的问题相关信息的文档。例如,如果您问 “_谁在 1980 年的电影《朝九晚五》中扮演了多拉莉·罗德斯?_”,它会提取有关这部电影以及音乐剧的文章。

  2. 步骤 2:起草答案(小型模型)一个较小、更快的语言模型(专家起草者)处理这些文档。它的工作是:


  • 快速创建多个可能的答案草稿。
  • 包括每个草稿的推理(例如说,“此答案基于此来源”)。
  • 此模型就像一位初级侦探,可以快速勾勒出想法。

  • 步骤 3:验证最佳答案(大型模型)一个更大、更强大的语言模型(通用验证者)接下来介入。它:


    • 检查每个草稿的准确性和相关性。
    • 根据置信度对它们进行评分。
    • 选择最佳草稿作为最终答案。5.  将此模型视为高级侦探,他会仔细检查初级侦探的工作并做出最终决定。

将其联系起来的示例

让我们来看一个示例查询:

“_谁在 1980 年的电影《朝九晚五》中饰演多拉莉·罗德斯?_”

  1. 检索文档:系统查找有关电影 (1980) 和音乐剧 (2010) 的文章。

  2. 起草答案(专家起草者)


  • 草稿 1:“_多莉·帕顿在 1980 年的电影《朝九晚五》中扮演了多拉莉·罗德斯。_”
  • 草稿 2:“_多拉莉·罗德斯是 2010 年音乐剧《朝九晚五》中的一个角色。_”
  • 验证答案(通用验证者)


    • 草稿 1 获得高分,因为它与电影和问题相符。
    • 草稿 2 获得低分,因为它与音乐剧有关,而不是电影。
  • 最终答案:系统自信地输出:“_多莉·帕顿在 1980 年的电影《朝九晚五》中扮演了多拉莉·罗德斯。_”

为什么这种方法很智能?

  • 更快的响应:较小的模型处理生成草稿的繁重工作,从而加快了速度。
  • 更准确的答案:较大的模型仅专注于审查草稿,从而确保高质量的结果。
  • 高效的资源利用:较大的模型不会浪费时间处理不必要的细节——它只验证。

###推测式 RAG 的主要优势

  1. 均衡的性能:它速度快,因为小型模型起草,而且准确,因为大型模型验证。
  2. 避免浪费精力:大型模型不会审查所有内容,而只会检查小型模型建议的内容。 3.实际应用:非常适合回答需要推理和实时、最新信息的难题。

推测式 RAG 就像拥有一个聪明的助手(专家起草者)和一个细心的编辑(通用验证者)协同工作,以确保您的答案不仅快速而且非常准确!

标准 RAG 与自我反思式 RAG 与纠正式 RAG 与推测式 RAG

标准 RAG 与自我反思式 RAG 与纠正式 RAG 与推测式 RAG

来源:推测式 RAG:通过起草增强检索增强生成

1. 标准 RAG

  • 工作原理:它从知识库中检索文档,并直接将它们合并到通用 LM 的输入中。
  • 弱点:这种方法给通用 LM 增加了负担,它既要理解文档,又要生成最终答案。它没有区分相关信息和不相关信息。

2. 自我反思式 RAG

  • 添加内容:通用 LM 学习对检索到的文档进行分类,判断其是相关还是不相关,并且可以根据这些分类来调整自身。
  • 弱点:它需要对通用 LM 进行额外的指令微调以处理这些分类,并且可能仍然会产生效率较低的答案。

3. 纠正式 RAG

  • 添加内容:在将文档合并到通用 LM 的提示之前,使用外部自然语言推理 (NLI)模型将文档分类为 “正确”、“不明确” 或 “不正确”。
  • 弱点:这通过引入额外的 NLI 步骤增加了复杂性,从而减慢了该过程。

4. 推测式 RAG

  • 主要创新:它将任务分为两部分:


    • 专家 RAG 起草者(较小的 LM)快速生成多个答案草稿和理由。
    • 通用 LM评估这些草稿并选择最佳草稿。
  • 逐步过程


    • 答案草稿 (α)
    • 随附的理由 (β)。*  验证和选择:通用 LM 评估所有草稿 (α1,α2,α3) 及其理由以分配分数。它选择置信度最高的草稿作为最终答案。
    • 问题输入:当系统收到知识密集型问题时,它会检索相关文档。

    • 并行起草:专家 RAG 起草者并行处理检索到的文档子集。每个子集生成:

推测式 RAG 框架实现了速度和准确性的完美平衡:

*小型专家 LM完成繁重的工作(根据检索到的文档起草答案)。

  • 大型通用 LM确保最终输出准确且理由充分。这种方法通过减少延迟同时保持最先进的准确性,从而优于早期方法。




方法工作原理弱点推测式 RAG 改进
标准 RAG
直接将所有检索到的文档传递给通用 LM。
低效且容易出现不相关的内容。
将起草工作分流给专家,从而减轻负担。
自我反思式 RAG
LM 学习将文档分类为相关/不相关。
需要指令微调,仍然速度慢。
专家 LM 并行处理此问题,无需微调。
纠正式 RAG
使用自然语言推理 (NLI) 模型来分类文档的正确性。
增加复杂性,减慢响应时间。
避免额外的步骤;使用草稿进行快速评估。
推测式 RAG
分割起草(专家 LM)和验证(通用 LM)。
无(更快且更准确)。
结合了速度、准确性和并行处理。

7. 自路由自主代理式 RAG

自路由是自主代理式 RAG 系统中的一种设计模式,其中大型语言模型 (LLM)在决定如何处理查询方面发挥着积极作用。该方法依赖于 LLM 的自我反思能力,并确定它是否可以根据提供的上下文生成准确的响应。如果模型确定它无法生成可靠的响应,则会将查询路由到替代方法,例如长上下文模型,以进行进一步处理。此架构利用 LLM 的内部校准来确定可回答性,从而优化性能和成本。在检索增强生成还是长上下文 LLM?综合研究和混合方法中介绍了此方法,该方法结合了检索增强生成 (RAG) 和长上下文 (LC),以实现成本效率,同时保持与 LC 相当的性能。自路由利用 LLM 本身通过自我反思来路由查询,其前提是 LLM 在预测给定上下文是否可以回答查询方面是经过良好校准的。

自路由的关键组件:

1.LLM 的决策:评估查询以确定是否可以使用给定的上下文来回答查询。 2.  路由:如果查询是可回答的,则立即处理。否则,它将被路由到具有附加或完整上下文的长上下文模型。 3.  效率和准确性:此设计平衡了成本效率(避免不必要的计算)和准确性(仅在需要时利用长上下文模型)。

自路由自主代理式 RAG来源:Dipanjan Sarkar

1. 标准 RAG 流程

  1. 输入查询和上下文检索


  • 提交用户查询
  • 使用向量数据库检索相关上下文文档,该数据库将查询与预先索引的文档进行匹配。
  • 决策节点


    • GPT-4o 或 Gemini这样的长上下文 LLM 接收查询和上下文文档。 *它使用LLM 判断提示

提示

如果查询无法根据提供的上下文回答,请写入 UNANSWERABLE,否则写入 ANSWERABLE。 查询:<query> 上下文文档:<context>Copy Code
*   此步骤确定上下文是否足以回答查询。 *   **结果**:      *   如果查询被判断为 **ANSWERABLE**,则流程继续 **标准 RAG 提示**。     *   如果为 **UNANSWERABLE**,则流程移至 **长上下文 LLM 流程**。
  1. RAG 提示(对于 ANSWERABLE 查询):

    如果存在足够的上下文,则使用以下提示来生成响应:

给定查询和上下文文档,仅使用提供的信息来回答查询,不要编造答案。 查询:<query> 上下文:<context>CopyCode
  1. 答案生成


  • GPT 4o 模型处理RAG 提示并根据提供的上下文生成答案。

2. 长上下文 LLM 流程

  1. 触发条件


  • 如果决策节点判断查询为UNANSWERABLE,则该过程切换到长上下文 LLM 流程
  • 合并上下文文档


    • LLM 判断提示识别出上下文中存在不足,因此合并操作将多个相关的上下文文档合并为单个长上下文文档,以获得更好的上下文连续性。
  • 长上下文提示

    然后,合并后的文档将用作 GPT-4o 模型的输入,并使用以下提示:

给定查询和此上下文文档,仅使用提供的信息来回答查询,不要编造答案。 查询:<query> 上下文:<long_context>Copy Code
  1. 答案生成


  • GPT 4o 模型处理长上下文提示并根据丰富的、合并的上下文生成响应。

主要特征和工作流程

以下是主要特征和工作流程:

  1. 动态决策


  • 该架构动态地评估上下文是否足以回答查询,从而确保系统根据输入复杂性进行调整。
  • 两层答案生成


    • 标准 RAG 流程:处理具有可用且足够上下文的简单查询。
    • 长上下文 LLM 流程:解决需要广泛或组合上下文的复杂查询。
  • 用于精细控制的提示


    • RAG 提示长上下文提示中的显式指令通过将模型限制为提供的上下文来确保事实性,从而避免产生幻觉。
  • 具有向量数据库的可扩展性


    • 系统通过在做出有关查询处理的决策之前从向量数据库中检索相关上下文来有效地扩展。

总结

  • 标准RAG 流程有效地处理具有可用且足够上下文的查询。
  • 长上下文 LLM 流程通过将多个文档合并为连贯的长上下文来扩展处理复杂查询的能力。
  • 精心设计的提示和决策节点可确保准确性、上下文一致性以及对各种查询要求的适应性。

结论

随着检索增强生成 (RAG) 领域的进步,自主代理式 RAG 系统已成为一项变革性创新,它将传统的 RAG 工作流程与 AI 代理的自主性和适应性相结合。这种融合使系统能够动态检索相关知识、智能地改进上下文并精确执行多步骤任务。

从自主代理式 RAG 路由器和自我反思式 RAG,到推测式 RAG 和自路由 RAG 等高级架构,每种方法都解决了特定的挑战,例如不相关的检索、推理错误或计算效率低下。这些系统在提高客户支持、工作流程自动化和研究协助等各种应用中的准确性、适应性和可扩展性方面取得了重大进展。

通过将生成式 AI 与高级检索机制相结合,自主代理式 RAG 不仅提高了效率,而且还为未来的 AI 创新奠定了基础。当我们迈向 2025 年之际,这些技术有望重新定义我们利用数据、自动化工作流程和解决复杂问题的方式,使其成为企业和开发人员必不可少的工具包。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询