一文搞清楚RAG 到底是什么?-为什么它越来越重要?
近年来,随着 ChatGPT、文心一言、通义千问等大语言模型的广泛应用,越来越多的人开始将 AI 应用于搜索答疑、文本创作、办公协助甚至决策支持。人们对 AI 的认知也从“好玩”走向“实用”。
但在实际应用中,很多用户逐渐发现了一些令人困扰的时刻——AI 虽然能言善道,却不总是可靠:
回答过去的知识或历史事件非常准确,但对刚刚发布的新闻、政策、数据往往语焉不详、甚至张冠李戴。回答看似“头头是道”,一旦查证却发现缺乏来源支持,是 AI “拍脑袋”编出来的。有些开放性问题,AI 会凭空推断出“有模有样”的答案,但实际上是脱离现实的结果。
这些问题的根源,是因为传统大模型是“闭卷考”模式:知识基于过去训练数据,不能时间刷新。而当人们对“时效性”和“可面线”的需求更高,就必须有一种新的技术模型来增强这些空白。
这就是 RAG(Retrieval-Augmented Generation)检索增强生成技术出场的意义。
一、RAG 是什么?
RAG,全称 Retrieval-Augmented Generation,是一种将信息检索技术与生成式语言模型(如ChatGPT、GPT-4等)有机结合的技术框架。它的核心思想是:“先查资料,再答题”。
1、 传统大模型的局限
我们常用的大模型,如GPT-3.5或GPT-4 Turbo,它们的“知识”其实都来源于大规模的训练数据。这些数据在模型训练完成之后就被冻结了,不会再更新。这种方式好比是一个“背诵型选手”,考试时完全靠记忆。于是当我们问一些“训练后才发生”的事情,比如2024年的奥运会举办地,模型很可能就答不上来了,甚至“张冠李戴”地编出个答案。
2、RAG 的不同之处
RAG 则不同,它不靠死记硬背,而是“开卷考试”:在回答问题前,先从外部知识库里检索相关资料,然后再生成答案。也就是说,它把大语言模型变成了一个能实时“翻资料”再说话的智能助手。
例如你问大模型一个问题:“2024年奥运会在哪举办?”如果它是 GPT-4 Turbo,这时它的知识可能停留在2023年4月以前,不知道“巴黎”是正确答案。如果它嵌入了 RAG 技术,它会先自动去查找最近的新闻或百科网站,然后准确地回答:“2024年奥运会将在法国巴黎举办。”
如上图所示,RAG 的整体工作流程其实可以简化为四个自然的步骤。首先,用户输入一个问题,比如“2024 年奥运会在哪举办?”系统会对这个问题进行处理和理解。接着,系统并不会直接让语言模型作答,而是启动一个检索模块,去外部的知识库中查找与问题相关的资料,比如来自维基百科、体育新闻网站或官方公告的内容。
当这些内容被成功检索出来之后,系统会把它们和原始问题拼接组合,构建一个包含丰富上下文信息的输入,传递给语言模型。最终,大语言模型在接收到这个“增强型上下文”后,才进行内容生成,并给出回答。由于回答的依据是最新的、真实存在的文档,因而具备了更强的准确性、时效性和可追溯性。
二、RAG 的特点与优势
相较于传统大语言模型(LLM),RAG在多个方面实现了突破,特别是在知识更新、信息可信度、内容真实性和部署成本等方面,展现出明显优势。下面我们从四个关键维度来理解它的强大之处。
1、时效性:紧跟时代,实时响应
RAG 通过引入了一个实时的信息检索模块,在生成回答前,能从最新的外部数据源(如维基百科、新闻网站、数据库等)中搜索资料。这意味着无论用户的问题有多新、多具体,只要知识库中有相关内容,RAG 就能立即获取并生成答案,实现“知识实时更新”。
2、准确性与可说明性:有据可查,更值得信赖
传统生成模型往往是“黑箱”,它给出的答案难以验证。用户很难知道答案到底是从哪来的,是事实,还是它“记忆中”的猜测。
RAG 则显著增强了生成结果的“可解释性”:每一个回答都可以附带信息来源,比如来自某篇文献、某个网站链接,甚至明确指出发布时间。这种“有出处”的特性,让回答变得更加可信,在政务、医疗、法律等对溯源性要求极高的领域中尤为重要。
3、幻觉风险更低:告别“信口开河”
所谓“幻觉”(hallucination)问题,是指语言模型在缺乏真实信息支撑的情况下,会基于训练语料自动“脑补”出一个听起来合理但其实不真实的答案。这在医疗、法律、金融等高风险场景中是非常危险的。
RAG 通过引入外部真实文档作为生成基础,有效降低了这种幻觉风险。系统在作答前会先检索与问题高度相关的文献段落,确保生成内容是建立在明确、可查证的信息之上的。
4、成本更低,部署更灵活
对于企业来说,传统微调方式每次都要重新训练整个大模型,以适配新知识或新业务场景,耗时耗力,成本极高。
而RAG采用的是模块化设计,检索模块与生成模块分离。只要更新知识库中的文档内容,就能让系统自动“长知识”,而不需要动模型参数。这种方式极大地降低了系统维护与知识更新的技术门槛,尤其适合知识变更频繁的行业,比如新闻、科技、金融等。
三、RAG 如何运作?
RAG 系统的运行流程,虽然看起来复杂,但本质上是一套逻辑清晰、可复用的模块化机制。整个过程可以拆解为三个关键步骤,从用户提问到系统输出答案,每一步都为提升准确性与可靠性服务。
1、用户输入问题:向量化表示
RAG流程从用户提出一个问题开始。比如:“如何理解碳中和政策?”系统首先对输入文本进行预处理:包括去除噪声、分词、编码,并最终将问题转换为向量表示(Embedding),这样它才能与知识库中存储的文本进行“语义层面”的对比匹配。
这一向量化过程的目标,是让计算机“理解语义”,而不仅仅是关键词。它使得 RAG 能够查找出意思相近但用词不同的相关内容。
2、检索模块启动:找到最相关的知识块
接下来,检索模块被触发。它的任务是从一个预构建的外部知识库中,找出与用户问题最相关的文本片段(通常被称为“文档块”或“文本chunk”)。
在构建 RAG 系统时,我们并不是把整篇文档直接放进向量库,而是需要先将长文本拆分为一个个小而有语义独立性的文本单元,也就是 chunk。这一处理步骤,直接影响后续语义匹配的精度与效率。
切块的的方式也有许多挑战,不合理的切块方式会导致两种常见问题:块太长导致语义混杂,向量模糊,匹配精度降低;块太短又会上下文缺失,碎片化严重,信息断裂。因此,找到一个“语义清晰又上下文完整”的黄金块长,就成为设计 RAG 系统时的关键环节。
切块策略又分为以下几种:
固定长度分块(Fixed-size Chunking):
这是最常见也最简单的方法,如下图所示,直接按照设定的字符数(如512字)强行切分,不考虑句法和语义。优点是实现容易、效率高,但容易打断语义链,比如一个重要观点可能被切在两个块之间,导致检索和生成效果下降。
固定大小切块流程
基于NLTK的语义分块
NLTK 提供的句法分析工具支持按名词短语(NP)、动词短语(VP)等结构来分块。例如通过规则 NP: {
?*} 可以准确识别“一个创新的解决方案”这样的语义单元。该方法更“语言学导向”,分块结果更贴合实际语义。
特殊格式文本的结构化切块
对于 HTML、Markdown、LaTeX 等富格式文档,还需要按其内部结构进行智能切块。比如 Markdown 可以以标题层级为边界分块,代码文档可通过语法树(AST)识别函数、类的边界。这种方式能保留结构逻辑,适合技术类内容的知识建库。
基于markdown文档的分块流程
基于深度学习的智能切块(如Cross-Segment BERT)
更先进的做法是引入深度学习模型(如BERT)对句子间语义连贯性进行建模。早期方法主要依赖 BERT 的“下一句预测(NSP)”机制,判断相邻句子之间的连贯性来确定切分点。虽然思路简单,但计算复杂度高(O(n²))且无法建模长距离依赖。
为此,Cross-Segment 模型通过引入局部上下文窗口、双向 LSTM 和层级 Transformer 建模,提升了对文本全局结构的感知能力。该方法不仅准确率显著提升(F1提升14.5%),而且支持批量处理,效率也大大提高。
The cross-segment BERT model 文档分割任务的流程
进一步优化的 SeqModel 则摒弃传统逐句处理方式,采用联合编码策略,结合自适应滑动窗口机制,根据文本的信息熵动态调整块长,在保持高准确率(超93%)的同时,将推理效率提升超50%。
SeqModel自适应滑动窗口方法
完成切块后,文本块会被转换成向量并写入向量数据库。RAG系统在实时运行时,会用用户问题的向量与这些预存的向量进行对比,匹配最相似的内容。
这一过程依赖于高效的向量搜索算法,主要包括:
PQ(Product Quantization):乘积量化是一种高效的高维向量压缩与近似搜索技术,它通过将高维向量划分为多个子向量并在每个子空间内独立进行聚类,从而生成码本,用聚类中心的索引来代替原始向量,实现数据压缩。查询时,通过查表方式快速计算近似距离,大幅减少计算量,加速大规模向量检索。
乘积量化
HNSW(Hierarchical Navigable Small World):分层可导航小世界(HNSW)是一种基于图结构的高效近似最近邻搜索算法,结合了小世界网络的高连通性和分层结构的快速导航能力。它通过构建多层稀疏到稠密的图,使搜索从高层快速定位大致区域,再逐层向下精细查找,从而实现快速准确的向量检索。同时支持动态插入和删除,适用于大规模、动态变化的数据场景。
HNSW索引示意图
LSH(Locality-Sensitive Hashing):局部敏感哈希(LSH)是一种基于概率的近似最近邻搜索方法,通过设计能保留相似性的哈希函数,使相似的数据点更可能被映射到同一哈希桶中,从而将高维搜索转化为在小范围候选集中的精确比对。它支持灵活的参数调节、动态更新以及多种相似性度量,适用于大规模、分布式环境下的高效相似性检索。
传统哈希与局部敏感哈希的对比
在检索到相关的文本段之后还要进行文本重排序(Re-Ranking)。文本重排序是RAG系统中提升最终生成质量的重要保障步骤。该技术旨在通过精细化排序提升候选文本与查询的相关性,解决初步检索结果中存在的语义偏差和排序不合理问题。基于预训练语言模型的现代重排序方法,通过深度语义理解能力实现了比传统检索方法更精准的相关性判断。
其标准化流程可分为三个层次递进的阶段,如下图所示:初步检索召回、相关性精排和最终重排序优化。
文本重排序示意图
向量化模型将知识库文本和用户查询转化为向量存储,利用高效的向量相似度计算快速召回候选文本。然而,由于向量化过程存在信息损失,且文本间交互较浅,召回结果可能不够精准。交叉编码器通过深度模型(如BERT)对文本对进行精细交互计算,能更准确预测相似度,但计算成本较高。
因此,在实际应用中通常采用两阶段策略:
初步召回:首先通过向量化模型(如双塔结构)将用户查询与知识库文本向量化,并基于相似度快速召回一组候选文本(如Top-K)。
精细重排序:再利用交叉编码器(如BERT)对候选文本与查询进行深度语义交互分析,根据语义相关性重新打分排序,选出最相关的前几个文本片段作为生成输入。
两阶段的文本召回流程图
三、提示词构建与答案生成
在上述步骤之后,系统将用户问题与排序后的多个文档片段组合构建成 Prompt,作为生成器的输入。该组合策略不仅是形式拼接,更是输入整合与语义聚焦的过程。
这一阶段的目标是构建一个信息密度高、上下文结构清晰且贴合问题语义的输入包,为生成器创造“只需表达,不需思考”的最佳环境。
完成Prompt构建后,RAG系统将其送入大语言模型(如Qwen、GPT、ChatGLM等)进行答案生成。生成过程不仅依赖模型的语言能力,更需要精准理解用户意图并结合外部文档信息进行表达重组。
这一阶段可以分为以下三个机制协同进行:
上下文理解与语义融合
生成器需同步分析问题与检索片段间的关系。若为事实型问题,则需从上下文中提取准确值(如时间、数据、事件);若为开放性问题,则需整合多段资料,进行多文档融合归纳。该过程核心是跨序列注意力机制,模型动态计算每个词对上下文中内容的关注权重,确保输出有据可依。
动态生成与可控输出
生成采用逐词生成方式,每一步都重新评估上下文重要性,从而保证语言连贯、逻辑清晰。为了避免生成模型出现幻觉或“自由发挥”,RAG 通常配合提示词和策略
模型选择与场景适配
生成质量与所选模型密切相关。在中文场景中,如Qwen-chat等模型在忠实度、拒答率、多文档整合方面表现更优,特别适合高可靠性问答场景。而对小模型(如7B参数量)也可通过少量微调增强其在特定领域的表现。
那么,如何系统的去学习大模型LLM?
作为一名从业五年的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。
所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。
由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~
👉大模型学习指南+路线汇总👈
我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。
👉①.基础篇👈
基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。
👉②.进阶篇👈
接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。
👉③.实战篇👈
实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。
👉④.福利篇👈
最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!
已婚女人出轨多个男人应该怎么处理?CPU散热硅脂多久换一次?温度是如何影响电脑性能的?