RAG分块终极指南:技术原理+优劣对比+场景选型,收藏这一篇就够了!
RAG通过结合检索与生成技术,依赖其高效检索算法、多模态融合能力及系统级优化,解决了基础大模型在企业内部应用的局限性,例如通过RAG技术对接企业内部知识库,支持知识动态更新与实时交互,显著降低了大模型的幻觉风险,无需微调训练模型,低成本适配企业垂直领域的应用场景,在数据安全与可控性方面,可加入权限控制逻辑,确保敏感信息仅在授权范围内使用,同时通过引用标注实现可追溯性。
前言
RAG通过结合检索与生成技术,依赖其高效检索算法、多模态融合能力及系统级优化,解决了基础大模型在企业内部应用的局限性,例如通过RAG技术对接企业内部知识库,支持知识动态更新与实时交互,显著降低了大模型的幻觉风险,无需微调训练模型,低成本适配企业垂直领域的应用场景,在数据安全与可控性方面,可加入权限控制逻辑,确保敏感信息仅在授权范围内使用,同时通过引用标注实现可追溯性。
但是在RAG应用工程化过程中,特别在金融、医疗等高风险领域,“可验证性”、“准确性”比“智能性”更重要,分块策略是RAG系统的核心环节,不同的分块策略,直接影响检索效率与生成质量。
我们先简单回顾一个RAG的基本工作流程:

一、RAG工作流程(图片来源:DailyDoseofDS)
有时候我们的文档可能很大,或者结构很复杂,在步骤①中需要对文档进行分块处理,将大文档分成较小单位/可管理的部分,以确保文本适合嵌入模型的输入大小。
由于采用不恰当的分块策略,可能导致我们最终应用RAG的效果达不到预期,面临答案可信度不足、关键信息漏检、复杂文档提取瓶颈等问题。这些问题直接影响RAG系统的可靠性和实用性。
二、RAG分块应用中普遍存在的问题
准确性:答案可信度不足
1.幻觉问题
即使检索到相关文档,大模型仍可能脱离文档内容编造答案(尤其在文档信息模糊或矛盾时)。例如如:用户问“某基金近3年收益率”,模型可能捏造数据而非引用检索到的报告。
2.检索噪声干扰
相似度搜索返回的文档片段可能包含无关信息,导致模型生成答案时被误导。例如:检索到10篇文档,其中3篇主题相关但含错误数据,模型可能融合错误信息。
3.细粒度理解缺失
模型难以精准理解数字、日期、专业术语的上下文含义,导致关键信息误用。例如:将“预计2025年增长10%”误解为历史数据。
4.召回率:关键信息漏检
语义匹配局限
传统向量搜索依赖语义相似度,但用户问题与文档表述差异大时漏检(如术语vs口语)。例如:用户问“钱放货币基金安全吗?”可能漏检标题为“货币市场基金信用风险分析”的文档。
长尾知识覆盖不足
低频、冷门知识因嵌入表示不充分,在向量空间中难以被检索到。例如:某小众金融衍生品的风险说明文档未被召回。
多跳推理失效
需组合多个文档片段才能回答的问题(如因果链),单次检索难以关联分散的知识点。例如:“美联储加息如何影响A股消费板块?”需先检索加息机制,再关联A股消费板块。
复杂文档解析:信息提取瓶颈
非结构化数据处理
- 表格/图表:文本分块会破坏表格结构,导致行列关系丢失(如财报中的利润表)。
- 公式/代码:数学公式或程序代码被错误分段,语义完整性受损。
- 扫描件/图片:OCR识别错误率高,尤其对手写体或模糊文档。
上下文割裂问题
固定长度分块(如512字符)可能切断关键上下文:
分块1结尾:“…风险因素包括:”
分块2开头:“利率波动、信用违约…” → 模型无法关联分块1的提示语。
文档逻辑结构丢失
标准分块策略忽略章节、段落、标题的层级关系,影响知识图谱构建。例如:将“附录”中的备注误认为正文结论。
RAG的分块策略与选择
选择合适的分块策略,是解决RAG实际应用中准确性、召回率与复杂文档解析等痛点最直接有效的方式,也是我们建设RAG系统最关键的一个环节。最常见的RAG分块策略包括:固定大小分块、语义分块、递归分块、基于文档结构的分块、基于LLM的分块。

RAG五种分块策略(图片来源:DailyDoseofDS)
下面我们围绕这五种分块策略,系统介绍不同分块策略的基本原理、实现步骤、主要优缺点与适用场景。
二、固定大小分块
1.基本原理
固定大小分块(Fixed-size Chunking),将文本按固定长度(如字符数、单词数或token数)切分,每个块大小一致,可能通过重叠保留上下文连贯性。例如,将文档每256个字符切分为一个块,重叠20个字符以减少边界信息丢失。

