TodayAI

RAG

RAG 让模型在回答前先检索你的资料,而不是只依赖训练记忆。它是文档问答、知识库助手和 Agent 工作流里的常见架构。

RAG(Retrieval-Augmented Generation)解决的核心问题是:模型需要基于你的私有或最新资料回答,而不是凭空编造。典型做法是先把文档切块、向量化并建立索引,再在用户提问时检索相关片段,把它们放进 prompt 里生成答案。

要真正搭建一套 RAG 工作流,通常会同时涉及文档处理、Embedding、检索、生成模型和编排框架。下面按这些环节整理相关指南、模型与工具。

RAG 解决什么问题

当你要让 AI 回答「这份 PDF 里写了什么」「我们内部文档怎么规定」或「这批笔记里有哪些矛盾说法」时,单纯对话模型往往缺少可靠上下文。RAG 把「找材料」和「写答案」拆开:先检索,再生成。

它适合知识库问答、客服辅助、研究笔记整理和需要引用来源的 Agent。不适合所有场景:如果问题只需要通用常识,或你能接受把全文直接塞进上下文,未必需要完整 RAG 管线。

  • 适合:私有文档、易更新资料、需要可追溯引用的问答
  • 不一定需要:极短上下文、纯创意写作、已有托管 File Search 的简单场景

一个典型 RAG 流程

自建 RAG 时,官方文档通常会把流程拆成几个可独立替换的步骤。不同框架命名略有差异,但逻辑相近。

  1. Ingestion:导入 PDF、网页、数据库记录等原始资料
  2. Chunking:把长文档切成适合检索的片段
  3. Embedding:用 Embedding 模型把片段转成向量
  4. Indexing:写入向量库或托管检索服务
  5. Retrieval:按用户问题召回最相关片段
  6. Generation:把片段与问题一起交给 LLM 生成答案

关键组成

一套可运行的 RAG 至少涉及:Embedding 模型(或托管检索服务)、检索层、生成用 LLM,以及把各步串起来的框架或 Agent 编排。

OpenAI、Google、LangChain 等官方路径也提供托管 File Search / Vector Store,把切块与索引托管在 API 侧,适合你不想自建向量库时快速验证。

  • Embedding models:把文本映射到向量空间,用于语义检索
  • Retrieval layer:向量库、托管 File Search 或混合检索
  • LLM:在检索结果基础上生成答案
  • Orchestration:LangChain、LangGraph、Agents SDK 等串联流程

什么时候不一定需要完整 RAG

如果资料很短,可以直接放进模型上下文;如果平台已提供托管文档检索(如 File Search),可能不必自建向量索引。

RAG 质量很大程度取决于检索是否召回正确片段,而不是生成模型单独决定。上线前应用自己的文档集做召回与引用检查。

推荐阅读路径

官方资料