RAG 入门与实践
学完 Prompt Engineering 和 Context Engineering 之后,最自然的下一步就是 RAG。
因为很多真实场景里,模型不是“凭空回答”,而是需要:
- 查文档
- 查知识库
- 查网页
- 查企业内部资料
- 再基于查到的内容回答
而这件事,正是 RAG 最核心的价值。
1. RAG 是什么
RAG 是 Retrieval-Augmented Generation 的缩写,中文一般叫“检索增强生成”。
它的核心思想很简单:
- 用户先提问
- 系统先去检索相关资料
- 把资料放进上下文
- 再让模型基于这些资料生成答案
所以 RAG 不是让模型“更会背知识”,而是让模型“回答前先查资料”。
一句话理解:
RAG = 先检索,再生成
2. 为什么需要 RAG
只靠模型自身参数里的知识,通常会遇到这些问题:
- 知识不是最新的
- 不知道企业私有资料
- 容易产生幻觉
- 回答缺少依据
- 难以处理大量文档
RAG 的意义就在于补上这些短板。
2.1 RAG 最常见的价值
- 回答最新信息
- 回答私有知识库
- 给回答提供依据
- 降低幻觉
- 让回答更可控
3. RAG 的基本流程
一个最基础的 RAG 流程通常长这样:
用户提问Query 处理检索相关文档挑选最相关片段把片段拼进 prompt/context模型生成答案可选:引用来源或做结果验证
可以把它拆成两大阶段:
Retrieval:把相 关资料找出来Generation:基于资料组织回答
4. 一个直观例子
假设用户问:
公司的报销流程里,差旅住宿费报销上限是多少?
如果没有 RAG,模型可能:
- 根本不知道
- 乱猜一个数字
- 用通用经验回答
如果有 RAG,系统会:
- 去知识库里检索“报销流程”“住宿费”“差旅”
- 找到公司制度文档中的相关条款
- 把条款片段放进上下文
- 让模型只根据这些资料回答
最终它就能更可靠地回答:
- 上限是多少
- 依据在哪一条
- 如果文档没写,明确说未提及
这就是 RAG 的典型价值。
5. RAG 的核心组件
一个完整的 RAG 系统,通常包括下面这些部分。