RAG(检索增强生成)是让生成式AI融入业务的关键技术,常被误解为简单文档检索。本文用生活比喻和地图类比,详解RAG如何通过四个步骤为AI提供实时资料支持,强调资料质量比模型本身更重要。文章深入剖析了RAG流水线各环节:数据源选择、文档处理、分块、向量化、向量数据库、相似度计算、索引构建、混合检索、Prompt构造与安全、评估及运维。特别指出RAG的核心是"找资料"而非"教知识",需重视召回率、精确率和忠实度,并警惕权限与安全风险。理解RAG能帮助开发者构建更可靠、高效的AI应用。
一、RAG 到底是什么:给大模型配一个"随身资料库"
先打个比方。
普通的大模型,像一个博览群书但闭卷考试的学生。它脑子里装着海量知识,但考试时不能翻书,只能凭记忆答题。问题是:公司内部的规章、最新的故障处理流程、某个客户的专属合同——这些"书"它根本没读过;就算读过,也可能是好几年前的旧版本。
RAG 干的事,就是把这场考试从"闭卷"改成"开卷":答题之前,先让它去翻相关的资料,然后照着资料作答。

整个过程其实就四步:
-
接到一个问题;
-
去资料堆里翻出相关的几页;
-
把这几页递到模型面前;
-
模型照着这几页来回答。
这里有个特别重要的认知:RAG 不是在"教"模型新知识。它不像"补课"(也就是微调)那样去改变模型的大脑,而是每次答题时临时翻一次资料。说白了——它不让模型"背下所有东西",而是让它"在需要时翻开对应的那一页"。
还有一句话希望你记住:RAG 的前半段是"找资料",后半段才是"写答案"。 如果资料翻错了,后面写得再漂亮也没用。一个学霸,你只给他一堆错的参考资料,他照样答不对。所以做 RAG,不能只盯着"答案写得好不好",更要管"资料找得准不准"。
二、RAG 的全景:一条流水线,分成"备料"和"上菜"
可以把 RAG 想象成一家餐厅,分成两个阶段。
第一阶段:后厨备料(提前做好知识库)
收集食材(文档)→ 清洗(去掉杂质)→ 切配成菜(分块)→ 按口味分类摆放(向量化、入库)
第二阶段:客人点单(用户提问时)
听懂客人要什么(问题向量化)→ 在备好的料里挑最对味的(检索)→ 必要时再精挑一遍(重排序)→ 装盘上桌(交给大模型生成回答)
很多人做 RAG 出了问题,第一反应是骂"厨师不行(模型不行)"。但更常见的真相是:食材本身就不新鲜、切得乱七八糟、或者上错了菜。 也就是说,问题往往出在前面的备料环节,而不是最后那个厨师。
所以与其说 RAG 是"大模型的一个功能",不如说它是一条把’找资料’和’写答案’拼起来的流水线。任何一节出问题,最后端上桌的菜都会翻车。
一个常见误解:RAG ≠ 向量数据库
很多人把 RAG 直接等同于"向量数据库 + 向量检索",这其实是把一种最典型的做法当成了全部。
RAG 真正的本质,是"回答前先去取外部信息,再把它加进模型的上下文"。至于怎么取,要看问题的类型——就像查东西,有时该翻书,有时该问人,有时该查表:
- 问"差旅费的申请截止日是哪天?“——这种模糊的、靠语义理解的问题,适合去文档里做"语义检索”;
- 问"规章编号 EXP-042 是什么内容?"——这种带精确编号的,适合直接关键词精确匹配;
- 问"申请单 12345 现在什么状态?"——这种要实时精确值的,直接查业务数据库最靠谱;
- 问"本月报销总额多少?"——这种要算账的,交给 SQL 统计;
- 问"服务现在还在正常运行吗?"——这种要最新状态的,去查监控接口。
一句话:别拿一把锤子敲所有钉子。 规章手册这类"用词可能对不上、但意思相近"的内容(比如用户说"路费"、文档写"交通费"),向量检索很在行;而单号、金额、库存这种要精确的,老老实实查原始数据库更安全。
下文为了把抽象的部分讲透,会以"文档 + 向量检索"这条最经典的路线为主线展开。
三、确定数据源:垃圾进,垃圾出
RAG 的质量,从你最初放进去的料就定了一大半。 检索器再聪明、模型再强,原始文档要是又旧、又重复、还混着不该看的东西,回答照样好不了。这就是那句老话——“垃圾进,垃圾出”。
数据源五花八门:内部 Wiki、产品文档、公开 FAQ、各种 PDF/Word/Excel、数据库、Jira 工单、代码仓库……
这里有个特别反直觉的点:资料不是越多越聪明。
想象你在图书馆找一本菜谱,结果管理员把菜谱、旧报纸、别人的购物小票、闲聊便条全堆在一张桌子上让你翻——你只会更难找。同理,给一个"回答内部规章"的 RAG 塞进一堆陈年会议纪要和闲聊记录,检索结果只会越来越飘。
所以正确做法是:优先收最新的正式文档,并给每份资料贴好"标签"。 这些标签(行话叫元数据)至少包括:它从哪来、是什么时候的、能给谁看、改没改过。有了这些标签,运维时才不至于抓瞎——尤其是当某份文档过期或要删除时,你能精准地把它揪出来。
四、爬取与加载:先把资料"搬"进来,还要"扫干净"
这一步是把分散在各处的资料搬进 RAG 的过程:网页要去"爬",PDF、Word、数据库里的内容要去"读",最后统一变成"干净的文本 + 标签"。
听起来像"把网页全下载下来"那么简单,其实没那么省心,这里点两个最容易踩的坑。
坑一:以为 robots.txt 能保护机密。robots.txt 只是给爬虫看的"礼貌告示牌",写着"这些地方请别进"。但它拦不住坏人,也不是安全锁。真要保护机密,靠的是登录认证和权限控制,而不是指望别人讲礼貌。
坑二:把网页的"边角料"也一起吃了进去。一个网页除了正文,还有导航栏、页脚、侧边广告、相关推荐……这些就像快递箱里的填充泡沫,你要的是里面的东西,不是泡沫。 如果不清理,会闹笑话:假设每个页面底部都有一行"联系我们请点这里",那用户一问"怎么联系你们",系统就会觉得"全站每一页都很相关",因为它们都有这句话。
所以加载环节必须插一道"清洗"工序:剥掉 HTML 标签、砍掉页眉页脚、把表格转成规整文本、把图片里的文字 OCR 出来、把重复内容去掉。
爬取这一步看着不起眼,却是整个 RAG 的地基。地基糊弄了,后面的检索和回答就会一直在跟一堆脏数据较劲。所以——它真的很重要。
五、分块(Chunking):把整本书拆成"便利贴"
资料搬进来后,下一步是分块——把长文档切成一小段一小段。
为什么要切?打个比方:你查一个知识点,图书管理员要么直接甩给你一整本 500 页的书(信息是全了,但你得自己翻半天,递给模型也太大塞不下),要么把书撕成一句一句的纸条(太碎,前后文都没了,看不懂在说啥)。
两种都不好。理想的做法是把书拆成一张张便利贴:每张便利贴是一个完整的小话题,既好找,又看得懂。

