Skip to main content
大语言模型(LLM)功能强大,但它们有两个关键限制:
  • 有限的上下文——它们无法一次性处理整个语料库。
  • 静态知识——它们的训练数据在某个时间点被冻结。
检索通过查询时获取相关的外部知识来解决这些问题。这是检索增强生成(RAG) 的基础:用特定上下文信息增强 LLM 的答案。

构建知识库

知识库是在检索过程中使用的文档或结构化数据的存储库。 如果你需要一个自定义知识库,可以使用 LangChain 的文档加载器和向量存储从你自己的数据中构建一个。
如果你已经有一个知识库(例如,SQL 数据库、CRM 或内部文档系统),你不需要重建它。你可以:
  • 将其作为工具连接到智能体式 RAG 中的智能体。
  • 查询它,并将检索到的内容作为上下文提供给 LLM (两步式 RAG)
请参阅以下教程,构建一个可搜索的知识库和最小化的 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 行为,唯一需要的就是能够访问一个或多个可以获取外部知识的工具——例如文档加载器、Web API 或数据库查询。

教程:检索增强生成 (RAG)

了解如何构建一个能够基于你的数据回答问题的问答聊天机器人,使用检索增强生成。 本教程将介绍两种方法:
  • 一个RAG 智能体,使用灵活的工具进行搜索——非常适合通用用途。
  • 一个两步式 RAG 链,每个查询只需一次 LLM 调用——对于较简单的任务来说快速高效。

混合式 RAG

混合式 RAG 结合了两步式和智能体式 RAG 的特点。它引入了中间步骤,例如查询预处理、检索验证和后生成检查。这些系统比固定管道提供了更多的灵活性,同时保持了对执行的一定控制。 典型组件包括:
  • 查询增强:修改输入问题以提高检索质量。这可能涉及重写不明确的查询、生成多个变体或用额外上下文扩展查询。
  • 检索验证:评估检索到的文档是否相关且充分。如果不满足条件,系统可能会优化查询并重新检索。
  • 答案验证:检查生成的答案的准确性、完整性以及与源内容的一致性。如果需要,系统可以重新生成或修改答案。
该架构通常支持这些步骤之间的多次迭代: 这种架构适用于:
  • 具有模糊或未明确指定查询的应用程序
  • 需要验证或质量控制步骤的系统
  • 涉及多个来源或迭代优化的流程

教程:具有自我修正功能的智能体式 RAG

一个混合式 RAG 的示例,它结合了智能体推理、检索和自我修正。