Skip to main content

retrieval

心智模型

检索(Retrieval) 通过在查询时动态获取相关外部知识,解决了 LLM 上下文有限和知识静态的两大局限。它是 RAG 的基础,通过文档加载、分块、嵌入、向量存储和检索器这一标准管道,实现从“搜索”到“用外部信息增强生成”的跨越。

二级标题及内容

  • 【构建知识库】Building a knowledge base 若已有现成数据库或文档系统,可直接作为工具或查询后提供上下文,无需重建。LangChain 提供文档加载器、向量存储等工具用于自建知识库。

  • 【检索管道】Retrieval pipeline 包含文档源 → 加载 → 分块 → 嵌入 → 存入向量库的一整套模块化处理流程。

  • 【RAG 架构】RAG architectures 三种主要架构:

    • 2 步 RAG:检索总是先生成,简单快速,延迟可预测,控制力强。适用于 FAQ、文档机器人。
    • Agentic RAG:LLM Agent 自行推理并决定何时、如何检索,灵活性高但延迟可变。适用于有多工具的研究助手。其核心是提供能获取外部知识的工具。
    • Hybrid RAG:结合两者特点,增加查询增强、检索验证、答案验证等中间步骤,在质量控制和灵活性间取得平衡。适用于需验证或迭代优化的场景。

最佳实践

  • 优先复用现有知识库:若已有数据库或内部文档系统,应直接作为工具或用其查询结果,而不是用 LangChain 重建。
  • 按需选择架构:简单明确的问答用 2 步 RAG(快且可控),需要多步推理和探索用 Agentic RAG(灵活),对质量有严格要求的用 Hybrid RAG(带验证)。
  • Agentic RAG 的关键是工具:Agent 只需访问一个能获取外部知识的工具(如文档加载器、网络请求工具),即可实现 RAG 行为。
  • 预加载上下文:Agentic RAG 中可在系统提示中预先置入可用文档索引(如 llms.txt),让 Agent 知道哪些资源存在,再按需调用工具获取详情。

RAG 的使用场景围绕一个核心需求:让 LLM 能够基于外部实时、私有或海量的知识来回答问题,而非仅依赖训练数据中的记忆。

与微调/持续预训练的区别:微调适合教模型特定格式或风格,但不适合频繁更新的知识。RAG 适合需要实时、可溯源、海量外部知识的场景,两者可以互补。