当前位置: 首页 > news >正文

从RAG到Agentic RAG

RAG(检索增强生成)
传统RAG(检索增强生成)技术:先从资料库里检索相关内容 → 再基于这些内容来生成答案。
RAG的基本运行流程
一、数据准备部分(用户提问前)
分片 → 索引

  1. 分片

  2. 索引:①通过Embedding将片段文本转换为向量;②将片段文本和片段向量存入向量数据库中 的过程
    向量相似度计算方法:①余弦相似度;②欧氏距离;③点积…
    流程样例:

二、回答部分(用户提问后)
召回 → 重排 → 生成

  1. 召回(向量相似度):搜索与用户问题相关的片段(成本低、耗时短、准确率低。适合初步筛选)
    similarity(用户问题向量,片段向量); //计算当前片段与用户问题的相似度。
  2. 重排(cross-encoder):对召回数据进一步筛选(成本高、耗时长、准确率高。适合精挑细选)
  3. 生成答案
    生成过程:

关键特性:利用外部知识库来增强生成模型的能力,避免仅仅依赖训练数据。
优势:避免生成模型的幻觉(错误信息)问题,增强生成内容的准确性和相关性。
Graph RAG
传统的 RAG 技术仍然依赖于文本匹配,无法真正理解文本背后的语义和逻辑关系,在处理复杂查询、捕捉细微差别等方面依然存在不足。如果只是把一堆文件扔给学生,而不教给他们如何理解和分析,他们真的能找到问题的答案吗?
Graph RAG 将知识图谱(KG)引入 RAG 体系,就像为 AI 构建了一张清晰的“知识地图”。知识图谱能够表达实体之间的复杂关系,例如父子关系、朋友关系、因果关系等等,从而让 AI 不仅能够“查到”信息,更能够“理解”信息之间的逻辑,给出更准确、更智能的答案。
由两个主要部分组成:节点和边。节点表示独立的实体,例如人物、地点、物体或概念。而边则表示节点之间的关系,表示它们如何相互关联。这种结构使 LLM 能够访问精确且与上下文相关的的数据,从而极大地提高了其生成信息丰富答案的能力。Graph RAG 的创新之处在于它将图数据库与 LLM 相结合,在生成答案之前丰富了模型的上下文。

以上提到的RAG基本上都是 输入->搜索->应答 这样的一个线性流程,就像工厂的流水线一样,这样的流程适合解决资料库中有答案的问题,但是对于复杂的多跳推理,或者有常规搜索工具以外的工具需求的问题,就可能没法很好地处理。
要解决这些复杂问题,搜索只是其中一个步骤,但是只有搜索是不够的,系统还需要具备一定的自主决策能力,比如根据当前状况选择工具,复杂任务拆解成可执行的子任务等。
Agentic RAG(AI代理+检索增强生成)
Agentic RAG是对传统RAG的扩展,它结合了代理机制(Agentic RAG 是一个总的框架,它引入了智能代理来增强系统的自主决策能力。这个框架不仅限于检索-生成的简单流程,还支持在任务中通过代理进行智能决策与推理。 ),让LLM在检索和生成过程中更加具有“代理”的特征。所谓Agentic RAG,是一种融合智能代理(Agent)能力的RAG架构。通过动态规划、多步骤推理和自主决策机制,Agentic RAG可以在复杂任务中实现闭环的检索-加工-验证-优化。这些agents作为自主决策者,分析初步发现并战略性地选择最有效的工具以进一步检索数据。这种多步推理能力使Agentic RAG能够处理复杂的研究任务,例如总结、跨多个文档比较信息。这种新引入的agents将LLM从被动响应者转变为主动调查者,能够深入挖掘复杂信息并提供全面、合理的答案。
传统RAG的检索操作相对更独立一些,缺乏上面提到的多任务拆解的能力,而Agentic RAG能够拆解任务,并且把多个子任务之间的依赖处理清楚。
为了让LLM能够做出更合理的决策,Agentic RAG的输入一般会提供更多的信息,比如用户所在的地点、时间、历史聊天记录都可能需要。
传统RAG一般是一次过输出结果,而Agentic RAG则经常需要循环地规划思考、调用工具、整合结果。

Deep Search(深度搜索)
核心理念:Deep Search 的核心设计原则是“搜索(search)、阅读(read)和推理
(reason)的持续循环”。它强调的是一个原子化的、基础的信息获取和处理过程。