固定大小分块示意(图片来源:DailyDoseofDS)
2.实现步骤
- 预设参数:定义块大小(如256 token)和重叠比例(如20 token)。
- 切分文本:按固定长度分割文本,允许相邻块部分重叠。
- 生成块列表:输出所有块作为独立单元。
3.主要优点
- 实现简单:无需复杂算法,代码实现高效。
- 标准化处理:块大小一致,便于批量处理和向量化。
- 资源友好:适合大规模文本处理,降低计算成本。
4.主要缺点
- 语义断裂:可能在句子或概念中间切分,破坏上下文完整性。
- 信息冗余:重叠区域可能导致重复存储和计算。
- 适用性受限:对结构化文本(如代码、技术文档)效果较差。
5.适用场景
- 非结构化文本(如新闻、博客)的初步处理。
- 对实时性要求高、需快速切分的场景。
场景示例
[原文档]
"2023年Q3净利润同比增长5.2%(详见附录Table 7)"
[分块1] "2023年Q3净利润同比增长5.2%(详见"
[分块2] "附录Table 7)" # 关键数据来源丢失!
三、语义分块
1.基本原理
语义分块(Semantic Chunking),根据句子、段落、主题等有语义内涵的单位对文档进行分段创建嵌入,如果第一个段的嵌入与第二个段的嵌入具有较高的余弦相似度,则这两个段形成一个块。通过合并相似内容,确保每个块表达完整的语义内容。
由于每个分块的内容更加丰富,它提高了检索准确性,让大模型产生更加连续和相关的响应。但是它依赖于一个阈值来确定余弦相似度是否显著下降,而这个阈值在不同类型文档中可能涉及不同的参数设置。

语义分块流程

语义分块示意(图片来源:DailyDoseofDS)
2.实现步骤
- 分句/分段:将文本拆分为句子或段落。
- 生成嵌入:为每个单元计算向量表示。
- 相似度计算:依次比较相邻单元的余弦相似度。
- 动态合并:当相似度高于阈值时合并单元;相似度骤降时开始新块。
3.主要优点
- 语义完整性:保留自然语义结构,提升检索准确性。
- 上下文敏感:适应复杂逻辑关系(如因果、对比)。
- 生成质量:检索到的块更连贯,利于LLM生成精准回答。
4.主要缺点
- 计算复杂度高:需多次向量化计算和相似度比较。
- 阈值依赖:相似度阈值需人工调试,不同文档需不同参数。
- 实现门槛:依赖高质量嵌入模型和相似度算法。
5.适用场景
- 高精度问答系统(如法律、医疗领域),研究论文、行业分析报告等专业文档。
- 需保留上下文逻辑的复杂文档(如论文、技术报告)。
场景示例
[分块]
区块1: "货币政策的宽松将推动市场流动性提升。"
区块2: "但需警惕通胀反弹带来的政策转向风险。"
# 每个区块为完整语义单元
四、递归分块
1.基本原理
递归分块(Recursive Chunking),先按主题或段落初步划分,再对超长块递归细分,直至满足大小限制。递归分块融合了结构化与非结构化处理逻辑,与固定大小的分块不同,这种方法保持了语言的自然流畅性并保留了完整的内容语义。

递归分块流程

递归分块示意(图片来源:DailyDoseofDS)
2.实现步骤
- 粗粒度切分:按段落、标题或主题初步划分大块。
- 检查大小:判断块是否超过预设长度(如1024 token)。
- 递归细分:超长,按固定大小或语义逻辑进一步切分。
- 终止条件:块大小符合要求时停止递归。
3.主要优点
- 灵活性强:平衡结构完整性与大小限制。
- 适应复杂内容:处理长文档(如书籍、长篇论文)时表现优异。
- 多策略融合:可结合固定大小或语义分块优化细分。
4.主要缺点
- 块大小不均:不同层级的块可能差异较大。
- 逻辑断裂风险:递归过程中可能破坏原文的自然段落结构。
- 实现复杂:需设计递归终止条件和分块策略。
5.适用场景
- 长文档处理(如企业年报、学术论文),书籍、技术手册等层级化文档。
- 需兼顾结构化与非结构化内容的场景,包含嵌套结构的合同文本。
场景示例
1. 摘要 --> [保留完整]
2. 行业分析 --> [按子章节切分]
2.1 供需格局 --> [按段落切分]
2.2 竞争态势 --> [按段落切分]
3. 附录表格 --> [特殊处理]
五、基于文档结构的分块

基于文档结构分块流程

基于文档结构分块示意(图片来源:DailyDoseofDS)
实现步骤
- 识别结构元素:解析文档中的标题、段落、小节等标记(如Markdown、XML)。
- 按结构切分:将每个结构单元(如“引言”、“结论”)独立为块。
- 处理超长部分:若某结构单元过大,再结合递归或固定大小分块细化。
主要优点
- 逻辑清晰:保留文档的层次化结构,便于定位信息。
- 检索高效:用户可通过标题快速定位相关内容。
- 格式兼容性:适合结构化文档(如技术手册、报告)。
主要缺点
- 依赖格式标准化:对非结构化文本(如自由写作)效果差。
- 预处理复杂:需解析文档格式(如LaTeX、HTML),增加实现难度。
- 灵活性不足:难以处理混合结构内容(如图文混排)。
适用场景
- 结构化文档,如:财报(表格数据)、技术文档(代码块)、合同(条款列表)。
- 需按章节检索的场景(如法规数据库),任何含丰富格式标记的内容。
场景示例
[原始PDF表格]
| 项目 | 2023Q3 | 同比 |
|--------------|--------|-------|
| 营业收入 | 5.2亿 | +12% |
[结构化分块]
{
"type": "table",
"title": "利润表摘要",
"data": [["项目", "2023Q3", "同比"], ["营业收入", "5.2亿", "+12%"]]
} # 整表作为独立区块
六、基于LLM的分块
基本原理
基于LLM的分块(LLM-based Chunking),直接将原始文档输入大语言模型(LLM),由模型智能生成语义块。利用LLM的语义理解能力,动态划分文本,保证了分块语义的准确性,但这种分块方法对算力要求最高,对时效性与性能也将带来挑战。

