深入学LangChain官方文档-KnowledgeBase与RAG:外部知识如何进入模型上下文
深入学LangChain官方文档-KnowledgeBase与RAG外部知识如何进入模型上下文本篇对应的官方文档Retrieval说明运行时检索、知识库构成与 2-Step / Agentic / Hybrid RAG 的架构取舍。Build a semantic search engine with LangChain给出Document、Embedding、Vector Store 与 Retriever 的最小知识库链路。本篇讲解范围本篇把企业资料变成可进入模型上下文的检索证据并说明三类 RAG 的选择边界多知识域怎样路由给不同专家、连续对话怎样交接控制权留给下一篇 Router 与 Handoffs。公司制度、产品说明和项目记录都在变模型却不会因为文件躺在服务器上就自动知道其中内容。难点也不是“把 PDF 喂给模型”。一次调用的上下文有限整库塞入会让成本、延迟和噪声一起上升。RAG 要做的是先把外部资料加工成能被定位的证据再只取回当前问题需要的片段。以“本季度差旅住宿标准是多少哪天生效”为例最终回答必须能指回制度版本和具体条款。模型擅长把证据组织成自然语言制度库、版本号和权限系统才负责保存权威事实。这个职责分离是 RAG 能否进入生产的起点。知识库不是文件夹而是可检索的证据集合LangChain 用Document表示一段文本及其元数据。page_content放可供检索的内容metadata则记录来源 URL、制度版本、章节、适用部门或生效日期。元数据不是附属装饰。当员工问的是“上海研发中心的标准”它决定哪些候选片段有资格参与回答。原始文档通常太长必须切成 chunk。chunk 太大相关条款会被无关段落稀释太小条件、例外和金额会被拆散。切分应服从资料结构制度可按标题和条款切工单可按问题和解决步骤切。切完后仍要让每个 chunk 带回原文的版本和位置否则命中也无法解释“依据哪一条”。Embedding 找候选原文才提供证据Embedding 把文本转为向量让语义相近的问题和片段在向量空间中更接近。它解决的是“用户没有复述原句时怎样召回候选”并不判断条款是否仍有效更不替业务系统作最终裁决。VectorStore保存文本、向量和元数据并提供相似度搜索能力Retriever则把自然语言 query 转成一组相关Document。两者分开后存储技术可以替换检索策略也能按场景调整。业务代码拿到的是原始文本片段和 metadata而不是一串无法引用的向量。对于带有效期的制度召回前应先用 metadata 过滤版本或组织范围再按语义选相关性。否则一个语义很像但已废止的 chunk 仍可能排名靠前。检索质量因此来自资料治理、切分、metadata、Embedding 和过滤条件的合力而不是单独换一个向量数据库。“相关”不等于“允许进入上下文”。部门、角色、数据分级和生效日期应在召回路径中明确执行RAG 可以把符合资格的证据交给模型但不能替代访问控制或把无权限资料借由语义检索泄露出去。先选可控的运行方式再谈“智能”LangChain 把 RAG 常见形态概括为 2-Step、Agentic 和 Hybrid。选择它们的关键不是名称而是“检索是否是回答的固定前提”“谁决定是否再查一次”“可以接受多少可变延迟”。2-Step RAG 在生成前固定检索调用次数清楚、延迟更可预测适合制度问答和文档助手。Agentic RAG 把 Retriever 或外部知识源做成工具让 Agent 在推理中决定要不要查、查什么适合研究助手或多种知识工具并存的场景。Hybrid RAG 在中间加入查询改写、相关性验证或答案校验用更多步骤换取更强的控制。一个最小的 2-Step RAG 入口下面的示例只保留“资料入库—召回—把证据交给模型”三件事。生产环境还需要身份过滤、持久化存储、版本更新和评估但不能把这些责任混进 Retriever 的接口里。fromlangchain_core.documentsimportDocumentfromlangchain_core.vectorstoresimportInMemoryVectorStorefromlangchain_openaiimportChatOpenAI,OpenAIEmbeddings documents[Document(page_content2026 年第三季度上海研发中心住宿上限为每晚 800 元。,metadata{source:travel-policy-2026q3,city:上海,effective:2026-07-01},)]embeddingsOpenAIEmbeddings(modeltext-embedding-3-large)storeInMemoryVectorStore(embeddings)store.add_documents(documents)retrieverstore.as_retriever(search_kwargs{k:3})question上海研发中心本季度住宿标准是多少evidenceretriever.invoke(question)context\n.join(doc.page_contentfordocinevidence)modelChatOpenAI(modelqwen3.7-plus)answermodel.invoke(f仅依据以下制度回答并说明来源\n{context}\n\n问题{question})print(answer.content)retriever.invoke(question)返回的是候选Documentcontext才是本次模型调用真正看到的证据窗口。若结果为空、metadata 不匹配或版本不合格系统应先暴露“没有足够依据”的状态而不是让模型用常识补齐答案。这里的InMemoryVectorStore只适合演示不能替代生产知识库的更新、权限和备份设计。Agentic RAG 让检索成为一项工具能力当问题可能来自制度库、项目文档或外部服务时把检索封装为工具会更灵活。Agent 可以先追问条件、选择知识源或在证据不足时再次调用工具代价是调用次数和延迟不再固定工具权限与审计也必须继续沿用第 15、16 篇的审批和 Middleware 体系。无论是 2-Step 还是 AgenticRetriever 返回的片段都只是“可引用的候选证据”。它不能证明答案完整也不会自动发现知识库已经过期。对高风险问题检索结果应携带来源和版本对没有命中的问题产品应允许追问、转人工或明确拒答。RAG 的失败点大多在模型之外空召回、过期文档和不相关片段会把错误带进生成阶段。可操作的处理顺序是先记录 query、命中片段、版本和最终回答再用真实问题集检查“是否找对”“是否答全”“是否带对来源”最后才调整切分、过滤、查询改写或模型提示。把“召回为空时不编造”写成产品行为往往比继续增加上下文更重要。结论RAG 是证据路径不是知识替身第 11 篇建立了 Retrieval 的入口本篇把它补成一条可运行的知识路径资料经切分和向量化进入 Vector StoreRetriever 根据问题返回相关Document模型只基于这一小段证据组织回答。固定、可预测的知识问答先用 2-Step需要动态选择资料源时再考虑 Agentic 或 Hybrid。下一篇转向另一类复杂性当问题应该交给不同专家时Router 和 Handoff 如何分别承担分发与跨轮次控制权交接。