主要功能:

  1. 数据摄取: 从多种来源摄取文档和数据。
  2. 用户查询处理: 将用户查询分解 成多个子查询。
  3. 集合路由与语义搜索: 根据子查询进行集合路由,并通过向量数据库进 行语义检索。
  4. 反思与知识补充: 系统检查是否存在知识缺口,并根据需要生成新查询。
  5. 报告生成(初步): 在没有知识缺口的情况下,生成最终的总结报告(这里的报告更偏向于对搜索结果的初步汇总)。
    特点: Deep Search 更侧重于高效、迭代地从海量信息中检索、理解和初步总结相关内容。它是一个强大的信息发现和初步整合工具,是后续更复杂任务的基础。
    Deep Search项目举例:
  6. https://github.com/zilliztech/deep-searcher

流程总结:

  1. 数据摄取:从多种来源摄取文档和数据;

  2. 用户查询处理:用户提出查询,系统将其分解成多个子查询;

  3. 集合路由与语义搜索:根据子查询进行集合路由,并通过向量数据库进行语义检索;

  4. 反思与知识补充:系统检查是否存在知识缺口,并根据需要生成新查询;

  5. 报告生成:在没有知识缺口的情况下,生成最终的总结报告;
    优点:

  6. 知识缺口识别:能够反思知识缺口,主动生成新的查询以弥补缺口,提高搜索全面性;

  7. 利用向量数据库进行语义搜索,能够更好理解查询意图和文档内容;

  8. 搜索、阅读、推理的持续循环,形成一个结构化的框架。
    缺点:

  9. 更多是基于搜索结果的初步汇总,缺少一定的深度分析和复杂推理;

  10. 缺乏高级代理。

  11. https://github.com/huggingface/smolagents

核心流程:
( 让大语言模型(LLM)用“写代码”的方式主动执行任务,通过安全的沙箱环境运行这些代码,从而完成复杂、多步的自动化操作。 )

  1. 用户提交任务 → 任务存入 agent.memory;
  2. ReAct Loop 启动,模型从 agent.memory 中读取任务;
  3. 基于任务生成响应 → 解析响应并提取代码操作;
  4. 执行代码操作(如调用工具) → 调用 final_answer 工具获取最终答案;
  5. 返回用户最终答案。
    优点:
  6. ReAct循环:模型可以推理、规划、执行,增强任务自主性;
  7. 可以解析响应并执行代码,赋予了模型更强的问题解决能力;
  8. 内存机制
    缺点:
  9. CodeAgent生成代码去执行,对安全性要求高;
  10. 使用了e2b(对ai生成代码的安全执行)采用了安全的代码沙箱环境,但是增加了部署成本。

Deep Research(深度研究)
核心理念: Deep Research 是在 Deep Search 的基础上构建的,它将 Deep Search 作为一个“原子构建块”来使用。Deep Research 提供了“结构化的研究报告框架”,并加强了“推理与决策循环的能力”。

主要功能:

  1. 结构化报告生成: 在 Deep Search 获取的信息基础上,生成更长篇、更结构化的研究报告。
  2. 强化推理与决策: 通过 LLM 生成结构化的响应,处理复杂的研究问题,并支持多轮、深度的推理和决策过程。
  3. 多代理协作: 接下来会提到的 Deep Research 项目 (如 Deep Researcher Agent, Browser Use Agent, Deep Analyzer Agent)表明,深度研究通常涉及多个智能代理的协同工作,以完成更复杂的任务,例如:
    ● 优化搜索关键词,进行多轮网络搜索和本地知识库提取。
    ● 整合见解,提出核心发现。
    ● 模拟浏览器操作,进行数据抓取和接口测试。
    ● 处理多种格式的数据,进行推理和摘要归纳。
    ● 针对研究问题生成爬虫代理,从在线资源中搜索信息,并进行汇总和溯源。
    特点:Deep Research不仅仅是信息检索,更是一个全面的、智能化的研究过程。它将深度搜索的结果进行深层次的分析、综合、验证和组织,最终产出高质量、结构化的研究报告。它强调的是从信息到知识的转化,以及对复杂问题的深入洞察和系统性解答。

Deep Research项目举例:

  1. https://github.com/SkyworkAI/DeepResearchAgent/blob/main/README_CN.md

