大模型RAG技术入门与扫盲指南
最近,RAG(检索增强生成)在日常工作中间出现的频率越来越高,网上相关的资料也是铺天盖地。今天这篇文章,咱们就把RAG从头到尾捋一遍——它到底是什么、怎么工作的、有哪些优化手段、怎么评估它的效果,以及目前还面临哪些坑。不求讲得多深,但求把脉络理清楚。 认识RAG 大型语言模型(LLM)已经渗透到我们
最近,RAG(检索增强生成)在日常工作中间出现的频率越来越高,网上相关的资料也是铺天盖地。今天这篇文章,咱们就把RAG从头到尾捋一遍——它到底是什么、怎么工作的、有哪些优化手段、怎么评估它的效果,以及目前还面临哪些坑。不求讲得多深,但求把脉络理清楚。
认识RAG
大型语言模型(LLM)已经渗透到我们生活和工作的方方面面,它们用惊人的灵活性和智能改变了人和信息打交道的模式。不过,别看它们神通广大,毛病也不少:动不动就“幻觉”,给你编出一套看起来挺像那么回事的假东西;信息源可能早就过时了;遇到专业领域的问题,深度不够;推理能力也经常掉链子。
在实际落地的时候,数据得不断更新才能跟上最新动态,生成的内容还要透明、可追溯,同时还得控制成本、保护数据隐私。光靠一个“黑盒子”模型显然不够用——我们需要更精细的方案来搞定这些复杂需求。正是在这个节骨眼上,检索增强生成(RAG)作为AI领域的一个突破性方向,开始受到广泛关注。
图中是RAG在问答中的典型应用(向ChatGPT询问OpenAI首席执行官Sam Altman的解雇和重新聘用事宜)
RAG的思路很直接:在语言模型生成答案之前,先从外部文档数据库里检索相关信息,有了这些“外设”知识再作答。这样一来,内容的准确性和针对性就上了一个台阶。
RAG的演变
RAG这个概念最早是Lewis在2020年提出的,这些年发展得特别快。最开始的研究重点放在“预训练阶段”,想通过往语言模型里注入额外知识来增强它的能力。ChatGPT的火爆则点燃了大家对利用大模型做深层上下文理解的兴趣,也加速了RAG在推理阶段的发展。随着研究者们把大模型的能力越挖越深,焦点慢慢转向了增强可控性和推理技能。GPT-4的出现算是一个重要的里程碑——它用一种新思路重新定义了RAG,把检索增强和微调技术结合了起来,同时继续优化预训练策略。
RAG研究的时间轴树
从技术范式的角度来看,RAG的演变大致可以分为以下几个阶段:
原始RAG
经典的RAG过程,也叫Naive RAG(朴素RAG),主要包括三个基本步骤:
- 索引——把文档语料库切成较短的块,通过编码器构建向量索引。
- 检索——根据问题和块之间的相似度,把相关的文档片段捞出来。
- 生成——拿着检索到的上下文,回答问题。
索引 → 检索 → 生成
步骤1 索引
- 将文档切成大小均等的块,每块都是原文的一部分。
- 用编码模型为每个块生成嵌入向量。
- 把每个块的嵌入存到向量数据库里。
步骤2 检索
用向量相似度搜索,把最相关的k个文档片段找出来。
步骤3 生成
把原始查询和检索到的文本拼在一起,喂给LLM,得出最终答案。
高级RAG
Naive RAG在检索、生成和增强这几个环节都面临不少问题。于是高级RAG范式就出来了,它在检索前和检索后都加了额外的处理。检索之前,可以用查询重写、路由、扩展等方法,对齐问题和文档块之间的语义差异。检索之后,对拿到的文档做重排,可以避免“中间内容丢失”的现象;或者对上下文进行过滤和压缩,缩短窗口长度。
索引优化 → 检索前流程 → 检索 → 检索后流程 → 生成
- 优化数据索引:滑动窗口、细粒度分割、添加元数据
- 预检索过程:检索路线、摘要、重写和信心判断
- 后检索过程:重新排序、过滤内容检索
模块化RAG
随着技术继续演进,出现了突破传统Naive RAG“检索-生成”框架的新思路,也就是模块化RAG(Modular RAG)。它的结构更加自由灵活,引入了更多专门的功能模块,比如查询搜索引擎、多种答案的融合等。技术上,它把检索和微调、强化学习等技术整合在一起。流程方面,RAG模块被设计和编排,催生了各种不同的RAG模式。
不过,模块化RAG并不是突然冒出来的。三种范式之间是继承和发展的关系:高级RAG是模块化RAG的一个特例,而朴素RAG又是高级RAG的一个特例。
RAG是如何进行增强的?
要搭一个靠谱的RAG系统,增强部分是关键,需要想清楚三个核心问题:
- 检索什么?
Token、分片、段落、实体、知识图谱等
- 何时检索?
1、在推理过程中做一次性检索:检索效率高,但文档相关性可能偏低;2、平衡效率和信息,但未必是最优解;自适应地去搜索;3、每生成N个令牌检索一次,信息量大,但效率低,信息容易冗余。
- 如何使用检索到的信息?
在推理过程中,把检索到的信息集成到生成模型的不同层。1、输入数据层:使用简单,但没法支持检索更多的知识块,优化空间有限;2、模型中间层:能支持更多知识块,但引入了额外的复杂性,必须经过训练;3、输出预测层:保证输出结果和检索内容高度相关,但效率低一些。
从这三个问题出发,可以把增强方式整理如下:
增强来源:增强可以利用各种形式的数据,包括非结构化数据(比如文本段落、短语或单词),也可以用结构化数据(比如索引文档、三元组数据或子图)。还有另一种思路——不依赖外部信息源,直接利用LLM自身的内在能力,从模型自己生成的内容里检索。
强化阶段:检索增强可以在预训练、微调和推理阶段进行。不同的阶段决定了外部知识被参数化的程度,也对应着不同的计算资源需求。
增强过程:在推理过程中,把检索到的信息集成到生成模型的不同层。最初是一次性检索,但后来逐渐出现了迭代检索、递归检索,还有让LLM自己决定检索时机的自适应检索方法。
RAG优化的关键技术
1、优化数据索引
- 块优化
Small-2-Big:句子级别的嵌入,扩展了生成过程中的窗口。
Slidingwindow:覆盖整个文本,避免语义歧义。
摘要:先通过摘要检索文档,再从文档里检索文本块。
- 添加元数据
伪元数据,比如:页面、时间、类型、文档、标题。
伪元数据生成:通过为输入的查询生成假设文档,以及创建文本块可以回答的问题,来增强检索效果。
- 元数据过滤/浓缩:剖析并注释文件。查询时,除了语义查询,还推理元数据过滤。
2、结构化的语料库
检索语料库的层次组织
摘要→文档:用摘要检索代替文档检索。不仅检索最直接相关的节点,还探索与这些节点相关联的其他节点。
文档→嵌入对象:文档里有嵌入式对象(如表、图表),先检索实体引用对象,再查询底层对象,比如文档块、数据库、子节点。
3、优化检索数据来源
4、知识图谱作为检索来源
GraphRAG
- 从用户输入的查询中提取实体,然后构建子图形成上下文,最后输入给大模型进行生成。
实现思路
- 用LLM(或其他模型)从问题中提取关键实体;
- 基于实体的子图检索,挖掘到一定深度,比如2跳或更多跳;
- 利用获得的上下文,通过LLM生成答案。
5、优化查询语句
- 问题和答案之间并不总是有很高的语义相似度;
- 调整查询可以得到更好的检索结果。