基于LLM分块流程(图片来源:DailyDoseofDS)
实现步骤
- 输入文档:将完整文档送入LLM(如DeepSeek、GPT)。
- 生成块指令:通过提示词(Prompt)引导模型按语义划分块。
- 示例提示词:“请将以下文档按语义划分为多个块,每个块需包含完整主题。”
- 输出块列表:模型返回划分后的块,可能包含逻辑标签(如“引言”、“方法论”)。
主要优点
- 高度智能化:适应复杂、非结构化文本(如自由写作、对话记录)。
- 动态适应性:根据文档内容自动调整块大小和逻辑。
- 生成质量:块语义连贯,减少人工干预。
主要缺点
- 计算成本高:依赖高性能LLM,资源消耗大。
- 可解释性差:模型决策过程难以追溯,可能产生不可预测的块。
- 依赖模型能力:效果受限于LLM的训练数据和语义理解能力。
适用场景
场景示例
[原始分散段落]
段落1: "A公司宣布收购B公司..."
段落2: "交易金额达50亿美元..."
段落3: "B公司核心资产为..."
[LLM智能分块结果]
"并购事件:A公司以50亿美元收购B公司(核心资产为...)" # 跨段落聚合关键信息
五种RAG分块策略总结对比
| 分块策略 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 固定大小分块 | 实现简单,资源高效 | 语义断裂,信息冗余 | 快速处理非结构化文本 |
| 语义分块 | 语义完整,检索精准 | 计算复杂,依赖阈值 | 高精度问答、复杂文档 |
| 递归分块 | 灵活适应长文档,保留结构 | 块大小不均,逻辑断裂风险 | 长篇技术文档、企业报告 |
| 基于结构的分块 | 逻辑清晰,检索高效 | 依赖格式标准化,预处理复杂 | 结构化文档(论文、白皮书) |
| 基于LLM的分块 | 高度智能,适应非结构化文本 | 计算成本高,决策过程不可控 | 非结构化内容、跨领域整合 |
七、RAG分块策略选择建议
-
结合递归与结构分块:处理长文档时(如法律合同、表格、公式、技术手册)。
-
语义分块:对生成质量要求高、文档语义复杂时(如论文、医疗问答)。
-
使用LLM分块:处理非结构化或混合内容(如多模态文档)。
-
固定大小分块:快速部署或资源受限场景(如社交媒体、轻量级应用)。

分块策略选择决策树
具体实施过程中,我们需要根据具体需求与文档类型选择分块策略,或组合多种方法(如“结构分块+语义细分”)以实现最佳效果。
RAG面临的挑战与前沿探索
深层待解决问题
知识关联缺失
当前检索基于单点语义相似度,无法构建跨文档知识图谱(如“公司A收购事件”与“行业竞争格局变化”的隐含关联)。
推理-检索割裂
生成模型无法主动指导检索过程,形成“检索→生成”单向流水线,而非动态交互式推理。
例如:模型应能反问“您需要对比哪两个季度的数据?”以优化检索目标。
多模态理解不足
现有RAG主要处理文本,对文档中的图表、公式、流程图等信息利用率极低。例如研报中的股价趋势图无法被检索系统理解。
可信度量化困境
缺乏统一标准评估答案可靠性,用户难以判断“何时可信任RAG的输出”,导致存在潜在风险,例如金融场景中错误答案可能导致直接经济损失。
长上下文建模缺陷
当检索返回大量片段(如20篇文档)时,模型对超长提示词的尾部信息忽略率显著上升。
解决路径与前沿探索
检索增强
- 混合检索:融合语义搜索(Embedding)与关键词搜索(BM25)提升召回率
- 查询扩展:用LLM将用户问题改写为专业查询(如“钱放余额宝安全吗?”→“货币基金信用风险评估”)
- 递归检索:实现多跳推理(先查“美联储加息”,再查“科技股估值模型”)
生成控制
- 强制引用:要求模型标注答案来源位置(如:源自2023年报第5页)
- 置信度阈值:对低置信答案触发人工审核流程
- 结构化解构:将复杂问题拆解为子问题分步检索生成
优化分块
- 语义分块:按句子/段落边界切分而非固定长度
- 结构感知:保留表格、标题层级(利用Markdown/XML标签)
- 动态重叠:相邻块部分重叠避免上下文断裂
、## 如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

第一阶段(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 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

更多推荐


所有评论(0)