一文讲清:RAG到底是怎么工作的?(附简单实现思路)
你是否遇到过这种情况:向朋友提问,他不查资料、不思考验证,随口给出看似合理实则编造的答案。
大模型也类似,很多时候它不是“查询信息”,而是“基于知识储备推测合理答案”,这就是“大模型幻觉”产生的原因。
那有没有办法让模型回答前先“查阅资料”呢?今天介绍的RAG技术就能做到。RAG虽听起来高深,核心却只有“检索”与“生成”,即先检索、再生成,也就是“检索增强生成”。
为什么要用RAG?
先看一个本质问题:传统大模型的局限。大模型(LLM)的知识来源是训练数据(互联网语料)和固定时间点(有知识截止),因此存在三个致命问题:无法获取最新信息、无法访问私有数据(如文档、数据库)以及容易编造答案(幻觉)。
RAG的核心思路可以一句话总结:在模型回答问题之前,先“查资料”,再回答。也就是不直接让LLM“凭记忆回答”,而是给它“开卷考试”,回答也就更贴近实际。
RAG到底是怎么工作的?
举个例子,在一份上百页的文档中,只有极少部分内容对用户有用。RAG技术会将这份文档切分为若干片段,然后筛选出真正对用户有用的5个片段,与用户的提问一同发送给大模型。这样大模型便只需处理这5个片段,而非整个文档。
但这只是一个简化的步骤,为了更直观感受,下面是我用Gemini生成的一个RAG架构图:

RAG本质上是一个三阶段流程:
- 数据准备(离线阶段)
首先需要完成知识库的构建工作,具体分为三个步骤:
Step1:文档切分(Chunking)
将长文本拆分为适合处理的小块,常见方式包括按每段200~500字划分或按语义逻辑切分。比如这是因为大模型单次处理的上下文长度存在限制。
Step2:向量化(Embedding)
将每个文本块转换为向量形式,例如"RAG可以提升回答准确性"会被转化为[0.12, -0.98, …]这样的向量。其核心原理是:语义相似的文本对应的向量距离更近。
Step3:存入向量数据库
常用的向量数据库方案有FAISS(本地部署)、Milvus(分布式系统)和Chroma(轻量级工具)。完成这一步后,就构建出了一个可高效搜索的知识库。
- 检索阶段(在线)
当用户提出问题时,系统会执行以下操作:
Step1:问题向量化:将用户问题转换为向量形式;
Step2:相似度搜索:在向量数据库中查找最相关的Top-K文本块(通常K取值为3或5)。
- 生成阶段(LLM)
将检索到的内容与用户问题一同输入大模型,格式示例如下:
- 已知信息:[文档片段1]、[文档片段2]
- 问题:RAG的作用是什么?
- 请基于以上信息回答
这一阶段的关键在于:模型不再依赖记忆"瞎猜",而是基于检索到的证据进行回答。
简易RAG实现
为确保RAG测试的准确性,我先让AI生成了一篇虚构文章,随后将该文章输入RAG系统,使其基于这篇文章回答相关问题。

下面第一步:文档切片
我是按照制表符进行切分的,这里是可以看到我们准备的文章被分成了很多片段


第二步:向量化
加载一个中文预训练嵌入模型:shibing624/text2vec-base-chinese,将中文文本转换为数值变量,并为所有段落生成嵌入向量,这里首次加载模型可能得等几分钟。


第三步:存入向量数据库
这一步就是把嵌入向量存入向量数据库,到这在用户提问之前的数据准备工作就全部完成了。

第四步:向量检索
将用户的问题生成对应语义向量,根据向量相似度在向量数据库中进行检索。

第五步:重排序
如果只使用向量检索可能会检索出很多相关片段,但上下文窗口有限,而且噪音也会污染模型,所以需要进行重排序。一句话总结就是:向量检索负责“找可能相关的”,重排序负责“找最相关的”。

第六步:生成回答
这里使用了Gemini的API Key,将我们检索出的片段与用户问题一同输入大模型,再通过制定Prompt引导模型生成答案。


到这里,我们的简易RAG系统就已全部实现了。完整优化后的代码及相关资料我已整理至公众号后台,感兴趣的伙伴可在后台私信【简易RAG系统】领取。
总结
RAG本质上并非让模型变得更聪明,而是让模型不再单纯依赖“记忆”,而是学会“查资料”。若作类比:LLM就像是“大脑”,那么RAG则相当于为它配备了一套“搜索引擎 + 笔记系统”。
未来的大模型应用,不会是“单纯的模型能力竞争”,而是“模型 + 数据 + 检索能力”的组合竞争。
这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!
👇👇扫码免费领取全部内容👇👇
1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)

3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。

4. 2026行业报告
行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

5. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

6. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

7. 资料领取:全套内容免费抱走,学 AI 不用再找第二份
不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:
👇👇扫码免费领取全部内容👇👇
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)