本文深入解析了检索增强生成(RAG)架构,旨在解决传统大语言模型因知识局限而产生的幻觉、陈旧等问题。RAG通过在生成答案前检索外部知识库,提升回答的准确性和时效性。文章详细介绍了RAG的架构类型(如无微调、检索器微调、白盒增强等)、知识库构建方法、查询与检索增强技术,以及系统评估标准。此外,还探讨了如何优化RAG过程,包括判断是否增强、增强的位置以及多次增强策略,为构建高效、可靠的大语言模型应用提供了全面指导。
导航
传统大语言模型主要依赖参数中的隐式知识进行回答,容易受到知识过期、幻觉和领域知识不足等问题影响。RAG 的核心思想是:在生成答案之前,先从外部知识库中检索相关信息,再将这些信息作为上下文提供给大语言模型,从而提升回答的准确性、可追溯性和时效性。
检索增强生成架构
| 架构类型 | 是否修改大模型参数 | 是否修改检索器参数 | 代表方法 | 特点 |
|---|---|---|---|---|
| 无微调 RAG | 否 | 否 | In-Context RALM | 简单、易落地 |
| 检索器微调 | 否 | 是 | REPLUG | 适合黑盒大模型 |
| 仅语言模型微调 | 是 | 否 | RETRO | 强化模型利用外部知识的能力 |
| 检索器与模型协同微调 | 是 | 是 | Atlas | 效果潜力高,但训练复杂 |
黑盒增强架构
黑盒增强架构指的是不修改或无法访问大语言模型内部参数,主要通过Prompt、外部检索、检索器优化或输出反馈来提升生成效果。
无微调
无微调架构是所有RAG架构中形式最简单的。该架构中,检索器和语言模型经过分别独立的预训练后参数不再更新,直接组合使用。In-Context RALM是该框架下的代表性方法
在实际工程中,大多数企业级 RAG 系统最初都采用这种形式:知识库、Embedding 模型、向量数据库和大语言模型相互独立,只通过 Prompt 将检索结果注入上下文。
检索器微调
在检索器微调架构中,大语言模型参数保持不变,仅通过语言模型的输出反馈来优化检索器。其核心思想是:如果某个文档能让语言模型更容易生成正确答案,那么这个文档就应该被检索器赋予更高权重。
REPLUG 是这类方法的代表之一。它利用语言模型对不同检索文档的困惑度变化作为监督信号,训练检索器更倾向于召回那些能显著提升生成质量的文档。
白盒增强架构
大语言模型和检索器是独立预训练的,二者可能存在匹配欠佳的情况。白盒增强架构通过微调大语言模型来配合检索器,以提升RAG 的效果。根据是否对检索器进行微调分为两类:
- • 仅语言模型微调
- • 检索器和语言模型协同微调
仅微调语言模型
仅微调语言模型指的是检索器作为一个预先训练好的组件其参数保持不变,大语言模型根据检索器提供的上下文信息,对自身参数进行微调。RETRO是微调语言模型的代表性方法之一。
检索器和语言模型协同微调
在该架构中,检索器和语言模型同时进行微调,以实现更好的协同效果。该方法的代表性方法是Atlas。
知识库构建
在RAG 框架中,知识库构建主要涉及数据采集及预处理与知识库增强两个步骤。
数据采集及预处理
- • 数据采集: 来自不同渠道的数据被整合、转换为统一的文档对象。这些文档对象不仅包含原始的文本信息,还携带有关文档的元信息(Metadata)
- • 预处理: 预处理可以提升数据质量和可用性。数据预处理主要包括数据清洗和文本分块两个过程。
- • 数据清洗旨在清除文本中的干扰元素。
- • 文本分块是将长文本分割成较小文本块的过程,文本分块的效果直接影响后续检索结果的质量
知识库增强
知识库增强是通过改进和丰富知识库的内容和结构,以提升其质量和实用性
- • 查询生成 利用大语言模型生成与文档内容紧密相关的伪查询。这些伪查询从查询的角度来表达文档的语义,可以作为相关文档的“键”,供检索时与用户查询进行匹配。
- • 标题生成 利用大语言模型为没有标题的文档生成合适的标题
查询与检索增强
查询增强
查询增强是指在检索阶段对用户输入的查询进行改进和优化,以提升检索结果的相关性和准确性。查询增强的主要方法包括:
- • 查询语义增强: 通过同义改写和多视角分解等方法来扩展、丰富用户查询的语义,以提高检索的准确性和全面性
- • 查询内容增强: 通过生成与原始查询相关的背景信息和上下文,从而丰富查询内容,提高检索的准确性和全面性。查询内容增强方法通过引入大语言模型生成的辅助文档,为原始查询提供更多维度的信息支持
检索器
检索器是RAG系统中的核心组件,负责从知识库中检索出与用户查询相关的文档
判别式检索器
判别式检索器通过判别模型对查询和文档是否相关进行打分。判别式检索器通常分为两大类:
- • 稀疏检索器 稀疏检索器(Sparse Retriever)是指使用稀疏表示方法来匹配文本的模型,通过统计文档中特定词项出现的统计特征来对文档进行编码,然后基于此编码计算查询与知识库中的文档的相似度来进行检索
- • 稠密检索器 稠密检索器一般利用预训练语言模型对文本生成低维、密集的向量表示,通过计算向量间的相似度进行检索
生成式检索器
生成式检索器通过生成模型对输入查询直接生成相关文档的标识符。
检索效率增强
向量数据库可以实现高效的向量检索与查询。向量数据库的核心是设计高效的相似度索引算法。 常用的索引技术主要分为三大类:
- • 基于空间划分: 将搜索空间划分为多个区域来实现索引
- • 基于乘积量化: 将高维向量空间划分为多个子空间,并在每个子空间中进行聚类得到码本和码字,以此作为构建索引的基础
- • 基于图: 构建一个邻近图,将向量检索转化为图的遍历问题
检索结果重排
通过对检索结果重排,可以提升检索结果的相关性和准确性。常见的重排方法包括:
- • 基于交叉编码的方法 基于交叉编码的重排方法利用交叉编码器(Cross-Encoders)来评估文档与查询之间的语义相关性
- • 基于上下文学习的方法 基于上下文学习的方法是指通过设计精巧的Prompt,使用大语言模型来执行重排任务
RAG 系统评估
RAG 系统的评估通常需要同时关注检索质量和生成质量。
检索质量评估
- • Recall:相关文档是否被召回。
- • Precision:召回结果中有多少是真正相关的。
- • MRR:正确文档是否排在靠前位置。
- • nDCG:综合考虑相关性和排序位置。
生成质量评估
- • 正确性:答案是否符合事实。
- • 忠实性:答案是否基于检索到的证据生成。
- • 完整性:是否覆盖用户问题的关键方面。
- • 可引用性:是否能给出明确来源。
- • 幻觉率:是否编造不存在的信息。
优化增强过程
RAG 并不意味着每次生成都必须检索。是否检索、在哪里融合检索结果、是否需要多轮检索,都会影响系统成本、延迟和答案质量。
何时增强
判断是否需要增强的核心在于判断大语言模型是否具有内部知识。判断模型是否具有内部知识的方法可以分为两类:
- • 外部观测法:通过 Prompt 询问模型是否具备相关知识,或通过置信度、困惑度等统计信号进行判断。
- • 内部观测法:通过检测模型内部神经元或隐藏状态判断模型是否存储相关知识。这类方法通常需要访问模型内部参数,更适合白盒场景。
内部/外部观测法都存在一定局限性,最好是定义一个决策链: 规则兜底 + LLM 判断 + 检索质量评估 + 证据充分性验证.
何处增强
可以在输入端、中间层、输出端使用检索的结果:
- • 输入端: 直接将检索到的外部知识文本与用户查询拼接到Prompt中,然后输入给大语言模型,主流方式。
- • 中间层: 先将检索到的外部知识转换为向量表示,然后将这些向量插入通过交叉注意力融合到模型的隐藏状态中。黑盒架构中无法使用。
- • 输出端: 利用检索到的外部知识对大语言模型生成的文本进行校准,是一种后处理的方法
多次增强
- • 分解式增强 将复杂问题分解为多个子问题,子问题间进行迭代检索增强,最终得到正确答案
- • 渐进式增强 将问题不断细化,然后分别对细化的问题进行检索增强,力求给出全面的答案,以覆盖用户需要的答案
最后
对于正在迷茫择业、想转行提升,或是刚入门的程序员、编程小白来说,有一个问题几乎人人都在问:未来10年,什么领域的职业发展潜力最大?
答案只有一个:人工智能(尤其是大模型方向)
当下,人工智能行业正处于爆发式增长期,其中大模型相关岗位更是供不应求,薪资待遇直接拉满——字节跳动作为AI领域的头部玩家,给硕士毕业的优质AI人才(含大模型相关方向)开出的月基础工资高达5万—6万元;即便是非“人才计划”的普通应聘者,月基础工资也能稳定在4万元左右。
再看阿里、腾讯两大互联网大厂,非“人才计划”的AI相关岗位应聘者,月基础工资也约有3万元,远超其他行业同资历岗位的薪资水平,对于程序员、小白来说,无疑是绝佳的转型和提升赛道。
如果你还不知道从何开始,我自己整理一套全网最全最细的大模型零基础教程,我也是一路自学走过来的,很清楚小白前期学习的痛楚,你要是没有方向还没有好的资源,根本学不到东西!
下面是我整理的大模型学习资源,希望能帮到你。
👇👇扫码免费领取全部内容👇👇
最后
1、大模型学习路线
2、从0到进阶大模型学习视频教程
从入门到进阶这里都有,跟着老师学习事半功倍。
3、 入门必看大模型学习书籍&文档.pdf(书面上的技术书籍确实太多了,这些是我精选出来的,还有很多不在图里)
4、AI大模型最新行业报告
2026最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
5、面试试题/经验
【大厂 AI 岗位面经分享(107 道)】
【AI 大模型面试真题(102 道)】
【LLMs 面试真题(97 道)】
6、大模型项目实战&配套源码
适用人群
四阶段学习规划(共90天,可落地执行)
第一阶段(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 项目
内容安全
互联网信息服务算法备案
…
👇👇扫码免费领取全部内容👇👇
3、这些资料真的有用吗?
这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】