RAG检索增强生成原理

入门·10 分钟·系统讲解 RAG 检索增强生成的完整流程:文档切分、Embedding、向量数据库、召回、重排、提示词拼接、引用与评估。

RAG检索增强生成原理

RAG 是 Retrieval-Augmented Generation 的缩写,中文常译为检索增强生成。它的核心思想是:先检索相关资料,再让大模型基于资料回答。

为什么需要RAG

大语言模型虽然懂很多知识,但它有三个问题:

  1. 训练数据可能过时;
  2. 对企业内部资料不了解;
  3. 可能编造看似合理的答案。

RAG 把外部知识库接进来,让模型回答时有资料依据。它像开卷考试:模型负责理解和表达,资料库负责提供依据。

RAG的基本流程

  1. 收集文档,例如 PDF、网页、知识库、客服记录。
  2. 清洗文档,去掉目录噪声、重复内容和无关信息。
  3. 把文档切成小段。
  4. 用 embedding 模型把每段转成向量。
  5. 存入向量数据库。
  6. 用户提问时检索相关片段。
  7. 把片段和问题一起放进提示词。
  8. 大模型生成回答,并尽量引用来源。

每一步都会影响最终质量。

一个企业制度问答例子

员工问:“出差高铁票怎么报销?”

RAG 系统会先检索公司差旅制度,找到“交通费报销”“票据要求”“审批流程”等片段,再让模型组织回答。

如果直接问大模型,它可能给出通用建议;使用 RAG 后,回答能贴近公司制度。

文档切分的影响

切分是 RAG 中最容易被低估的环节。切得太碎,模型看不到完整上下文;切得太长,检索结果噪声太多。

好的切分应该尽量保持语义完整。例如按标题、小节、问答对、条款切分,而不是机械地每 500 字切一次。

召回和重排

向量检索负责先找一批可能相关的内容,这叫召回。召回后可以用重排模型重新排序,把真正相关的片段放到前面。

如果召回阶段没找到正确资料,生成阶段再强也没用。所以评估 RAG 时不能只看最终回答,还要看检索结果是否命中。

如何减少幻觉

  • 提示词中要求“只根据资料回答”;
  • 资料不足时允许回答“不确定”;
  • 输出引用来源;
  • 对关键答案进行规则校验;
  • 定期更新知识库;
  • 人工检查高风险问题。

RAG不适合什么

RAG 适合知识问答和资料检索增强,但不适合所有场景。如果任务需要模型学习固定风格、复杂操作习惯或大量隐含规则,微调可能更合适。如果资料本身质量差,RAG 也无法变出正确答案。

小结

RAG 的关键不是“把文档丢给大模型”,而是做好文档处理、切片、向量化、召回、重排、提示词和评估。真正稳定的 RAG 系统,本质是搜索系统和生成系统的结合。