相关新闻

Roo Commander与Claude Code协同工作流:规划到执行的无缝衔接

Roo Commander与Claude Code协同工作流:规划到执行的无缝衔接

Roo Commander与Claude Code协同工作流:规划到执行的无缝衔接 【免费下载链接】roo-commander Think of it like having a virtual, specialized software development team right inside your editor, orchestrated by the 👑 Roo Commander, powered b…

2026/10/27 17:18:56 阅读更多 →
超炫酷起号打斗视频提示词

超炫酷起号打斗视频提示词

帮我生成视频:10 秒短视频,16:9 画幅,8 个分镜固定硬切转场,邵氏楚原武侠美学,依士曼彩色胶片质感,高饱和红黑撞冰蓝撞色,明显胶片颗粒感,8K 超高清,HDR10+,二次元动漫风格,电影级光影,120 帧高帧率。动态模糊拉满,CG 级渲染,写实与玄幻结合,强视觉冲击,声画完…

2026/10/29 1:16:38 阅读更多 →
ExifToolGui元数据导出与导入:跨设备同步照片信息的完整指南

ExifToolGui元数据导出与导入:跨设备同步照片信息的完整指南

ExifToolGui元数据导出与导入:跨设备同步照片信息的完整指南 【免费下载链接】ExifToolGui A GUI for ExifTool 项目地址: https://gitcode.com/gh_mirrors/ex/ExifToolGui ExifToolGui是一款强大的ExifTool图形界面工具,帮助用户轻松管理照片元数…

2026/10/25 13:40:50 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/28 23:48:14 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/28 7:28:00 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/28 9:02:11 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/28 22:10:30 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/28 9:00:54 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/28 7:29:02 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 16:58:40 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 9:01:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 19:25:09 阅读更多 →