跳到主要内容

文档索引

在以下地址获取完整的文档索引:https://docs.langchain.org.cn/llms.txt

在进一步探索之前,请使用此文件发现所有可用页面。

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

构建知识库

知识库是检索过程中使用的一组文档或结构化数据的存储库。 如果您需要自定义知识库,可以使用 LangChain 的文档加载器和向量存储来根据您自己的数据进行构建。
如果您已经拥有知识库(例如 SQL 数据库、CRM 或内部文档系统),则无需重建。您可以
  • 将其作为智能体 (Agentic RAG) 的工具进行连接。
  • 查询它并将检索到的内容作为上下文提供给 LLM (两步式 RAG)
请参阅以下教程以构建可搜索的知识库和极简 RAG 工作流

教程:语义搜索

了解如何使用 LangChain 的文档加载器、嵌入和向量存储从您自己的数据中创建可搜索的知识库。在本教程中,您将针对 PDF 构建一个搜索引擎,从而能够检索与查询相关的段落。您还将在该引擎之上实现一个极简的 RAG 工作流,以了解如何将外部知识集成到 LLM 的推理中。

从检索到 RAG

检索允许 LLM 在运行时访问相关上下文。但大多数实际应用更进一步:它们将检索与生成相结合,以产生基于事实、具备上下文感知的回答。 这就是检索增强生成 (RAG) 背后的核心思想。检索流水线成为将搜索与生成相结合的更广泛系统的基础。

检索流水线

典型的检索工作流如下所示 每个组件都是模块化的:您可以更换加载器、切分器、嵌入或向量存储,而无需重写应用程序的逻辑。

构建模块

文档加载器

从外部源(Google Drive、Slack、Notion 等)摄入数据,并返回标准化的 Document 对象。

嵌入模型

嵌入模型将文本转换为数字向量,使得含义相近的文本在该向量空间中彼此靠近。

向量存储

用于存储和搜索嵌入的专用数据库。

检索器

检索器是一种接口,给定非结构化查询时,它会返回相关文档。

RAG 架构

根据系统的需求,RAG 可以以多种方式实现。我们在下文中概述了每种类型。
架构描述控制灵活性延迟示例用例
两步式 RAG检索总是在生成之前发生。简单且可预测✅ 高❌ 低⚡ 快速常见问题解答、文档机器人
代理式 RAG由 LLM 驱动的智能体在推理过程中决定何时以及如何检索❌ 低✅ 高⏳ 可变可访问多个工具的研究助手
混合结合了两种方法的特点并带有验证步骤⚖️ 中等⚖️ 中等⏳ 可变带有质量验证的领域特定问答
延迟两步式 RAG 的延迟通常更可预测,因为 LLM 调用的最大次数是已知的且有上限的。这种可预测性假设 LLM 推理时间是主要因素。然而,实际延迟也可能受检索步骤性能的影响——例如 API 响应时间、网络延迟或数据库查询——这些可能会根据所使用的工具和基础设施而有所不同。

两步式 RAG

两步式 RAG 中,检索步骤总是在生成步骤之前执行。这种架构简单且可预测,非常适合许多将相关文档检索视为生成答案的明确先决条件的应用场景。

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

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

代理式 RAG

智能体检索增强生成 (RAG) 将检索增强生成的优势与基于智能体的推理相结合。智能体(由 LLM 驱动)不是在回答前预先检索文档,而是逐步推理,并决定在交互过程中何时如何检索信息。
智能体实现 RAG 行为所需的唯一条件是访问一个或多个可以获取外部知识的工具——例如文档加载器、Web API 或数据库查询。
import { tool, createAgent } from "langchain";

const fetchUrl = tool(
    (url: string) => {
        return `Fetched content from ${url}`;
    },
    { name: "fetch_url", description: "Fetch text content from a URL" }
);

const agent = createAgent({
    model: "claude-sonnet-4-0",
    tools: [fetchUrl],
    systemPrompt,
});

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

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

混合 RAG

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

教程:带自纠错的智能体 RAG

一个混合 RAG 示例,它将智能体推理与检索和自纠错相结合。

© . This site is unofficial and not affiliated with LangChain, Inc.