比如一份"报销规则"文档,最好按小标题拆成"报销规则"和"申请期限"两张便利贴,这样用户问"申请期限"时,就能精准抽出对应那一张,而不是把整份文档都端出来。
切的时候还有两个小技巧:
- 相邻便利贴留点重叠。 就像撕纸条时让上一张的结尾和下一张的开头共享一两句话,这样卡在边界上的信息就不会被"撕断"。行话叫 overlap。
- 每张便利贴都写上"出处"。 一张只写着"请在次月 5 个工作日内提交申请"的纸条,你根本不知道在说"申请什么"。所以要在上面顺手标明"文档标题:报销规则 / 小节:申请期限"。带上这些背景,这张纸条才有意义。
六、向量化(Embedding):给每句话标一个"语义坐标"
来了,整篇文章里最让人犯怵的一个词——向量化,也叫嵌入(Embedding)。但别慌,我们用一张地图就能讲明白。
核心思路:把每一句话,变成"语义地图"上的一个坐标点。
为什么要这么做?因为计算机很笨,它没法从字面上看出"经费"和"报销"意思相近——对它来说这就是两串完全不同的字符。但计算机特别擅长算距离。于是我们想了个办法:把每句话放到一张"语义地图"上,意思越接近的句子,在地图上离得越近。 这样一来,"判断两句话意思像不像"这个难题,就变成了"算两个点离得远不远"这个计算机的拿手好戏。
负责画这张地图、给每句话定坐标的,就是"嵌入模型"。
举个例子你就懂了:
- “肚子饿了"和"我好饿”——用词不一样,但意思几乎一样,所以它们在地图上挨得很近;
- “肚子饿了"和"创建一个云服务账号”——虽然都是中文,但八竿子打不着,所以在地图上离得很远。
一个小细节:真实的"语义坐标"不是地图上简单的两个数字(经度、纬度),而是上千个数字组成的一长串(比如常见的 1536 个)。你完全没必要去理解每一个数字是什么意思——没人能解释清楚第 837 个数字代表啥。你只需要记住一件事:这一长串数字,就是这句话在’语义地图’上的门牌号。
那检索时怎么用?很简单:
用户的问题,也用同一个模型转成地图上的一个坐标点。然后看哪些文档的坐标离这个问题最近——离得近的,就是意思最相关的。

