- 有限的上下文——它们无法一次性处理整个语料库。
- 静态知识——它们的训练数据在某个时间点被冻结。
构建知识库
知识库是在检索过程中使用的文档或结构化数据的存储库。 如果你需要自定义知识库,可以使用 LangChain 的文档加载器和向量存储从你自己的数据构建一个。如果你已经有知识库(例如 SQL 数据库、CRM 或内部文档系统),你不需要重建它。你可以:
- 将其作为智能体 RAG 中的工具连接。
- 查询它并将检索到的内容作为上下文提供给 LLM (两步 RAG)。
教程:语义搜索
学习如何使用 LangChain 的文档加载器、嵌入和向量存储从你自己的数据创建可搜索的知识库。
在本教程中,你将构建一个基于 PDF 的搜索引擎,能够检索与查询相关的段落。你还将在这个引擎之上实现一个最小的 RAG 工作流,以了解如何将外部知识整合到 LLM 推理中。
从检索到 RAG
检索使 LLM 能够在运行时访问相关上下文。但大多数实际应用更进一步:它们将检索与生成整合以产生有根据的、上下文感知的答案。 这是**检索增强生成(RAG)**的核心思想。检索管道成为更广泛系统的基础,该系统将搜索与生成相结合。检索管道
典型的检索工作流如下所示: 每个组件都是模块化的:你可以在不重写应用逻辑的情况下替换加载器、分割器、嵌入或向量存储。构建模块
文档加载器
从外部数据源(Google Drive、Slack、Notion 等)摄取数据,返回标准化的
Document 对象。嵌入模型
嵌入模型将文本转换为数字向量,使含义相似的文本在该向量空间中彼此靠近。
向量存储
用于存储和搜索嵌入的专用数据库。
检索器
检索器是给定非结构化查询返回文档的接口。
RAG 架构
RAG 可以根据系统需求以多种方式实现。我们在下面的章节中概述了每种类型。延迟:在两步 RAG 中延迟通常更可预测,因为 LLM 调用的最大次数是已知且有上限的。这种可预测性假设 LLM 推理时间是主导因素。然而,实际延迟也可能受到检索步骤性能的影响——如 API 响应时间、网络延迟或数据库查询——这些可能因使用的工具和基础设施而异。
两步 RAG
在两步 RAG 中,检索步骤总是在生成步骤之前执行。这种架构简单直观且可预测,适用于文档检索明确是生成答案前提条件的许多应用。教程:检索增强生成(RAG)
了解如何构建一个能够回答基于你的数据的问题的问答聊天机器人,使用检索增强生成。
本教程介绍了两种方法:
- RAG 智能体:使用灵活工具运行搜索——适合通用场景。
- 两步 RAG 链:每次查询只需一次 LLM 调用——对于简单任务快速高效。
智能体 RAG
智能体检索增强生成(RAG)结合了检索增强生成与基于智能体的推理的优势。智能体(由 LLM 驱动)不是在回答之前检索文档,而是逐步推理并在交互过程中决定何时以及如何检索信息。教程:检索增强生成(RAG)
了解如何构建一个能够回答基于你的数据的问题的问答聊天机器人,使用检索增强生成。
本教程介绍了两种方法:
- RAG 智能体:使用灵活工具运行搜索——适合通用场景。
- 两步 RAG 链:每次查询只需一次 LLM 调用——对于简单任务快速高效。
混合 RAG
混合 RAG 结合了两步 RAG 和智能体 RAG 两者的特点。它引入了中间步骤,如查询预处理、检索验证和生成后检查。这些系统在提供比固定管道更多灵活性的同时,保持了对执行的一定控制。 典型组件包括:- 查询增强:修改输入问题以提高检索质量。这可能涉及重写不清楚的查询、生成多个变体或用额外上下文扩展查询。
- 检索验证:评估检索到的文档是否相关且充分。如果不充分,系统可以优化查询并重新检索。
- 答案验证:检查生成的答案的准确性、完整性以及与源内容的一致性。如果需要,系统可以重新生成或修改答案。
- 具有模糊或未充分指定查询的应用
- 需要验证或质量控制步骤的系统
- 涉及多个数据源或迭代优化的工作流
教程:带自我纠正的智能体 RAG
一个将智能体推理与检索和自我纠正相结合的混合 RAG 示例。
将这些文档连接到 Claude、VSCode 等,通过 MCP 获取实时答案。