6、优化 Embedding
- 选择更合适的 Embedding
- 微调 Embedding 模型
根据特定领域库和下游任务进行微调
微调适配器模块,让Embedding模型和检索数据库对齐
7、检索流程优化
从语料库里迭代检索,获得更详细、更深入的知识。
由LLM动态决定检索的时间和范围。
8、混合方案(RAG + 微调)
除了RAG,LLM的主要优化策略还有提示工程(Prompt Engineering)和微调(Fine-tuning)。它们各有各的用武之地。看具体场景——对外部知识的依赖程度、对模型调整的要求不同,适合的方案也不一样。
可以这么理解:RAG就像是给了模型一本定制信息检索的教科书,特别适合处理特定的查询;而微调则像学生通过时间内化知识,更适合模仿特定的结构、风格或格式。微调能增强基础模型的知识、调整输出、教授复杂指令,从而提升模型的性能和效率。但它不擅长整合新知识,也不适合快速迭代新场景。RAG和微调并不互斥,它们是互补的——一起用可能效果更佳。
RAG整体框架
如何评估 RAG 的有效性?
评估方法
1 独立评估
1.1 检索
- 评估查询检索到的文本块质量:指标包括MRP、命中率、NDCG。
1.2 生成/合成
- 评估检索文档增强后的上下文质量:指标是上下文相关性。
2 端到端评估
2.1 评估模型最终生成的内容
- 有标签的生成内容:用EM(精确匹配);无标签的准确性:考察保真度、相关性、无害性。
- 采用人工评价方法进行自动评估(LLM评估)。
关键指标和能力
RAG的评估方法挺多的,主要围绕三个质量分数:上下文相关性、答案忠实度和答案相关性。此外,评估还涉及四个关键能力:噪声鲁棒性(对噪音的抗干扰能力)、拒答能力(该说“不知道”时不说胡话)、信息整合能力和反事实鲁棒性。这些评估维度既有传统的定量指标,也有针对RAG特性的专业评估标准——虽然目前这些标准还没有统一。
在评估框架方面,有RGB、RECALL这样的基准,还有RAGAS、ARES、TruLens等自动化评估工具,它们能帮助我们全面衡量RAG模型的性能。
RAG框架总结
RAG面临的挑战
目前RAG面临的主要挑战包括:
- 上下文长度:检索内容太多超出窗口限制;内容过长导致中间部分丢失;如果LLM的上下文窗口不再受限,RAG又该怎么改进?
- 鲁棒性:怎么处理检索到的错误内容?如何过滤和验证?如何提高模型抗毒性、抗噪声的能力?
- 协作微调:怎么同时用好RAG和微调的效果?它们应该怎么协调、组织——串联、交替还是端到端?
- 缩放定律:RAG模型是否满足缩放定律?什么情况下可能会出现逆缩放定律现象?
- LLMs角色:LLM既可用于检索(用生成或搜索记忆替代搜索),也可用于生成和评估。怎么进一步挖掘LLM在RAG中的潜力?
- 生产准备:如何减少超大规模语料库的检索延迟?如何确保LLM不会泄露检索到的内容?
RAG 生态系统
RAG的应用已经不局限于问答系统了,它的影响力正在向更多领域扩展。推荐系统、信息提取、报告生成等任务都开始受益于RAG技术。
与此同时,RAG还催生出了LangChain、LlamaIndex这类知名工具。
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:大模型RAG技术入门与扫盲指南要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
相关热点AI原生并非在旧产品上叠加功能,核心在于企业独有的上下文与数据。组织需从“人+AI”转向“AI+人”,推动能力完整。品牌与人的判断力不会削弱,差异来自人类干预。好例子比大数据更重要,产品开发与品牌建设同步进行。
使用百度文库AI生成汇报材料,核心三步:先定义汇报对象,再用【结果】【原因】【行动】三段式结构强制输出,最后绑定真实业务数据。提供具体数值可避免AI生成套话,快速获得结构化初稿。
LLMWiki框架通过AI维护外部知识库,使对话价值得以沉淀。原始材料存入只读raw ,AI按规则读取、提取、合并后写入wiki ,操作留痕且可追溯,确保知识持续积累而非依赖模型临时记忆,实现知识库的持续动态更新。
NovaAI可根据岗位属性和场景生成带编号标题、分层小标题及标准落款的公文范本。使用时需确认办公环境接入权限,输入包含文种、主体、事由的精准指令。生成后需校验文种适用性、格式硬性条款并替换占位符,方可导出PDF。
- 日榜
- 周榜
- 月榜
热点快看