比如用户问"交通费什么时候之前申请?",那么地图上靠近它的,自然是那些讲"报销、申请"的文档;而讲"密码安全"的文档则被甩在很远的角落。剩下要做的,就只是"在地图上找最近的邻居"而已。
最后强调一条铁律:问题和文档,必须用同一个模型、画在同一张地图上。 否则就像一个用经纬度、一个用街道门牌,根本没法比远近。
把这层窗户纸捅破,你会发现向量化其实没那么玄。
七、向量数据库:专门用来"按坐标找邻居"的仓库
文档切成了便利贴、便利贴标好了坐标,接下来要决定:这些东西放哪儿? 这就引出了"向量数据库"。
你可以把它理解成一个特别聪明的仓库管理员:你把成千上万张带坐标的便利贴交给他保管,等你拿着一个坐标来问"离我最近的几张便利贴是哪些?",他能"唰"地一下帮你挑出来。

不过这个仓库里存的不只是坐标,还得连带保管:便利贴的正文(要拿来当依据)、它的出处和标签(要展示来源、做筛选)、以及权限信息(决定这张能不能给当前用户看)。
这里也顺手厘清三个容易搞混的概念,用一个"内部规章知识库"打比方:
- 原始文档存储:放原始 PDF 的"档案室"(比如 Amazon S3);
- 向量存储:放带坐标便利贴、负责快速查找的"智能仓库"(比如 S3 Vectors、OpenSearch、Pinecone 等);
- 知识库:是上面这一整套——档案室 + 智能仓库 + 权限规则 + 更新机制——合起来的"整体"。
所以向量数据库只是知识库里负责"查找"的那个部件,不等于知识库本身。
至于市面上的选择非常多:AWS 体系里有 S3 Vectors、OpenSearch、Aurora + pgvector;独立产品有 Pinecone、Weaviate、Qdrant、Milvus、Chroma 等等。挑选时有个重要提醒:别只问"它能不能做向量检索",更要问——能不能按用户权限过滤结果?能不能可靠地删掉旧便利贴?长期跑下来成本扛不扛得住?尤其是内部文档场景,这些比"快不快"更要命。
八、相似度计算:怎么算"两个点离得近不近"
确定了仓库,接下来就是在用户提问时,算出"哪份文档离问题最近"。
最常用的尺子叫余弦相似度(Cosine Similarity)。名字唬人,但思路特别朴素:
它比的不是两个点的"直线距离",而是它们的"方向"是否一致。
打个比方:两个人站在地图上,从原点出发各自指了个方向。如果两人指的方向几乎重合,说明他们关注的"主题"高度一致,相似度就高(最高为 1);如果两人指的方向垂直,那基本不相关(接近 0);如果指向相反,那就是完全对立(-1)。
为什么看方向而不看距离?因为一句话可长可短,文字多的句子"坐标值"天然偏大,但这不代表它和别人更相关。只看"方向",就能撇开篇幅长短的干扰,专注比较"主题"本身。
还是用前面那个例子:问题是"交通费什么时候之前申请?",三份文档算下来——
| 排名 | 文档 | 相似度 | 内容 |
|---|---|---|---|
| 1 | 文档 A | ≈ 0.99 | 报销的申请期限 |
| 2 | 文档 C | ≈ 0.83 | 交通费的发票 |
| 3 | 文档 B | ≈ 0.34 | 密码要求 |
结果非常符合直觉:A 直接命中"申请期限",排第一;C 也在讲交通费,沾点边,排第二;B 在讲密码安全,八竿子打不着,垫底。
这就是向量检索找邻居的底层逻辑——不比字面,比"语义方向"。
九、向量检索与索引:一百万张便利贴,怎么秒级找到?
例子小的时候,把问题和每份文档都比一遍就行。但真实场景里可能有一百万张便利贴,每张还是上千维的坐标。要是每次提问都老老实实跟一百万张挨个比,那计算量大到离谱,用户得等到天荒地老。
怎么办?答案是建索引——本质上是一套"抄近路"的查找术。
这里的核心思想叫近似最近邻(ANN),翻译成大白话就是:别死磕"绝对的第一名",找到"八九不离十的几个"就够了。 为了快一点点,牺牲一丢丢精度,完全划算。
最经典的算法 HNSW,思路特别好懂,就像你在一座陌生城市找一家店:
你不会挨家挨户敲门。你会先看大地图,奔向大致的那个城区;到了城区再看分区图,找到对应的街道;最后在街道附近挨个门牌找过去。
HNSW 就是这么干的:先在粗糙的大地图上快速逼近,再逐层细化,几步就锁定目标附近。一百万张便利贴,也能眨眼间找到最近的几张。
挑选索引时,除了看"快不快",还有一个常被忽略却致命的指标——召回率(别漏掉)。因为一旦把真正该用的那份文档给漏检了,模型就只能"没看到关键资料还硬答",结果可想而知。所以 RAG 既要快,更要别漏。
十、混合检索与重排序:语义和关键词,强强联手
向量检索擅长理解"意思",但它有个软肋:碰上精确的编号、型号、错误码,反而容易翻车。
比如用户问"出现 ERR-0429 怎么办?"。向量检索可能找来一堆"语义上像’错误处理’"的文档,却偏偏漏掉了错误码精确匹配的那一篇——因为对它来说,"ERR-0429"和"ERR-0428"看起来语义差不多。
这时就需要把两种检索搭配着用,这叫混合检索:
- 关键词检索:像"精确查找",擅长抓专有名词、型号、编号;
- 向量检索:像"语义联想",擅长处理
一是权限,这是红线。RAG 最危险的事故,就是把用户本不该看到的文档(高管资料、人事信息、客户合同)检索出来递给了模型。向量检索找的是"意思相近的内容",它才不管你有没有权限看。所以必须给每张便利贴打上权限标签,并在检索时强制过滤——至少要保证,在把资料交给模型之前,权限校验已经完成。
二是别太信任检索来的文档。前面说过的"提示词注入",文档本身就可能是攻击入口。所以要把检索内容当成"不可信的外部输入"来对待,层层设防。
三是保持资料新鲜。RAG 不是"知识库建一次就一劳永逸",而该被当成一个需要持续更新的系统。文档更新了要重新处理,文档删除了要从仓库里同步删掉。"删除"特别容易被忘:原网页删了,但仓库里的旧便利贴还在,它就会阴魂不散地继续冒出来误导用户。
四是留好日志。谁问了什么、检索了什么、用了哪些依据、答了什么——这些都要记录下来,方便日后排查问题和改进。当然,日志里可能有个人信息和机密,所以保存期限、查看权限、脱敏要一并设计好。
写在最后
读到这里,谢谢你的耐心。
回头看,RAG 其实就是一条朴素的流水线:搬资料 → 洗干净 → 切成便利贴 → 标上语义坐标 → 存进智能仓库 → 用户来问就按坐标找邻居 → 把找到的资料递给模型作答。 中间那些唬人的术语——向量、嵌入、余弦相似度、HNSW——拆开看,无非是"语义地图"“找方向”"抄近路"这些朴素的小聪明。
你不需要一上来就把每个细节都吃透。先把这条主线串起来,知道每一步大概在干嘛、为什么要这么干,就已经足够了。
如果你和当初的我一样,对 RAG 只有个模糊印象,希望这篇能帮你把它变得具体、亲切一点。
最后
如果说程序员已经是高薪职业,那么干AI的程序员,就是高薪中的高薪。

