RAG 基础

本节定位
RAG 最容易被误解成:
- 接个向量库就行
但它真正更像:
- 让系统先查资料,再决定怎么答
所以这节最重要的不是记住组件名,而是先建立一个判断:
RAG 的核心不是“多一个模块”,而是“把知识接入链路做对”。
学习目标
完成本节后,你将能够:
- 理解为什么光靠大模型参数记忆不够
- 说清楚 RAG 的标准工作流程
- 跑通一个最小可运行的检索增强示例
- 理解 RAG 适合什么场景、不适合什么场景
新人先掌握 / 进阶再理解
如果你是新人,这一节先抓一句话:RAG 不是让模型“记住更多”,而是让模型回答前先查到合适资料。先理解“问题 -> 检索 -> 片段 -> 拼上下文 -> 生成答案”这条链路。
如果你已经做过大模型应用,可以进一步关注:切块策略、召回质量、重排、元数据、引用来源、检索日志和错例分析。RAG 项目的成熟度,往往体现在这些工程细节上。
先建立一张地图
先看一个故事:闭卷答题和开卷查资料
想象你问一个同学:“课程多久内可以退款?”如果他不翻规则,只凭印象回答,可能说得很流畅,但未必准确。更可靠的做法是:先打开课程规则,找到退款条款,再根据条款回答。
RAG 做的就是把这个习惯系统化。模型仍然负责理解问题和组织语言,但关键事实先从知识库里查出来。这样答案就更容易及时、可控、可追溯。
如果你刚学完 Prompt 和微调的判断逻辑,可以先把这节理解成:
- Prompt 解决的是“任务怎么表达”
- 微调更像“行为怎么塑形”
- RAG 解决的是“知识不够新 / 不够全时,怎样先查再答”
所以这节真正重要的不是“又一个名词”,而是:
- 它在大模型系统里,专门负责外部知识接入
一个更适合新人的总类比
你可以把 RAG 理解成:
- 让一个很聪明的人,回答问题前先去翻手册
如果不翻手册,他可能:
- 凭印象回答
- 回答得流畅,但并不一定准
而有了 RAG 之后,系统就更像:
- 先找证据
- 再基于证据回答
一、为什么需要 RAG?
你可以把大模型想成一个“读过很多书的人”。
但即使读过很多书,也会遇到三个问题:
- 某些信息太新,训练时还没出现
- 某些信息太专,模型记得不牢
- 某些回答必须严格 基于你自己的私有文档
这时候就需要 RAG:
先查资料,再回答。
类比一下:
- 纯模型回答:闭卷考试
- RAG 回答:开卷考试
1.1 第一次学 RAG,最该先抓住什么?
最该先抓住的不是向量库,而是这句:
RAG 的本质不是“把模型变聪明”,而是“让答案先建立在可更新资料之上”。
这句话一旦稳住,后面你再看:
- 切块
- 检索
- 重排
- 上下文拼接
就会更自然地知道它们都在服务哪条主线。
二、RAG 的标准流程
拆开看就是:
- 文档先被切成小块
- 用户提问时,从知识库里检索相关块
- 把这些块作为上下文交给模型
- 模型基于上下文生成答案