收藏 | RAG 从头到尾拆解:给大模型配一个“随身资料库“小白也能看懂
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 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】