现在的市场,已经用数据给程序员指明了方向:学AI大模型,就是冲刺高薪的最优解!

看着身边越来越多的同行转型大模型、拿到高薪offer,很多人心里都动了心,但真正的难题来了:零基础小白不知道从哪入门?有基础的程序员找不到系统学习路径?实战项目练手无门?面试不知道考什么?
别慌!今天就给大家整理了一份【2026年最新版】AI大模型免费学习资源包,覆盖从入门到实战、从理论到面试、从基础到进阶的全流程,所有资料均已整理归档,无冗余、无套路,免费分享给每一位想抓住AI风口的程序员和小白!
👇👇扫码免费领取全部内容👇👇

1、大模型系统化学习路线

2、大模型学习书籍&文档

3、AI大模型最新行业报告

4、大模型项目实战&配套源码

5、大模型大厂面试真题

四阶段精细化学习规划(附时间节点,可直接照做)
结合上述资源,给大家整理了一份可直接落地的四阶段学习规划,总时长约2个月,小白可循序渐进,程序员可根据自身基础调整节奏,高效掌握大模型核心能力,快速实现从“入门”到“能落地、能面试”的跨越。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
👇👇扫码免费领取全部内容👇👇

6、这些资料真的有用吗?
这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

2843



被折叠的 条评论
为什么被折叠?



