RAG检索增强生成原理
入门·10 分钟·系统讲解 RAG 检索增强生成的完整流程:文档切分、Embedding、向量数据库、召回、重排、提示词拼接、引用与评估。
RAG检索增强生成原理
RAG 是 Retrieval-Augmented Generation 的缩写,中文常译为检索增强生成。它的核心思想是:先检索相关资料,再让大模型基于资料回答。
为什么需要RAG
大语言模型虽然懂很多知识,但它有三个问题:
- 训练数据可能过时;
- 对企业内部资料不了解;
- 可能编造看似合理的答案。
RAG 把外部知识库接进来,让模型回答时有资料依据。它像开卷考试:模型负责理解和表达,资料库负责提供依据。
RAG的基本流程
- 收集文档,例如 PDF、网页、知识库、客服记录。
- 清洗文档,去掉目录噪声、重复内容和无关信息。
- 把文档切成小段。
- 用 embedding 模型把每段转成向量。
- 存入向量数据库。
- 用户提问时检索相关片段。
- 把片段和问题一起放进提示词。
- 大模型生成回答,并尽量引用来源。
每一步都会影响最终质量。
一个企业制度问答例子
员工问:“出差高铁票怎么报销?”
RAG 系统会先检索公司差旅制度,找到“交通费报销”“票据要求”“审批流程”等片段,再让模型组织回答。
如果直接问大模型,它可能给出通用建议;使用 RAG 后,回答能贴近公司制度。
文档切分的影响
切分是 RAG 中最容易被低估的环节。切得太碎,模型看不到完整上下文;切得太长,检索结果噪声太多。
好的切分应该尽量保持语义完整。例如按标题、小节、问答对、条款切分,而不是机械地每 500 字切一次。
召回和重排
向量检索负责先找一批可能相关的内容,这叫召回。召回后可以用重排模型重新排序,把真正相关的片段放到前面。
如果召回阶段没找到正确资料,生成阶段再强也没用。所以评估 RAG 时不能只看最终回答,还要看检索结果是否命中。
如何减少幻觉
- 提示词中要求“只根据资料回答”;
- 资料不足时允许回答“不确定”;
- 输出引用来源;
- 对关键答案进行规则校验;
- 定期更新知识库;
- 人工检查高风险问题。
RAG不适合什么
RAG 适合知识问答和资料检索增强,但不适合所有场景。如果任务需要模型学习固定风格、复杂操作习惯或大量隐含规则,微调可能更合适。如果资料本身质量差,RAG 也无法变出正确答案。
小结
RAG 的关键不是“把文档丢给大模型”,而是做好文档处理、切片、向量化、召回、重排、提示词和评估。真正稳定的 RAG 系统,本质是搜索系统和生成系统的结合。