多代理协作框架:
一、顶层规划智能体:
● 负责理解任务、规划整体流程。
● 将任务分解为子任务并分配给合适的子智能体。
● 动态协调各智能体之间的协作,确保任务顺利完成。
二、专业子智能体:

  1. Deep Researcher Agent
    ● 负责信息获取与提问:
    ○ 优化搜索关键词(query)
    ○ 多轮网络搜索 + 本地知识库提取
    ○ 整合见解、提出核心发现
    ● 支持 Python 执行器:能运行代码(如数据抓取、接口测试)

  2. Browser Use Agent
    ● 负责浏览器操作模拟:
    ○ 定义浏览器动作(点击、填表、滚动)
    ○ 管理交互状态(cookies、会话等)
    ● 也支持 Python 执行器:可运行自动化脚本

  3. Deep Analyzer Agent
    ● 负责数据/文本分析和总结:
    ○ 处理多种格式(文本、表格、PDF等)
    ○ 进行推理和摘要归纳(调用 LLM)
    ● 也支持 Python 执行器:可运行自动化脚本

  4. Other Sub-Agent
    ● 灵活可插拔,支持:
    ○ 自定义逻辑(如财经分析、法律条款抽取等)
    ○ 拓展工具(例如计算器、文件搜索器、OCR 等)
    优点:

  5. 分层协作,适用于复杂和动态任务,通过多个专业代理的协同工作,能够处理研究过程中的不同环节, 提高了效率和专业性;

  6. 易于扩展,可集成更多专业智能体,Other Sub-Agent 的设计使其能够灵活地集成自定义逻辑和外部工具,适应不同领域的研究需求;

  7. Deep Researcher Agent 和 Browser Use Agent 结合,能够进行多轮、深度的网络搜索和数据抓取,并支持代码执行。
    缺点:

  8. 系统复杂性较高。

  9. https://github.com/assafelovic/gpt-researcher/blob/master/README-zh_CN.md

核心流程:

  1. 根据研究搜索或任务创建特定领域的代理。

  2. 生成一组研究问题,这些问题共同形成答案对任何给定任务的客观意见。

  3. 针对每个研究问题,触发一个爬虫代理,从在线资源中搜索与给定任务相关的信息。

  4. 对于每一个抓取的资源,根据相关信息进行汇总,并跟踪其来源。

  5. 最后,对所有汇总的资料来源进行过滤和汇总,并生成最终研究报告。
    优点:

  6. 自动化信息收集:通过自动触发爬虫代理收集信息,提高收集效率;

  7. 来源可靠:跟踪并汇总信息来源,信息可靠;
    缺点:

  8. 依赖爬虫,受限于网站的数据结构的变化和反爬虫机制

  9. https://github.com/dzhng/deep-research

流程总结

  1. 初始设置
    ○ 获取用户查询和研究参数(广度和深度)
    ○ 生成后续问题以更好地了解研究需求

  2. 深度研究过程
    ○ 根据研究目标生成多个SERP查询
    ○ 处理搜索结果以提取关键学习
    ○ 生成后续研究方向

  3. 递归探索
    ○ 如果深度>0,则采取新的研究方向并继续探索
    ○ 每次迭代都建立在之前的学习之上
    ○ 维护研究目标和发现的背景

  4. 报告生成
    ○ 将所有调查结果汇编成一份全面的报告
    ○ 包括所有来源和参考资料
    ○ 以清晰易读的格式组织信息
    优点:

  5. 人为可控的深度|广度参数,使得研究报告更加定制化和可控;

  6. 递归搜索:每次迭代都是建立在之前的学习内容之上,有助于更加深入的挖掘信息;

  7. 会根据研究目标生成多个SERP查询,提高查询的覆盖面和效率;

  8. 并发处理:同时处理多个搜索结果以提高效率。
    缺点:

  9. 没有明确提及代理。

  10. https://github.com/u14app/deep-research

