详解RAG五种分块策略,技术原理、优劣对比与场景选型之道

简介: RAG通过检索与生成结合,提升大模型在企业应用中的准确性与安全性。分块策略是其核心,直接影响检索效果与回答质量。本文系统解析五种主流分块方法——固定大小、语义、递归、基于文档结构及LLM分块,对比其优缺点与适用场景,并提出选择建议与前沿优化方向,助力构建高效、可信的RAG系统。

前言
RAG通过结合检索与生成技术,依赖其高效检索算法、多模态融合能力及系统级优化,解决了基础大模型在企业内部应用的局限性,例如通过RAG技术对接企业内部知识库,支持知识动态更新与实时交互,显著降低了大模型的幻觉风险,无需微调训练模型,低成本适配企业垂直领域的应用场景,在数据安全与可控性方面,可加入权限控制逻辑,确保敏感信息仅在授权范围内使用,同时通过引用标注实现可追溯性。
但是在RAG应用工程化过程中,特别在金融、医疗等高风险领域,“可验证性”、“准确性”比“智能性”更重要,分块策略是RAG系统的核心环节,不同的分块策略,直接影响检索效率与生成质量。
我们先简单回顾一个RAG的基本工作流程:
RAG工作流程(图片来源:DailyDoseofDS)
有时候我们的文档可能很大,或者结构很复杂,在步骤①中需要对文档进行分块处理,将大文档分成较小单位/可管理的部分,以确保文本适合嵌入模型的输入大小。
由于采用不恰当的分块策略,可能导致我们最终应用RAG的效果达不到预期,面临答案可信度不足、关键信息漏检、复杂文档提取瓶颈等问题。这些问题直接影响RAG系统的可靠性和实用性。
RAG分块应用中普遍存在的问题
准确性:答案可信度不足
幻觉问题
即使检索到相关文档,大模型仍可能脱离文档内容编造答案(尤其在文档信息模糊或矛盾时)。例如如:用户问“某基金近3年收益率”,模型可能捏造数据而非引用检索到的报告。
检索噪声干扰
相似度搜索返回的文档片段可能包含无关信息,导致模型生成答案时被误导。例如:检索到10篇文档,其中3篇主题相关但含错误数据,模型可能融合错误信息。
细粒度理解缺失
模型难以精准理解数字、日期、专业术语的上下文含义,导致关键信息误用。例如:将“预计2025年增长10%”误解为历史数据。
召回率:关键信息漏检
语义匹配局限
传统向量搜索依赖语义相似度,但用户问题与文档表述差异大时漏检(如术语vs口语)。例如:用户问“钱放货币基金安全吗?”可能漏检标题为“货币市场基金信用风险分析”的文档。
长尾知识覆盖不足
低频、冷门知识因嵌入表示不充分,在向量空间中难以被检索到。例如:某小众金融衍生品的风险说明文档未被召回。
多跳推理失效
需组合多个文档片段才能回答的问题(如因果链),单次检索难以关联分散的知识点。例如:“美联储加息如何影响A股消费板块?”需先检索加息机制,再关联A股消费板块。
复杂文档解析:信息提取瓶颈
非结构化数据处理
表格/图表:文本分块会破坏表格结构,导致行列关系丢失(如财报中的利润表)。
公式/代码:数学公式或程序代码被错误分段,语义完整性受损。
扫描件/图片:OCR识别错误率高,尤其对手写体或模糊文档。
上下文割裂问题
固定长度分块(如512字符)可能切断关键上下文:
分块1结尾:“...风险因素包括:”
分块2开头:“利率波动、信用违约...” → 模型无法关联分块1的提示语。
文档逻辑结构丢失
标准分块策略忽略章节、段落、标题的层级关系,影响知识图谱构建。例如:将“附录”中的备注误认为正文结论。
RAG的分块策略与选择
选择合适的分块策略,是解决RAG实际应用中准确性、召回率与复杂文档解析等痛点最直接有效的方式,也是我们建设RAG系统最关键的一个环节。最常见的RAG分块策略包括:固定大小分块、语义分块、递归分块、基于文档结构的分块、基于LLM的分块。
RAG五种分块策略(图片来源:DailyDoseofDS)
下面我们围绕这五种分块策略,系统介绍不同分块策略的基本原理、实现步骤、主要优缺点与适用场景。
固定大小分块
基本原理
固定大小分块(Fixed-size Chunking),将文本按固定长度(如字符数、单词数或token数)切分,每个块大小一致,可能通过重叠保留上下文连贯性。例如,将文档每256个字符切分为一个块,重叠20个字符以减少边界信息丢失。
固定大小分块示意(图片来源:DailyDoseofDS)
实现步骤
预设参数:定义块大小(如256 token)和重叠比例(如20 token)。
切分文本:按固定长度分割文本,允许相邻块部分重叠。
生成块列表:输出所有块作为独立单元。
主要优点
实现简单:无需复杂算法,代码实现高效。
标准化处理:块大小一致,便于批量处理和向量化。
资源友好:适合大规模文本处理,降低计算成本。
主要缺点
语义断裂:可能在句子或概念中间切分,破坏上下文完整性。
信息冗余:重叠区域可能导致重复存储和计算。
适用性受限:对结构化文本(如代码、技术文档)效果较差。
适用场景
非结构化文本(如新闻、博客)的初步处理。
对实时性要求高、需快速切分的场景。
场景示例
语义分块
基本原理
语义分块(Semantic Chunking),根据句子、段落、主题等有语义内涵的单位对文档进行分段创建嵌入,如果第一个段的嵌入与第二个段的嵌入具有较高的余弦相似度,则这两个段形成一个块。通过合并相似内容,确保每个块表达完整的语义内容。
由于每个分块的内容更加丰富,它提高了检索准确性,让大模型产生更加连续和相关的响应。但是它依赖于一个阈值来确定余弦相似度是否显著下降,而这个阈值在不同类型文档中可能涉及不同的参数设置。
语义分块流程
语义分块示意(图片来源:DailyDoseofDS)
实现步骤
分句/分段:将文本拆分为句子或段落。
生成嵌入:为每个单元计算向量表示。
相似度计算:依次比较相邻单元的余弦相似度。
动态合并:当相似度高于阈值时合并单元;相似度骤降时开始新块。
主要优点
语义完整性:保留自然语义结构,提升检索准确性。
上下文敏感:适应复杂逻辑关系(如因果、对比)。
生成质量:检索到的块更连贯,利于LLM生成精准回答。
主要缺点
计算复杂度高:需多次向量化计算和相似度比较。
阈值依赖:相似度阈值需人工调试,不同文档需不同参数。
实现门槛:依赖高质量嵌入模型和相似度算法。
适用场景
高精度问答系统(如法律、医疗领域),研究论文、行业分析报告等专业文档。
需保留上下文逻辑的复杂文档(如论文、技术报告)。
场景示例
递归分块
基本原理
递归分块(Recursive Chunking),先按主题或段落初步划分,再对超长块递归细分,直至满足大小限制。递归分块融合了结构化与非结构化处理逻辑,与固定大小的分块不同,这种方法保持了语言的自然流畅性并保留了完整的内容语义。
递归分块流程
递归分块示意(图片来源:DailyDoseofDS)
实现步骤
粗粒度切分:按段落、标题或主题初步划分大块。
检查大小:判断块是否超过预设长度(如1024 token)。
递归细分:超长,按固定大小或语义逻辑进一步切分。
终止条件:块大小符合要求时停止递归。
主要优点
灵活性强:平衡结构完整性与大小限制。
适应复杂内容:处理长文档(如书籍、长篇论文)时表现优异。
多策略融合:可结合固定大小或语义分块优化细分。
主要缺点
块大小不均:不同层级的块可能差异较大。
逻辑断裂风险:递归过程中可能破坏原文的自然段落结构。
实现复杂:需设计递归终止条件和分块策略。
适用场景
长文档处理(如企业年报、学术论文),书籍、技术手册等层级化文档。
需兼顾结构化与非结构化内容的场景,包含嵌套结构的合同文本。
场景示例
基于文档结构的分块
基本原理
基于文档结构分块(Document Structure-based Chunking),利用文档固有结构(如标题

、章节、列表

  • 、表格
    )进行切分,每个结构单元作为一个块。它通过与文档的逻辑部分对齐来保持结构完整性。这种分块适用于文档有清晰的结构,但很多时候,一个文档的结构会比想象中复杂,此外,很多时候文档章节内容大小不一,很容易超过块的大小限制,需要结合递归拆分再进行合并处理。
    基于文档结构分块流程
    基于文档结构分块示意(图片来源:DailyDoseofDS)
    实现步骤
    识别结构元素:解析文档中的标题、段落、小节等标记(如Markdown、XML)。
    按结构切分:将每个结构单元(如“引言”、“结论”)独立为块。
    处理超长部分:若某结构单元过大,再结合递归或固定大小分块细化。
    主要优点
    逻辑清晰:保留文档的层次化结构,便于定位信息。
    检索高效:用户可通过标题快速定位相关内容。
    格式兼容性:适合结构化文档(如技术手册、报告)。
    主要缺点
    依赖格式标准化:对非结构化文本(如自由写作)效果差。
    预处理复杂:需解析文档格式(如LaTeX、HTML),增加实现难度。
    灵活性不足:难以处理混合结构内容(如图文混排)。
    适用场景
    结构化文档,如:财报(表格数据)、技术文档(代码块)、合同(条款列表)。
    需按章节检索的场景(如法规数据库),任何含丰富格式标记的内容。
    场景示例
    基于LLM的分块
    基本原理
    基于LLM的分块(LLM-based Chunking),直接将原始文档输入大语言模型(LLM),由模型智能生成语义块。利用LLM的语义理解能力,动态划分文本,保证了分块语义的准确性,但这种分块方法对算力要求最高,对时效性与性能也将带来挑战。
    基于LLM分块流程(图片来源:DailyDoseofDS)
    实现步骤
    输入文档:将完整文档送入LLM(如DeepSeek、GPT)。
    生成块指令:通过提示词(Prompt)引导模型按语义划分块。
    示例提示词:“请将以下文档按语义划分为多个块,每个块需包含完整主题。”
    输出块列表:模型返回划分后的块,可能包含逻辑标签(如“引言”、“方法论”)。
    主要优点
    高度智能化:适应复杂、非结构化文本(如自由写作、对话记录)。
    动态适应性:根据文档内容自动调整块大小和逻辑。
    生成质量:块语义连贯,减少人工干预。
    主要缺点
    计算成本高:依赖高性能LLM,资源消耗大。
    可解释性差:模型决策过程难以追溯,可能产生不可预测的块。
    依赖模型能力:效果受限于LLM的训练数据和语义理解能力。
    适用场景
    非结构化文本(如访谈记录,会议纪要,用户评论、社交媒体内容等)。
    需高级语义分析的场景(如跨领域知识整合)
    场景示例
    五种RAG分块策略总结对比
    分块策略
    优点
    缺点
    适用场景
    固定大小分块
    实现简单,资源高效
    语义断裂,信息冗余
    快速处理非结构化文本
    语义分块
    语义完整,检索精准
    计算复杂,依赖阈值
    高精度问答、复杂文档
    递归分块
    灵活适应长文档,保留结构
    块大小不均,逻辑断裂风险
    长篇技术文档、企业报告
    基于结构的分块
    逻辑清晰,检索高效
    依赖格式标准化,预处理复杂
    结构化文档(论文、白皮书)
    基于LLM的分块
    高度智能,适应非结构化文本
    计算成本高,决策过程不可控
    非结构化内容、跨领域整合
    RAG分块策略选择建议
    结合递归与结构分块:处理长文档时(如法律合同、表格、公式、技术手册)。
    语义分块:对生成质量要求高、文档语义复杂时(如论文、医疗问答)。
    使用LLM分块:处理非结构化或混合内容(如多模态文档)。
    固定大小分块:快速部署或资源受限场景(如社交媒体、轻量级应用)。
    分块策略选择决策树
    具体实施过程中,我们需要根据具体需求与文档类型选择分块策略,或组合多种方法(如“结构分块+语义细分”)以实现最佳效果。
    RAG面临的挑战与前沿探索
    深层待解决问题
    知识关联缺失
    当前检索基于单点语义相似度,无法构建跨文档知识图谱(如“公司A收购事件”与“行业竞争格局变化”的隐含关联)。
    推理-检索割裂
    生成模型无法主动指导检索过程,形成“检索→生成”单向流水线,而非动态交互式推理。
    例如:模型应能反问“您需要对比哪两个季度的数据?”以优化检索目标。
    多模态理解不足
    现有RAG主要处理文本,对文档中的图表、公式、流程图等信息利用率极低。例如研报中的股价趋势图无法被检索系统理解。
    可信度量化困境
    缺乏统一标准评估答案可靠性,用户难以判断“何时可信任RAG的输出”,导致存在潜在风险,例如金融场景中错误答案可能导致直接经济损失。
    长上下文建模缺陷
    当检索返回大量片段(如20篇文档)时,模型对超长提示词的尾部信息忽略率显著上升。
    解决路径与前沿探索
    检索增强
    混合检索:融合语义搜索(Embedding)与关键词搜索(BM25)提升召回率
    查询扩展:用LLM将用户问题改写为专业查询(如“钱放余额宝安全吗?”→“货币基金信用风险评估”)
    递归检索:实现多跳推理(先查“美联储加息”,再查“科技股估值模型”)
    生成控制
    强制引用:要求模型标注答案来源位置(如:源自2023年报第5页)
    置信度阈值:对低置信答案触发人工审核流程
    结构化解构:将复杂问题拆解为子问题分步检索生成
    优化分块
    语义分块:按句子/段落边界切分而非固定长度
    结构感知:保留表格、标题层级(利用Markdown/XML标签)
    动态重叠:相邻块部分重叠避免上下文断裂
