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

DeepAgents : 检索(Retrieval)

DeepAgents : 检索(Retrieval)

大语言模型(LLM)虽能力卓越,却受两大固有制约:

  • 上下文窗口有限——无法一次性处理大规模语料;
  • 知识时效性固化——训练数据截止后即不再更新。

为突破这些限制,检索机制让模型能在推理时动态获取外部知识,而检索增强生成(RAG)则进一步将检索与生成结合,产出有据可依的答案。

1. 知识库构建

知识库是检索系统的数据底座,可由文档、结构化数据等构成。LangChain 提供丰富的文档加载器向量存储,基于私有数据快速搭建知识库。已有数据库、CRM 或内部文档系统的,则无需重复建设,可直接将其作为工具接入,实现:

  • 智能体式 RAG(Agentic RAG):让 Agent 自主决定检索时机与方式;
  • 两步 RAG(2‑Step RAG):固定先检索后生成,流程清晰可预测。

检索流水线

一个标准的检索流程通常包含以下模块化步骤(各组件均可灵活替换):

各构建模块(加载器、分割器、嵌入模型、向量库等)均解耦设计,便于按需组合。

2. RAG 架构选型

根据业务对控制力灵活性延迟的要求,可选择不同架构:

架构特点控制力灵活性延迟典型场景
两步 RAG固定检索顺序,生成前必检稳定、快FAQ、文档问答机器人
智能体式 RAGAgent 自主决定检索时机与工具不固定(取决于推理路径)需调用多种工具的研究助手
混合 RAG融合两者,加入验证与重试环节不固定对答案质量有严格要求的领域系统

3. 两步 RAG(2‑Step RAG)

该模式简单直接:每次回答前必须执行检索,将检索结果作为生成上下文。它适用于大多数对流程稳定性要求高的场景。

4. 智能体式 RAG(Agentic RAG)

此模式让 LLM 驱动的 Agent 在推理过程中自主判断是否检索检索什么以及如何使用检索结果。只需为 Agent 配备一个或多个检索工具(如文档加载器、网页抓取、SQL 查询等),即可赋予其动态获取外部知识的能力。

代码示例(基础工具定义):

importrequestsfromlangchain.toolsimporttoolfromlangchain.chat_modelsimportinit_chat_modelfromlangchain.agentsimportcreate_agent@tooldeffetch_url(url:str)->str:"""获取指定 URL 的文本内容"""response=requests.get(url,timeout=10.0)response.raise_for_status()returnresponse.text system_prompt="""当你需要从网页获取信息时,使用 fetch_url 工具,并引用相关片段。"""agent=create_agent(model="claude-sonnet-4-6",tools=[fetch_url],system_prompt=system_prompt,)

实战:面向 LangGraph 文档的智能体问答
以下 Agent 会先读取llms.txt(内含文档索引),再根据用户问题动态调用fetch_documentation获取并解析相关页面:

importrequestsfromlangchain.agentsimportcreate_agentfromlangchain.messagesimportHumanMessagefromlangchain.toolsimporttoolfrommarkdownifyimportmarkdownify ALLOWED_DOMAINS=["https://langchain-ai.github.io/"]LLMS_TXT='https://langchain-ai.github.io/langgraph/llms.txt'@tooldeffetch_documentation(url:str)->str:"""从指定 URL 抓取文档并转为 Markdown"""ifnotany(url.startswith(domain)fordomaininALLOWED_DOMAINS):returnf"错误:URL 不在允许范围内,必须以{', '.join(ALLOWED_DOMAINS)}开头。"response=requests.get(url,timeout=10.0)response.raise_for_status()returnmarkdownify(response.text)# 预先加载文档索引(无需每次经 LLM)llms_txt_content=requests.get(LLMS_TXT).text system_prompt=f""" 你是一位资深的 Python 技术专家,专注于 LangGraph 生态。 工作原则: 1. 凡涉及 API 用法、配置或行为的问题,**必须**使用 `fetch_documentation` 查阅官方文档。 2. 引用文档时需给出总结和关键上下文。 3. 禁止访问非允许域名下的 URL。 4. 若获取失败,请告知用户并基于已有知识尽力作答。 可用文档索引如下:{llms_txt_content}"""tools=[fetch_documentation]model=init_chat_model("claude-sonnet-4-6",max_tokens=32_000)agent=create_agent(model=model,tools=tools,system_prompt=system_prompt,name="AgenticRAG")response=agent.invoke({'messages':[HumanMessage(content="写一个使用预置 create_react_agent 的 Agent,用于查询股票价格。")]})print(response['messages'][-1].content)