流程总结

  1. 研究课题
    ○ 输入研究课题
    ○ 使用本地研究资源(可选)
    ○ 开始思考(或重新思考)

  2. 提出你的想法
    ■ 回答系统问题(可选)
    ■ 编写研究计划(或重写研究计划)
    ■ 开始深度研究(或再研究)
    ■ 系统生成SERP查询

  3. 信息收集
    ■ 基于SERP查询检索本地研究资源
    ■ 基于SERP查询从公网收集信息
    ■ 提出研究建议(可选)
    ■ 开始新一轮的信息收集(过程与初始研究相同)

  4. 生成最终报告
    ○ 提出书面请求(可选)
    ○ 将所有研究资料汇总成全面的Markdown报告
    ○ 重新生成研究报告(可选)
    优点:

  5. 交互式更强的研究,允许用户回答系统问题,编写研究计划;

  6. 可结合本地资源和SERP查询,信息来源更广;

  7. 递归式研究,使得研究内容更加深入具体,有助于完善研究内容;
    缺点:

  8. 用户参与度高,可能会增加用户负担,自动化程度不高。

  9. https://github.com/google-gemini/gemini-fullstack-langgraph-quickstart

核心流程:

  1. 生成初始查询:根据您的输入,使用Gemini模型生成一组初始搜索查询。
  2. 网页搜索:对于每个查询,它使用Gemini模型配合谷歌搜索API来查找相关的网页。
  3. 反思与知识缺口分析:该代理程序会分析搜索结果,以确定信息是否充分,或者是否存在知识缺口。在此反思过程中,它使用了Gemini模型。
  4. 迭代优化:若发现信息有遗漏或不足,系统会生成后续问题,并重复网络搜索和反思步骤(最多可循环至设定的最大次数)。
  5. 最终确定答案:一旦认为研究足够充分,代理程序就会使用Gemini模型,将收集到的信息整合成连贯的答案,并注明网络来源。
    优点:
  6. 使用Gemini模型驱动,以及Google搜索API集成;
  7. 迭代优化与反思,提高信息的准确性和完整性;
  8. 注明来源,确保信息准确性。

deep Search与deep Research二者的区别总结:

  1. deep search:“如何找到信息”;deep research:“如何利用信息进行深入研究并形成报告”
  2. Deep Search 的目标是高效地发现和初步总结信息。Deep Research 的目标是基于发现的信息,进行深层次的分析、推理,并生成结构化的研究报告。
  3. Deep Research比Deep Search更复杂,因为它在Deep Search的基础上增加了多代理协作、结构化报告生成和更强的推理决策能力。
  4. Deep Search是Deep Research的核心组成部分和基础。没有Deep Search的信息获取能力,Deep Research 无法进行深入分析。
http://www.lryc.cn/news/595769.html

相关文章:

  • 无人机吊舱与遥控器匹配技术解析
  • 一文读懂深度模型优化器,掌握炼丹工具
  • MySQL 学习二 MVCC
  • IBGP互联(ensp)
  • 【nginx】隐藏服务器指纹:Nginx隐藏版本号配置修改与重启全攻略
  • Unity中,Panel和 Canvas的区别
  • 数字签名(Digital Signature)
  • VR技术在元宇宙游戏中的作用及发展前景深度分析
  • A316-V71-Game-V1:虚拟7.1游戏声卡评估板技术解析
  • Leetcode—692. 前K个高频单词【中等】(桶排序)
  • PyTorch武侠演义 第一卷:初入江湖 第4章:损失玉佩的评分风波
  • 【AI学习从零至壹】Transformer
  • 02-netty基础-java四种IO模型
  • Java设计模式揭秘:深入理解模板方法模式
  • 详解FreeRTOS开发过程(二)-- 列表和列表项
  • 【前端】ikun-pptx编辑器前瞻问题二: pptx的压缩包结构,以及xml正文树及对应元素介绍
  • 机器学习模型视角下的市场联动机制:美元美债与黄金3400价格的VAR向量自回归分析
  • 面向对象高级:static
  • linux c语言进阶 - 进程,通信方式
  • VRRP技术
  • 从零构建实时通信引擎:Freeswitch源码编译与深度优化指南
  • 3秒请假:华润啤酒AI助手“哆啦”的轻巧落地与深度思考
  • 【洛谷】用两个数组实现静态单链表、静态双向链表,排队顺序
  • 基于JAVA实现基于“obj--html--pdf” 的PDF格式文本生成
  • Android perfetto 工具使用
  • 使用vue-pdf-embed发现某些文件不显示内容
  • Stirling PDF本地PDF编辑器:cpolar内网穿透实验室第628个成功挑战
  • css3地球转动模型(动态数据)
  • vue3实现高性能pdf预览器功能可行性方案及实践(pdfjs-dist5.x插件使用及自定义修改)
  • fuse低代码工作流平台概述【已开源】-自研