RAG系统效果提升秘诀:15种数据分块策略详解,程序员必备指南
本文详细介绍了15种RAG数据分块策略,包括逐行分块、定长分块、滑动窗口分块等。每种策略均配有原理、适用场景、示例和优缺点分析。文章强调不存在适用于所有数据的"万能分块策略",应根据文档格式和使用场景选择合适的分块方法,并建议用真实数据测试,避免模型输出出现幻觉。
前排提示,文末有大模型AGI-CSDN独家资料包哦!
检索增强生成(Retrieval-Augmented Generation,简称RAG)的效果在很大程度上取决于我们对数据的分块方式。若想让大语言模型(LLM)检索到真正有意义的上下文,就必须精心设计数据分块策略。
以下是15种核心的分块策略,每种策略均配有详细解析、真实案例和可落地的分块方案。
- 逐行分块法(Line-by-Line Chunking)
原理
以每一行作为分块边界,每行独立成为一个分块
适用场景
- 聊天记录、文字转录稿等每行代表一个完整想法的数据
- 典型用途:客服聊天记录、访谈问答、即时通讯内容
示例输入
Alice: Hey Bob, are you free for a call at 3 PM today?
Bob: Sure, Alice. Do you want to discuss the project updates?
Alice: Yes, and we need to talk about the client meeting.
Bob: Sounds good! See you at 3.
分块输出
分块1: Alice: Hey Bob, are you free for a call at 3 PM today?
分块2: Bob: Sure, Alice. Do you want to discuss the project updates?
分块3: Alice: Yes, and we need to talk about the client meeting.
分块4: Bob: Sounds good! See you at 3.
优势与注意事项
- 每条信息都是独立的上下文,逻辑清晰。
- 支持精细化检索——LLM可精准获取对应的问答对。
- 提升:若单行内容过短,LLM可能因上下文不足而产生幻觉(输出虚假信息)。
- 定长分块法(Fixed-Size Chunking)
原理
将文本按固定的字数或字符数拆分,不考虑内容的语义逻辑。
适用场景
- 结构混乱的非结构化文本。
- 典型用途:OCR识别结果、网页爬取的原始文本、老旧扫描文档。
示例输入
Python is a high-level, interpreted programming language. Its simple syntax and dynamic typing make it popular for rapid application development and scripting. Python supports multiple programming paradigms, including structured, object-oriented, and functional programming. It is widely used for web development, data analysis, AI, scientific computing, and more.
假设固定大小 = 20个单词/字
分块输出
分块1: Python is a high-level, interpreted programming language. Its simple syntax and dynamic typing make it popular for rapid application development分块2: and scripting. Python supports multiple programming paradigms, including structured, object-oriented, and functional programming. It is widely used分块3: for web development, data analysis, AI, scientific computing, and more.
优势与注意事项
- 确保分块大小统一,便于批量处理。
- 可能割裂完整句子或语义单元,影响LLM对内容的理解。
- 提示:仅适用于无结构文本,且需根据LLM的token限制调整分块大小。
- 滑动窗口分块法(Sliding Window Chunking)
原理
通过设定固定字数/token重叠区域来拆分文本,以保留上下文连贯性。
适用场景
- 语义逻辑跨文本边界的内容(如长句、连续论述)。
- 典型用途:叙事类文本、法律文件、技术文档。
示例输入
Machine learning models require large datasets for training. The quality and quantity of data significantly affect model performance. Data preprocessing involves cleaning and transforming raw data into usable input.Machine learning models require large datasets for training. The quality and quantity of data significantly affect model performance. Data preprocessing involves cleaning and transforming raw data into usable input.
假设窗口大小 = 15词,重叠 = 5词
分块输出
分块1: Machine learning models require large datasets for training. The quality and quantity of data分块2: quantity of data significantly affect model performance. Data preprocessing involves cleaning and transforming分块3: transforming raw data into usable input.
优势与注意事项
- 保持内容连贯性,避免检索时丢失边界处的上下文信息。
- 分块间存在重叠,会产生一定冗余(增加存储成本,但为保留上下文值得投入)。
- 句子分块法(Sentence-Based Chunking)
原理
以句子为单位拆分,每个句子独立成为一个分块。
适用场景
- 格式规范、结构清晰的书面文本。
- 典型用途:文章、技术文档、教科书。
示例输入
Deep learning has transformed many fields of technology. Neural networks can now outperform humans in image recognition. Training these models requires substantial computational resources.
分块输出
分块1: Deep learning has transformed many fields of technology.分块2: Neural networks can now outperform humans in image recognition.分块3: Training these models requires substantial computational resources.
优势与注意事项
- 每个分块聚焦一个核心观点,语义明确。
- 便于LLM重新组合上下文信息。
- 风险:部分句子可能过短或上下文不足,此时可将2-3个句子合并为一个分块。
- 段落分块法(Paragraph Chunking)
原理
以段落为单位拆分,每个段落独立成为一个分块。
适用场景
- 格式规范的文档、博客文章、散文。
- 每个段落围绕单一主题或观点展开的文本。
示例输入
Data science combines domain expertise, programming skills, and knowledge of mathematics and statistics to extract meaningful insights from data.It's an interdisciplinary field that uses techniques from computer science, statistics, machine learning, and data visualization to solve complex problems.Data scientists work with large datasets to identify trends, make predictions, and drive strategic decisions.
分块输出
分块1: Data science combines domain expertise, programming skills, and knowledge of mathematics and statistics to extract meaningful insights from data.分块2: It's an interdisciplinary field that uses techniques from computer science, statistics, machine learning, and data visualization to solve complex problems.分块3: Data scientists work with large datasets to identify trends, make predictions, and drive strategic decisions.
优势
- 保持逻辑连贯与上下文衔接
- 适合检索“完整思想单元”(如段落级别的观点阐述)
- 页面分块法(Page-Based Chunking)
原理
以分页文档的“页”为单位拆分,每一页独立成为一个分块。
适用场景
- PDF文件、书籍、扫描文档、法律合同。
- 需要按页码引用内容的场景。
示例输入
第1页:
第1节:RAG简介检索增强生成(RAG)系统将大语言模型(LLM)与信息检索技术相结合。RAG能提升事实准确性,并扩展模型的知识范围,突破训练数据的限制。
第2页:
第2节:RAG架构RAG的核心组件包括检索器(用于获取相关文档)和生成器(基于检索到的上下文合成答案)。
分块输出
分块1(第1页):第1节:RAG简介检索增强生成(RAG)系统将大语言模型(LLM)与信息检索技术相结合。RAG能提升事实准确性,并扩展模型的知识范围,突破训练数据的限制。分块2(第2页):第2节:RAG架构RAG的核心组件包括检索器(用于获取相关文档)和生成器(基于检索到的上下文合成答案)。
优势
- 当页面结构具有重要意义时(如法律证据、合同条款、教科书引用),此方法必不可少。
- 基于章节或标题的分块(Section or Heading-Based Chunking)
原理
以标题/章节为边界拆分(如H1/H2层级标题,或“## 章节标题”格式),每个章节独立成为一个分块。
适用场景
- 具有清晰逻辑章节结构的文档。
- 典型用途:技术文档、书籍、白皮书。
示例输入
# 引言检索增强生成(RAG)允许语言模型利用外部信息提升答案质量。# RAG的工作原理RAG首先检索相关文档,然后结合用户查询和上下文生成响应。# RAG的优势RAG能提升事实准确性,并支持使用私有或实时更新的数据。
分块输出
分块1:# 引言检索增强生成(RAG)允许语言模型利用外部信息提升答案质量。分块2:# RAG的工作原理RAG首先检索相关文档,然后结合用户查询和上下文生成响应。分块3:# RAG的优势RAG能提升事实准确性,并支持使用私有或实时更新的数据。
优势
- 分块与文本的自然主题边界完全匹配,提升检索准确性。
- 用户检索时可获取完整的主题/章节内容。
- 基于关键词的分块(Keyword-Based Chunking)
原理
以特定关键词(如“步骤”“诊断”“备注”)为触发点拆分文本。
适用场景
- 表单、日志、包含重复关键词的技术说明。
- 典型用途:医疗记录、分步指南。
示例输入
诊断:急性支气管炎。症状:持续咳嗽、轻微发热、胸部不适。处方:阿莫西林500毫克,每日三次,连续服用7天。备注:建议患者休息并补充水分。
关键词:“备注:”
分块输出
分块1:诊断:急性支气管炎。症状:持续咳嗽、轻微发热、胸部不适。处方:阿莫西林500毫克,每日三次,连续服用7天。分块2:备注:建议患者休息并补充水分。
优势
- 将相关信息聚合(如“备注:”之前的内容均为医疗核心信息)。
- 完美适配结构化记录的分块需求。
- 基于实体的分块(Entity-Based Chunking)
原理
利用命名实体识别(Named Entity Recognition,简称NER)技术,将包含同一实体(如人物、组织、产品)的句子/段落归为一个分块。
适用场景
- 新闻、法律文档、产品评论(需重点关注实体相关信息的场景)。
示例输入
苹果公司在年度活动上发布了新款iPhone。库克展示了多项新功能,重点包括相机升级和续航提升。与此同时,三星据传将于下月推出一款竞争产品。
NER识别出的实体:“苹果公司”“库克”“三星”
分块输出
分块1:苹果公司在年度活动上发布了新款iPhone。库克展示了多项新功能,重点包括相机升级和续航提升。分块2:与此同时,三星据传将于下月推出一款竞争产品。
优势
- 支持“基于实体的检索”——例如,若用户提问“苹果公司发布了什么?”,LLM可直接调取所有包含“苹果公司”的分块。
- 基于Token的分块(Token-Based Chunking)
原理
按Token数量(LLM的处理单元,非单纯单词)拆分文本。
适用场景
- LLM上下文窗口有限的情况(如上下文长度限制为1024、2048个Token)。
示例输入
The rapid growth of generative AI has created a surge in applications for chatbots, document summarization, and data extraction. As models get larger, they require more memory and computation, but also open up new possibilities for automation across industries. Organizations are exploring hybrid systems that combine classic algorithms with large language models for improved performance and cost efficiency.
假设每个分块 = 25个Token(模拟说明:约10个单词对应10个Token,此处为避免拆分句子,按句子边界调整分块)
分块输出
分块1: The rapid growth of generative AI has created a surge in applications for chatbots, document summarization, and data extraction.分块2: As models get larger, they require more memory and computation, but also open up new possibilities for automation across industries.分块3: Organizations are exploring hybrid systems that combine classic algorithms with large language models for improved performance and cost efficiency.
优势
- 精准控制模型输入大小,避免因Token超限导致的截断错误。
- 适用于API驱动的应用场景(多数LLM API有明确的Token限制)。
- 表格分块(Table Chunking)
原理
将每个表格单独提取为一个分块(可选择按行拆分或保留完整表格)。
适用场景
- 包含表格的文档,如发票、财务报告、学术论文。
示例输入
表1:季度收入| 季度 | 收入(美元) ||--------|--------------|| 2024年Q1 | 100万美元 || 2024年Q2 | 120万美元 |该公司实现了稳定增长,Q2季度增长尤为明显。
分块输出
分块1:表1:季度收入| 季度 | 收入(美元) ||--------|--------------|| 2024年Q1 | 100万美元 || 2024年Q2 | 120万美元 |分块2:该公司实现了稳定增长,Q2季度增长尤为明显。
优势
- 表格可作为结构化数据单独处理,便于后续解析。
- 检索时可精准响应特定问题,例如“2024年Q2的收入是多少?”(直接调取表格分块)。
- 递归分块(Recursive Chunking)
原理
从大粒度(如段落或章节)开始拆分,若分块超出预设大小,则进一步按更小粒度(如句子、单词)拆分,直至所有分块符合大小要求。
适用场景
- 冗长且结构松散的文本,如转录稿、访谈记录、段落长度不均的文档。
示例输入
访谈转录稿:最开始,我们主要关注用户体验。我们做了多次调研、收集反馈,并快速迭代优化。后来,随着产品成熟,我们开始解决可扩展性和基础设施问题。这个阶段难度更大,因为我们需要在扩展的同时保证系统可用性。
假设分块大小上限 = 20个字
分块步骤
- 第一步:按段落拆分
- 段落1:“最开始,我们主要关注用户体验。我们做了多次调研、收集反馈,并快速迭代优化。”
- 段落2:“后来,随着产品成熟,我们开始解决可扩展性和基础设施问题。这个阶段难度更大,因为我们需要在扩展的同时保证系统可用性。”
- 第二步:段落仍超出大小限制 → 按句子拆分
分块输出
分块1:最开始,我们主要关注用户体验。分块2:我们做了多次调研、收集反馈,并快速迭代优化。分块3:后来,随着产品成熟,我们开始解决可扩展性和基础设施问题。分块4:这个阶段难度更大,因为我们需要在扩展的同时保证系统可用性。
优势
- 确保所有分块均符合系统的大小限制,避免超限问题。
- 语义分块(Semantic Chunking)
原理
利用嵌入(embedding)技术或AI模型,将讨论同一主题的句子/段落归为一个分块。
适用场景
- 包含多个主题的混合数据,如客服工单、问答文档、常见问题(FAQ)。
示例输入
问:如何重置密码?答:进入登录页面,点击“忘记密码”即可。问:如何修改邮箱地址?答:访问个人资料设置,输入新邮箱即可。问:退款政策是什么?答:购买后30天内可申请退款。
假设语义模型识别出“账户管理”和“支付相关”两个主题。
分块输出
分块1:问:如何重置密码?答:进入登录页面,点击“忘记密码”即可。问:如何修改邮箱地址?答:访问个人资料设置,输入新邮箱即可。分块2:问:退款政策是什么?答:购买后30天内可申请退款。
优势
- 支持“基于用户意图的检索”,可获取所有相关答案。
- 减少检索时的上下文缺失和幻觉问题。
14. 层级分块(Hierarchical Chunking)
原理:多级分块,先按章节拆分,再按小节拆分,之后按段落拆分,以此类推。
适用场景:
- 篇幅较长且结构完整的文本(如书籍、技术文档、法律法规)。
示例输入:
第1章:引言 1.1节:什么是RAG? 检索增强生成(Retrieval-Augmented Generation,简称RAG)将大语言模型(LLMs)与外部数据源相结合,以提供最新的答案。1.2节:为何使用RAG? RAG能扩展模型能力、提升事实准确性,并支持处理私有或动态信息。
分块输出:
分块1:第1章:引言分块2:1.1节:什么是RAG? 检索增强生成(Retrieval-Augmented Generation,简称RAG)将大语言模型(LLMs)与外部数据源相结合,以提供最新的答案。分块3:1.2节:为何使用RAG? RAG能扩展模型能力、提升事实准确性,并支持处理私有或动态信息。
优势:
- 可让RAG系统灵活检索不同粒度的信息,既支持获取宽泛的(章节级)内容,也能精准调取详细的(小节级)信息。
15. 内容类型感知分块(Content-Type Aware Chunking)
原理:针对表格、列表、图片和纯文本等不同内容类型,采用差异化的分块策略。
适用场景:
- 包含混合内容的文档(如PDF文件、研究论文、报告)。
示例输入:
摘要: 本研究探讨了适用于RAG流程的分块策略。结果表明,分块方法会对答案质量产生影响。表1:测试结果| 分块方法 | 准确率 ||----------------|--------------------|| 基于句子(Sentence-based) | 85% || 滑动窗口(Sliding window) | 90% |图1:流程示意图
分块输出:
分块1:摘要: 本研究探讨了适用于RAG流程的分块策略。结果表明,分块方法会对答案质量产生影响。分块2:表1:测试结果| 分块方法 | 准确率 ||----------------|--------------------|| 基于句子(Sentence-based) | 85% || 滑动窗口(Sliding window) | 90% |分块3:图1:流程示意图
优势:
- 确保检索时不会混淆表格、文本和图片等不同类型的内容。
- 支持针对性检索,例如可精准响应“显示结果表格”或“调取摘要”等需求。
总结
- 不存在适用于所有数据的“万能分块策略”
- 根据文档格式、使用场景和用户提问方式选择分块方法
- 用真实数据测试,务必检查大模型输出是否存在上下文偏移和幻觉
读者福利:倘若大家对大模型感兴趣,那么这套大模型学习资料一定对你有用。
针对0基础小白:
如果你是零基础小白,快速入门大模型是可行的。
大模型学习流程较短,学习内容全面,需要理论与实践结合
学习计划和方向能根据资料进行归纳总结
包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓


👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

👉大模型视频和PDF合集👈
这里我们能提供零基础学习书籍和视频。作为最快捷也是最有效的方式之一,跟着老师的思路,由浅入深,从理论到实操,其实大模型并不难。

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
更多推荐


所有评论(0)