5. 混合 RAG(Hybrid RAG)

该架构融合前两种模式,在检索前后增加中间处理步骤,例如:

  • 查询增强:改写模糊问题、生成多版本查询或添加上下文;
  • 检索验证:判断初次检索是否充分,不足则优化后二次检索;
  • 答案验证:校验生成答案的准确性与完整性,不符合则修正或重生成。

它适合查询条件不明确、涉及多源数据或需要严格质量把控的复杂场景。

http://www.jsqmd.com/news/1313291/

相关文章:

  • 产品经理怎样用 MainBody 检查 PRD、接口和页面实现是否一致?
  • 基于SenseCraft AI与XIAO ESP32S3的边缘视觉AI开发实战
  • Tacview飞行数据分析:5个技巧掌握专业飞行回放与评估
  • 多页扫描件、合并单元格、手写批注全搞定,AI表格结构化提取实战手册,限免领取前100份
  • DeepSeek V4-Flash 0731 基准测试解读:Agent 能力跃升与横向对比
  • 宁波老板找财务咨询?认准这几点选到靠谱机构 - 品牌品鉴馆
  • 3步搞定PotPlayer字幕翻译:免费实现外语视频实时翻译的终极方案
  • 5分钟掌握本地视频字幕提取:从繁琐到高效的全新体验
  • 从电竞选手到技术团队:角色定位如何塑造个人表达与团队协作
  • 工业边缘计算实战:在reComputer R1000与FIN Stack上实现稳定Modbus TCP/RTU数据采集
  • 循环神经网络(RNN)原理详解:从记忆机制到LSTM/GRU实战应用
  • TinyML实战:在ESP32-S3与STM32上部署边缘AI模型的核心技术与应用
  • 内容创作者怎样用 MainBody 从选题、写作走到博客发布?
  • 【计算机工具类-操作系统Skills】linux-privilege-escalation 技能
  • Grove五向开关实战指南:从硬件原理到菜单导航与无线遥控应用
  • AgentScope Java 2.0: 让Java开发者真正落地的AI Agent框架
  • Xadow与Grove接口转换器设计:打破硬件生态壁垒,实现传感器无缝互联
  • 2026年安徽分类考试复读怎么选?合肥共达校内预科班招生说明 - 小张zc
  • reCamera 2002系列网络摄像机:从开箱部署到平台集成的实战指南
  • EPSON机械手视觉引导实战:从手眼标定到系统集成的完整指南
  • Adobe全家桶下载链接
  • 终极macOS菜单栏管理工具Ice:重新定义macOS界面自定义体验
  • VC++ 2022运行库安装失败?深度排查与修复指南
  • 终极指南:如何用TFT Overlay轻松提升云顶之弈段位 [特殊字符]
  • 从CTF实战解析Modbus协议:Wireshark与Python脚本攻防技巧
  • 零代码3D重建:Meshroom开源工具终极指南
  • 扬州知途管道科技团队评测:6款主流漏水检测设备横向对比与选型建议 - 知途管道科技
  • 不用再买多个会员,在玉芬AI一站式调用多款大模型写论文
  • Xadow三轴加速度计:从硬件解析到姿态识别与运动检测实践
  • MMD Tools插件:Blender中MMD模型与动画的终极桥梁