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

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 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),利用文档固有结构(如标题<h1>、章节、列表<ul>、表格<table>)进行切分,每个结构单元作为一个块。它通过与文档的逻辑部分对齐来保持结构完整性。这种分块适用于文档有清晰的结构,但很多时候,一个文档的结构会比想象中复杂,此外,很多时候文档章节内容大小不一,很容易超过块的大小限制,需要结合递归拆分再进行合并处理。基于文档结构分块流程基于文档结构分块示意(图片来源: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标签)动态重叠:相邻块部分重叠避免上下文断裂


相关文章
|
1月前
|
缓存 安全 iOS开发
开源的 macOS 应用管理器和系统清理器
PureMac 是一款免费开源的 macOS 应用管理与系统清理工具,支持彻底卸载应用、清除残留文件及缓存日志等垃圾,释放磁盘空间。无订阅、无遥测、不收集任何用户数据,原生安全,智能扫描不误删。(239字)
253 1
|
开发者
「代码强迫症?」从0到1实现项目代码拼写检查 vscode 插件:project-spell-checker(一)
「代码强迫症?」从0到1实现项目代码拼写检查 vscode 插件:project-spell-checker(一)
663 0
|
3天前
|
人工智能 运维 监控
阿里云的 Agent Infra 长什么样
分享了团队在 Agent 工程化领域的完整思考与产品实践,从构建、部署到规模化运行,如何用一套 Agent Infra 覆盖智能体的开发-运行-治理-运维-优化全周期。
|
2月前
|
存储 人工智能 缓存
阿里云服务器4核8G可选实例规格、收费标准、适用场景及活动价格
2026年阿里云服务器4核8G价格,目前经济型e实例4核8G活动价格为1595.11元/1年起;通用算力型u2i实例4核8G活动价格为1252.63元/1年起;通用算力型u2a实例4核8G活动价格为898.20元/1年起;计算型c9i实例4核8G活动价格为3147.56元/1年起;本文为大家介绍4核8G配置的可选实例类型、技术特性、官方收费标准、典型适用场景及2026年最新活动价格,为不同需求的用户提供精准选购指南。
1402 2
|
5月前
|
人工智能 机器人 Java
黑马最新项目
AIGC项目涵盖大模型私有化部署、聊天机器人、RAG知识库及代码提示工具;天机AI集成SpringAI与多模型工作流;云岚到家聚焦微服务与分布式架构;四方保险构建统一支付与时序数据应用;星辰WMS与Dify项目即将发布。
365 0
黑马最新项目
|
5月前
|
人工智能 自然语言处理 API
全面认识MCP:大模型连接真实世界的“USB-C接口”
MCP(模型上下文协议)是Anthropic推出的开放标准,被誉为AI时代的“USB-C”。它统一了大模型与工具、数据源的连接方式,简化集成,提升安全与扩展性,推动AI智能体实现复杂任务自动化,正重塑全球AI应用生态。
890 0
|
5月前
|
人工智能 NoSQL 前端开发
面试真题
汇总多套AI与后端技术面试题,涵盖RAG、微服务、JVM、分布式锁、MySQL优化、大模型部署等核心技术点,深入考察候选人项目经验、系统设计能力及对AI工程化的理解。
291 0
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
大模型专业名词解释手册
本手册由油炸小波设计提示词、Manus创作,系统梳理大语言模型核心概念,涵盖基础原理、训练技术、优化压缩、推理应用、评估调试及伦理安全六大模块,深入浅出解析LLM关键技术术语。
618 0
|
3月前
|
存储 数据采集 人工智能
智能体来了:从 0 到 1 构建 RAG 检索增强系统
随着大模型在真实业务中的应用不断深入,单纯依赖模型参数内知识已难以满足需求。检索增强生成(RAG,Retrieval-Augmented Generation)成为连接大模型与外部知识的重要方式。 本文从 0 到 1 系统讲解 RAG 的核心原理、系统结构及落地步骤,帮助读者构建一个可用、可扩展的 RAG 检索增强系统,为智能体和企业级 AI 应用提供可靠基础。
783 1
|
5月前
|
存储 Java
超长String接收处理
Java中String变量最大长度为Integer.MAX_VALUE,但字符串字面量受class文件格式限制,最大65534。超过会编译错误,需通过StringBuilder分组处理长字符串。
227 0