相关文章
|
9天前
|
人工智能 自然语言处理 API
全面认识MCP:大模型连接真实世界的“USB-C接口”
MCP(模型上下文协议)是AI时代的“万能接口”,由Anthropic提出,旨在统一大模型与工具、数据源的连接标准。它简化集成、提升任务处理能力,推动AI智能体从对话走向行动,重塑AI应用生态。
|
3月前
|
机器学习/深度学习 人工智能 机器人
文本分块大揭秘,五种境界让你的RAG系统从菜鸟变大神
如果你的AI应用程序返回的答案总是不着边际,问题可能出在文本分块上!本文用轻松幽默的方式,带你玩转从基础到高级的五种文本分块策略,让你的RAG系统检索效率提升10倍。无论你是RAG新手还是老手,这篇文章都能让你事半功倍!
|
1月前
|
数据可视化 知识图谱
LightRAG 实战: 基于 Ollama 搭建带知识图谱的可控 RAG 系统
LightRAG 是一款开源、模块化的检索增强生成(RAG)框架,支持快速构建基于知识图谱与向量检索的混合搜索系统。它兼容多种LLM与嵌入模型,如Ollama、Gemini等,提供灵活配置和本地部署能力,助力高效、准确的问答系统开发。
367 2
LightRAG 实战: 基于 Ollama 搭建带知识图谱的可控 RAG 系统
|
缓存 API 网络安全
钉钉创建审批实例失败可能有以下几个原因
钉钉创建审批实例失败可能有以下几个原因【1月更文挑战第6天】【1月更文挑战第30篇】
1011 2
|
1月前
|
机器学习/深度学习 人工智能 API
构建AI智能体:二十四、RAG的高效召回方法论:提升RAG系统召回率的三大策略实践
本文探讨了检索增强生成(RAG)系统中的高效召回技术。RAG系统通过检索相关文档增强大语言模型的回答质量,但性能受制于垃圾进,垃圾出原则。为提高召回效果,文章重点分析了三种方法:Small-to-Big通过大小文本块映射兼顾检索精度与上下文丰富度;索引扩展(如HyDE)利用大模型生成假设文档来优化检索;双向改写弥合用户查询与文档表述的差异。这些方法从不同角度解决了RAG系统中的语义鸿沟、词汇不匹配等核心问题,可单独或组合使用。高效召回技术能显著提升RAG系统的回答质量和效率。
338 5
|
设计模式 JavaScript 前端开发
深入理解 Vue3 中的 setup 函数
深入理解 Vue3 中的 setup 函数
|
1月前
|
机器学习/深度学习 人工智能 搜索推荐
基于人类反馈的强化学习:对齐AI与人类价值观的技术革命
基于人类反馈的强化学习(RLHF)是一种通过人类偏好来训练AI的技术,使其行为更符合人类价值观。它分三阶段:先用示范数据微调模型,再训练奖励模型预测人类偏好,最后用强化学习优化模型。相比传统方法,RLHF在安全性、创造力、数据效率等方面优势显著,能有效提升AI的对齐性与实用性,是实现有益人工智能的关键路径。
|
1月前
|
人工智能 JSON 供应链
1688评论接口实战:B端视角下的竞品(供应商)数据拆解指南
本文详解1688评论接口(alibaba.trade.rate.get)在B2B电商中的核心应用,涵盖权限获取、技术调用、数据解析及实战场景,助力企业通过真实采购评论实现供应商评估、风险预警与供应链优化,推动B端决策从经验驱动迈向数据驱动。
|
5月前
|
人工智能 缓存 监控
MCP工具开发实战:打造智能体的"超能力"
作为一名深耕AI技术领域多年的博主摘星,我深刻认识到工具(Tools)在现代智能体系统中的核心地位。在Anthropic推出的Model Context Protocol(MCP)框架下,工具不再是简单的功能模块,而是赋予AI智能体真正"超能力"的关键组件。通过深入研究MCP工具开发的各个层面,我发现这一技术正在重新定义人机交互的边界。MCP工具开发不仅仅是编写几个函数那么简单,它涉及复杂的参数验证机制、精密的错误处理策略、高效的异步调用模式,以及优雅的工具组合设计。在实际项目中,我见证了许多开发者因为缺乏对MCP工具设计原则的深入理解,导致开发出的工具要么性能低下,要么稳定性差,要么无法与其
375 0
MCP工具开发实战:打造智能体的"超能力"
|
11月前
|
监控 数据库 数据采集
大模型编程(5)- 微调体验
大模型微调学习
543 8