news 2026/6/26 23:02:33

[智能体-255]:Retriever:RAG 核心底座、实现各类 RAG 的统一标准组件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[智能体-255]:Retriever:RAG 核心底座、实现各类 RAG 的统一标准组件

一、定位

Retriever是 LangChain 顶层抽象接口(BaseRetriever),统一所有数据源的查询规范,不管是 Chroma/FAISS 本地向量库、Milvus 远端向量库、ES、文档目录、MCP 远程知识库,对外都统一.invoke(query:str) → List[Document]

所有 RAG 本质:Query → Retriever → 召回文档 → 拼上下文 →LLM

也就是发生在信息提交给大模型之前!!!

二、两种 RAG 用法(关键区分:固定链 / Agent 按需检索)

1. 固定 LCEL-RAG(Retriever作为链路节点,有程序员决定什么时候查,非 Tool

全量请求强制检索,不能跳过检索:

python

运行

rag_chain = ( {"question": RunnablePassthrough(), "context": retriever | format_docs} | prompt | llm )
  • 特点:L3 级 Copilot,流程写死、简单稳定、企业标准知识库。

2. Agent-RAG(Retriever 包装成 Tool,LLM 自主决定查不查

create_retriever_tool(retriever,name,desc)→ 转为标准BaseTool塞进agent 工具列表

python

运行

from langchain_core.tools.retriever import create_retriever_tool kb_tool = create_retriever_tool(retriever,"企业知识库","查内部制度") agent = create_tool_calling_agent(llm,[kb_tool],prompt)
  • 特点:L4 级 Agent,常识问题直接回答、私有资料才触发检索,节约向量库算力。也就是说,并不是固定的节点查询向量库,而是根据大模型的判断后再决定是否需要查询

三、Retriever 常见实现分类

  1. 向量检索 Retriever(最常用)Chroma、FAISS、Milvus、PGVector 等向量库:db.as_retriever(k=3),向量相似度召回。
  2. 关键词检索 Retriever:ElasticsearchRetriever、BM25Retriever,关键词匹配。
  3. 混合检索 Retriever:EnsembleRetriever:向量 + BM25 多路召回合并,提升召回精度。
  4. 远程MCP-Retriever(分布式架构)向量服务部署 MCP Server,远端通过 MCP 工具实现检索,LangChain 客户端靠 MCP Tool 间接调用检索能力。
  5. 父文档检索、多 Query 改写 RetrieverParentDocumentRetriever、MultiQueryRetriever(查询扩写多条再检索,RAG-Fusion 实现)。

四、Retriever 在 ReAct/FunctionCall Agent 无差别兼容

不管 ReActAgent 还是 FunctionCallAgent:

Retriever → create_retriever_tool → 标准 Tool → 直接入 tools 数组:两种 Agent 接入 RAG 代码完全一致,底层只是模型输出格式不同。

五、为什么说 Retriever 是 RAG 神器

  1. 解耦:更换向量引擎只需要换Retriever 实例,上层 RAG/Agent 代码不动;
  2. 双形态兼容既能嵌入 LCEL 固定链路,又能包装 Tool 给 Agent 动态调用;
  3. 生态统一:LangChain 所有增强 RAG(多路召回、查询优化、分层检索)全部基于 Retriever 扩展;
  4. 无缝对接 MCP分布式知识库

六、极简总结

  • 不用 Retriever:手写 SQL / 接口查库,代码绑定存储,换库全改;
  • 使用 Retriever:一套代码适配全数据库,随意切换固定 RAG / 智能 Agent-RAG。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/18 16:00:54

Unity Shader 贴图和采样的关系 如何保证贴图清晰

简单来说,贴图是包含颜色数据的“仓库”,而采样是GPU从仓库里取出数据并为像素“上色”的过程。首先,我们来理解一下这个基本过程。在Shader中,程序会根据模型顶点上的UV坐标,快速计算出你当前看到这个像素在贴图上的对…

作者头像 李华
网站建设 2026/6/14 6:09:50

HFSS新手避坑指南:手把手教你搞定威尔金森功分器仿真(附参数文件)

HFSS新手避坑指南:手把手教你搞定威尔金森功分器仿真第一次打开HFSS时,那个复杂的界面就像面对一台陌生的精密仪器——每个按钮都暗藏玄机,稍有不慎就会让仿真结果变得面目全非。特别是对于威尔金森功分器这种基础却关键的射频元件&#xff0…

作者头像 李华
网站建设 2026/6/14 6:10:06

深度解锁AMD Ryzen潜能:SMUDebugTool完全指南与实战应用

深度解锁AMD Ryzen潜能:SMUDebugTool完全指南与实战应用 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://…

作者头像 李华