检索增强生成(RAG)

RAG 在生成回答前检索相关资料,再把资料作为回答依据。它把“去哪里找到信息”与“怎样组织答案”连接起来,常用于文档问答和知识助手。

返回概念图谱 →

理解与应用

检索增强生成通常指先从外部资料中找出相关内容,再把它交给语言模型生成回答的过程。RAG 原始论文研究了一种将检索与生成结合的模型;工程中,这个名称也被用于更广泛的文档问答流程。检索可以使用关键词、向量或数据库条件,并不必须依赖向量库。

假设员工问:“7 月 8 日去成都出差,住宿最多能报多少?”以下以虚构制度为例:公司旧规则是每晚 450 元,7 月 1 日起调整为每晚 500 元,上海的标准另为 650 元。模型仅凭语言知识无法知道这家公司的规定;RAG 系统需要先找到住宿制度,再按成都、出差日期和员工适用范围确定应该使用哪一条。

资料进入检索库之前,通常会被解析成适合查找的片段,并保留标题、来源与有效期。收到问题后,检索器先找候选,应用再选择有用部分交给模型。这个例子里,新旧成都规则可能都很相似,但相似度解决不了生效时间问题;检索或后续筛选仍需保留日期条件,不能因为旧文档排名靠前就采用 450 元。

生成阶段要让答案与证据对应。合适的回答是说明这次出差适用每晚 500 元的上限,附上该条款,并解释上限不等于无条件按 500 元报销。若检索结果只找到上海标准,就还缺少回答成都问题的依据;若用户没有提供日期,而制度正好发生过调整,则需要先补齐日期。

排查 RAG 错误时,可以沿这条过程逐段检查:资料库是否收录了新制度,检索是否找到了它,所选片段是否带上有效期,最终回答是否准确使用了条款。给答案加一个文档链接并不能自动证明这些环节正确。RAG 改变的是模型本次能看到的证据,通常不需要为每次制度更新重新训练模型。

关系速览
检索增强生成(RAG)包含 →文档解析

文档型检索系统通常先解析文字与结构,再建立可追溯索引。

检索增强生成(RAG)包含 →文档切分(Chunking)

对长文档建立检索单元时,分块决定召回证据的粒度。

检索增强生成(RAG)包含 →向量检索

向量检索是 RAG 可选的召回方式,关键词或结构化查询也可以用于 RAG。

检索增强生成(RAG)应用于 →文档问答

文档问答可用检索证据约束答案,并在找不到证据时拒绝编造。

看一个具体过程:按目的地和出差日期找到住宿限额

数值与制度均为教学设定。目的地排除了上海规则,日期排除了成都旧规则;最终答案使用的是筛选后的证据,而不是把最像问题的一段文字直接当结论。

以下为教学示意,未连接真实业务系统。

过程示意

问题:2026 年 7 月 8 日去成都出差,住宿上限是多少?

虚构资料库:
P-11:成都 450 元/晚,适用至 2026-06-30。
P-19:成都 500 元/晚,自 2026-07-01 起生效。
P-20:上海 650 元/晚,自 2026-07-01 起生效。
三条均适用于该员工类别,均要求符合规定并按实际费用报销。

检索与筛选:
目的地=成都 → 保留 P-11、P-19。
出差日期=2026-07-08 → 采用 P-19。
提供给模型:P-19 正文、适用范围、生效日期和条款位置。

示意结果

示意回答:这次成都出差适用每晚 500 元的住宿上限,依据是 7 月 1 日起生效的 P-19 条款。该标准是上限,实际可报金额还取决于真实费用及条款要求。

常见误区

  • 只凭相似度选择政策,却不核对目的地、人员范围与生效日期,容易引用一条真实但不适用的规则。
  • 把“检索到了文档”当成“答案已有依据”,忽略片段是否真正支持回答里的具体金额和条件。

前置与延伸

建议先读

相关概念

参考与版本

Apollo 原创讲解与教学示例。参考资料用于核对技术定义;核验日不代表资料的发布日期。

  • RAG 原始论文 ↗

    已核对作者论文页面,v4;原论文 RAG 模型与如今泛指的检索后生成流水线有范围差异,正文明确区分。 · 核验:2026-10-10