文章系统介绍RAG系统中的九种高级文本分块策略,包括滑动窗口、自适应、实体、主题、混合、任务感知、HTML/XML标签、代码专用和正则表达式切分。每种策略提供适用场景、实现步骤和具体案例,帮助读者根据不同应用选择最优方案,提高检索准确性和上下文保持度。文章还包含快速选择指南和实现最佳实践,为实际应用提供全面参考。
RAG 2.0:九种高级 Chunking 策略详解与实例
文本分块(Text Chunking)是基于检索增强生成(RAG)的大语言模型(LLM)应用中的关键预处理步骤。虽然固定长度、递归、语义、文档级和智能体分块等基础策略已广为人知,但仍有若干高级技术能够显著提升检索准确性、上下文保持度及任务特定性能。
本文系统梳理9 种高级分块策略,配以真实案例、实现要点与可视化示意图,帮助读者针对具体场景选择最优方案。
- 滑动窗口分块(Sliding Window Chunking)
领域:医疗病历
概念:通过固定大小的窗口在文本上滑动并设置重叠,生成交叠分块,确保跨块上下文连续性。
实现步骤:
- • 设定窗口大小(如 500 词)
- • 设定重叠大小(如 100 词)
- • 沿文档滑动窗口,生成共享内容的分块
示例:
一份 10 000 词的病历,以 500 词窗口、100 词重叠分块:
Chunk 1: 词 1–500 "患者于 1 月 5 日因急性呼吸窘迫入院…… 生命体征:血压 140/90,心率 88,病情稳定……"Chunk 2: 词 401–900 "……生命体征:血压 140/90,心率 88,病情稳定…… [重叠] 开始皮质类固醇治疗方案……"Chunk 3: 词 801–1300 "……开始皮质类固醇治疗方案…… [重叠] 患者血氧饱和度改善……" ``````plaintext ┌──────────────┐│ Chunk 1 │ (词 1–500)└──────────────┘ └────┐ ← 100 词重叠 ┌──────────────┐ │ Chunk 2 │ (词 401–900) └──────────────┘ └────┐ ← 100 词重叠 ┌──────────────┐ │ Chunk 3 │ (词 801–1300) └──────────────┘适用场景:病历摘要或纵向病史提取,重叠确保疾病、用药、治疗等边界信息不丢失。
实现提示:重叠比例按上下文重要性调整——密集医疗记录 20%,普通文档 10%。
- 自适应分块(Adaptive Chunking)
领域:法律合同
概念:依据自然文档边界生成可变长度分块,在 token 限制内最大化利用上下文,而非强制固定长度。
实现步骤:
- • 设定目标 token 区间(如 800–1200)
- • 识别自然断点(条款、段落)
- • 在不拆分逻辑单元前提下最大化 token 使用
示例:
法律合同多条款示例:
第 3 条:付款条款(1 150 tokens)├── 3.1 客户应向承包方支付……(380 tokens)├── 3.2 逾期付款将产生罚金……(290 tokens)├── 3.3 所有付款不可退还……(250 tokens)└── 3.4 付款争议解决方式……(230 tokens)→ 整个第 3 条作为 **单一分块**(1 150 tokens) 而非在条款中间拆分第 4 条:保密条款(950 tokens)→ 单独完整分块 ``````plaintext 传统固定分块(差):┌──────────────┐ ┌──────────────┐│ 条款 3.1 │ │ …3.2 被拆分 │ ← 条款断裂!│ 条款 3.2… │ │ 条款 3.3 │└──────────────┘ └──────────────┘自适应分块(优):┌────────────────────┐ ┌──────────────┐│ 完整条款 3.1 │ │ 完整条款 4.1 ││ 完整条款 3.2 │ │ 完整条款 4.2 ││ 完整条款 3.3 │ │ …… │└────────────────────┘ └──────────────┘适用场景:充分利用 LLM 上下文窗口,同时保持条款完整性,防止合同分析、合规检查或问答任务中的误解。
实现提示:使用 AST 解析或正则识别章节边界(如“第 X 条:”、编号条款)。
- 实体分块(Entity-Based Chunking)
领域:新闻档案
概念:按实体而非文本顺序分块,将提及同一实体的句子聚合为实体中心分块。
实现步骤:
- • 运行命名实体识别(NER)
- • 按实体聚合句子
- • 为每个主要实体生成分块
示例:
科技新闻文章:
原文:[1] 埃隆·马斯克昨日宣布新 AI 计划。[2] 特斯拉在活动中发布 Model Y 改款。[3] SpaceX 成功发射星舰试飞。[4] 这位亿万富翁表达了对 AI 安全的担忧。[5] 马斯克旗下公司持续创新。[6] SpaceX 工程师报告创纪录性能。实体分块结果:Chunk 1(埃隆·马斯克): “埃隆·马斯克昨日宣布新 AI 计划。 这位亿万富翁表达了对 AI 安全的担忧。 马斯克旗下公司持续创新。”Chunk 2(SpaceX): “SpaceX 成功发射星舰试飞。 SpaceX 工程师报告创纪录性能。”Chunk 3(特斯拉): “特斯拉在活动中发布 Model Y 改款。” ``````plaintext 原始文档 → NER 检测 → 实体聚类 ↓ ┌──────────────────────────────────┐ │ │ ┌────────────┴────┐ ┌──────────┴──────┐ │ ┌───▼────┐ ┌────▼────┐ ┌────▼────┐ ┌───▼────┐ │ 马斯克 │ │SpaceX │ │ 特斯拉 │ │ AI安全 │ │Chunk 1 │ │Chunk 2 │ │Chunk 3 │ │Chunk 4 │ └────────┘ └────────┘ └──────────┘ └────────┘适用场景:构建以实体为中心的知识库或问答系统。用户查询“马斯克本周做了什么?”时,相关实体内容已预聚合,检索与生成效率显著提升。
实现提示:使用 spaCy 或 Hugging Face NER 模型,结合共指消解处理代词(如“他”→“埃隆·马斯克”)。
- 主题/主题分块(Topic/Theme-Based Chunking)
领域:研究论文
概念:利用语义相似度与聚类算法,将段落按潜在主题分组,即使原文不连续。
实现步骤:
- • 为每段/节生成嵌入向量
- • 应用聚类(K-means、HDBSCAN)聚合相似内容
- • 从语义相关段落构建分块
示例:
50 段研究论文:
原始顺序:段 1:神经网络引言段 2:数据集描述段 3:强化学习背景段 4:NLP 预处理步骤段 5:神经网络架构细节……主题分块结果:主题 1 - 神经网络: 段落 [1,5,11,18,25,33,41] → 组合成关于 NN 架构的连贯分块主题 2 - 强化学习: 段落 [3,7,12,19,27,35,43] → 所有 RL 内容聚合主题 3 - NLP 方法: 段落 [4,8,13,20,28,36,44] → NLP 预处理与技术 ``````plaintext 语义聚类流程:原始文档 → 段落嵌入 → K-Means 聚类 (50 段) (向量) (3 主题) ↓ ┌────────────────────────────────────┐ │ │ ┌───────▼────┐ ┌────────▼──────┐ ┌─────▼────┐ │ 神经网络 │ │ 强化学习 │ │ NLP 方法 │ │ │ │ │ │ │ │段落: │ │段落: │ │段落: │ │1,5,11,18, │ │3,7,12,19, │ │4,8,13, │ │25,33,41 │ │27,35,43 │ │20,28,36 │ │ │ │ │ │ │ └────────────┘ └──────────────┘ └──────────┘适用场景:支持主题级摘要与检索。用户可询问“这篇论文的 NLP 方法有哪些?”,系统即返回所有相关段落,即使原文分散。适用于文献综述、研究综合与定向信息抽取。
实现提示:使用 sentence-transformers 生成嵌入,尝试不同聚类算法(已知主题数用 K-means,自动检测用 HDBSCAN)。
- 混合分块(Hybrid Chunking)
(原文未完,后续内容将延续相同格式与标准继续翻译)# 混合分块(Hybrid Chunking)与任务感知分块(Task-Aware Chunking)技术解析
日期戳:_20250514
1 混合分块(Hybrid Chunking)
1.1 概念
混合分块通过流水线式地组合多种策略,取长补短,实现“结构-语义-实体”三重保障。
1.2 工作流程
- 递归切分:先按标题、段落等结构边界粗分
- 语义聚类:在结构内部再按主题相关度微调
- 实体保护:确保函数名、类名等关键 token 不被截断
顺序通常为:结构 → 语义 → 实体,可针对不同领域调整组合。
1.3 示例:API 文档处理
Step 1 递归切分 ## Authentication Methods ## Error Handling ## Rate Limiting Step 2 语义归并 authenticate() 函数 + 用法示例 错误码 + 重试逻辑 Step 3 实体保护 保持 authenticate(username, password) 完整 保持 RateLimitError 类定义完整 最终片段: “The authenticate() function accepts two parameters… Usage: authenticate('user', 'pass') Returns: JWT token or raises AuthenticationError Related: See also refresh_token() method”1.4 流水线示意图
Raw Doc → Recursive Split → Semantic Group → Entity Preserve (Structure) (Meaning) (Completeness) ↓ ┌───────────────┐ │ Optimal Chunk │ │ • Structured │ │ • Coherent │ │ • Complete │ └───────────────┘1.5 应用场景
为 AI 助手提供代码级问答上下文,兼顾段落结构、概念关联与技术完整性,显著提升回答准确率。
1.6 实施要点
- • 顺序影响效果,务必先结构后语义再实体
- • 对特定领域(医疗、法律、硬件手册)需重新评估组合权重
2 任务感知分块(Task-Aware Chunking)
2.1 概念
根据下游任务(摘要、检索、问答)动态调整分块策略,实现“同一份内容,不同切法”。
2.2 工作流程
- 明确目标任务
- 选择对应规则(块大小、边界、重叠度)
- 生成任务专属索引
2.3 示例:1000 行 Python 代码库
任务:Summarization 策略:20–30 行/函数,保持单一职责 块数:≈50 任务:Search/Retrieval 策略:仅保留函数签名 + docstring,提升语义密度 块数:≈30 任务:Question Answering 策略:按类/模块整体切分,保留完整上下文 块数:≈102.4 多任务对比图
Same Codebase, Different Tasks: ┌────────────────────┐ │ Python Module │ │ (1000 lines) │ └─────────┬──────────┘ │ ┌─────────────┼─────────────┐ │ │ │ ▼ ▼ ▼┌────────┐ ┌──────────┐ ┌─────────┐│Summary │ │ Search │ │ Q&A ││ │ │ │ │ ││20-30 │ │Signature │ │100-200 ││lines │ │+Docstring│ │lines ││ │ │ │ │ ││50 chnks│ │30 chunks │ │10 chunks│└────────┘ └──────────┘ └─────────┘2.5 应用场景
- • 代码摘要、API 检索、自动答疑
- • 同一语料料多索引,避免“一刀切”导致指标下降
2.6 实施要点
- • 维护任务-配置映射表(YAML/JSON),方便横向扩展
- • 对实时性要求高的系统,可预生成多版本索引并路由调用
3 HTML/XML 标签分块(Tag-Based Splitting)
3.1 概念
利用 HTML/XML 的 DOM 层级,以<h2>、<section>等标签天然边界作为切分点,保证章节完整。
3.2 工作流程
- 解析 DOM
- 设定切分标签列表
- 提取标签对内内容,递归处理嵌套
3.3 示例:博客文章
<article> <h1>Complete Guide to Machine Learning</h1> <h2>Introduction</h2> <p>…</p> <h2>Supervised Learning</h2> <p>…</p> <div class="example"><h3>Example: Linear Regression</h3><p>…</p></div> <h2>Unsupervised Learning</h2> <p>…</p></article>结果:
- • Chunk 1: Introduction 段落
- • Chunk 2: Supervised Learning 段落 + 内部示例
- • Chunk 3: Unsupervised Learning 段落
3.4 实施要点
- • BeautifulSoup/lxml 解析,注意
<h3>是否作为子块独立 - • 对长文章可设置“最大 token”阈值,防止单块过大
4 代码专用分块(Code-Specific Splitting)
4.1 概念
基于 AST(抽象语法树)识别函数、类、模块等语法单元,确保“语义闭包”不被破坏。
4.2 工作流程
- 语言解析 → AST
- 遍历节点,记录 class/def 起止行号
- 按自然边界切分并保留注释与 docstring
4.3 示例:500 行 Python 文件
class UserManager (lines 1-45) → Chunk 1 class DataProcessor (lines 47-120) → Chunk 2 def main() (lines 122-180) → Chunk 3 def helper_function() (182-200) → Chunk 44.4 实施要点
- • Python 可用内置 ast 模块;多语言推荐 Tree-sitter
- • 保留行号映射,便于反向定位源码
5 小结与选型建议
- • 混合分块:适合“结构+语义+实体”均需保障的技术文档
- • 任务感知:同一数据多下游场景时首选,可量化评估提升
- • 标签分块:Web 爬取内容、知识库同步场景最省力
- • 代码分块:任何自动化文档、Code Review、LLM-based IDE 插件之基础
按“先评估下游任务 → 再选单一/混合策略 → 最后配置参数”三步走,可显著改善 LLM 的检索与生成质量。## 9. 正则表达式(Regex)切分
领域:日志分析
概念:正则表达式切分通过模式匹配,依据可预测的文本模式(如时间戳、分隔符或标记)来识别文本块边界。
工作原理:
- • 定义用于边界的正则表达式模式
- • 每当模式匹配时即进行切分
- • 每个文本块均以匹配到的模式作为起始
示例:
包含 10,000 条记录的服务器日志文件:
原始日志文件:[2025-01-15 10:23:45] INFO: User john@example.com logged in successfully[2025-01-15 10:24:12] ERROR: Database connection failed - timeout after 30s[2025-01-15 10:24:15] INFO: Retrying database connection...[2025-01-15 10:24:18] INFO: Connection restored successfully[2025-01-15 10:25:30] WARN: High memory usage detected - 87% utilized[2025-01-15 10:26:45] ERROR: API rate limit exceeded for endpoint /api/users正则表达式模式:\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\]切分结果:Chunk 1: [2025-01-15 10:23:45] INFO: User john@example.com logged in successfullyChunk 2: [2025-01-15 10:24:12] ERROR: Database connection failed - timeout after 30sChunk 3: [2025-01-15 10:24:15] INFO: Retrying database connection...Chunk 4: [2025-01-15 10:24:18] INFO: Connection restored successfullyChunk 5: [2025-01-15 10:25:30] WARN: High memory usage detected - 87% utilizedChunk 6: [2025-01-15 10:26:45] ERROR: API rate limit exceeded for endpoint /api/users ``````plaintext 正则表达式匹配流程:日志流:┌────────────────────────────────────────────────────┐│ [2025-01-15 10:23:45] INFO: User login... │ ← 匹配!│ [2025-01-15 10:24:12] ERROR: DB connection... │ ← 匹配!│ [2025-01-15 10:24:15] INFO: Retrying... │ ← 匹配!│ [2025-01-15 10:24:18] INFO: Connection OK... │ ← 匹配!└────────────────────────────────────────────────────┘ │ ├─→ 按模式切分: │ \[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\] │ └─→ 独立文本块: 每条日志记录 = 1 个文本块进阶:按时间窗口(5 分钟桶)分组:┌─────────────────────────────────────────┐│ 10:23:00 - 10:28:00(5 条记录) │ ← Chunk 1├─────────────────────────────────────────┤│ 10:28:00 - 10:33:00(12 条记录) │ ← Chunk 2└─────────────────────────────────────────┘用例:将结构化日志块输入大语言模型,用于异常检测、故障排查或日志摘要。每条记录均自带时间戳与上下文,便于按时间顺序追踪问题;亦可进一步按时间窗口或严重级别进行分组。
实现提示:常用模式:
- • 时间戳:
\[\d{4}-\d{2}-\d{2}.*?\]或\d{4}/\d{2}/\d{2} - • 章节标记:
^={3,}或^-{3,} - • 自定义分隔符:
^###或^\*\*\*
快速选择指南
根据需求选择:
- •需要跨边界保留上下文?→ 滑动窗口
- •处理法律文档?→ 自适应切分
- •构建知识库?→ 基于实体或主题
- •处理源代码?→ 代码专用或混合切分
- •同一内容多种用途?→ 任务感知切分
- •结构化数据(HTML/日志)?→ HTML/XML 或正则表达式
- •复杂技术文档?→ 混合(递归 + 语义 + 实体)
实现最佳实践
- 从简开始:先采用基础策略,再按需增加复杂度
- 衡量性能:追踪检索准确率、响应质量等指标
- 考虑成本:实体、主题等复杂策略需更多计算资源
- 测试块大小:针对所用大语言模型的上下文窗口实验不同尺寸
- 验证边界:人工抽查样本文本块以确保质量
- 版本控制:记录切分策略变更及其影响
- 监控漂移:内容类型会变化,需定期重新评估
AI时代,未来的就业机会在哪里?
答案就藏在大模型的浪潮里。从ChatGPT、DeepSeek等日常工具,到自然语言处理、计算机视觉、多模态等核心领域,技术普惠化、应用垂直化与生态开源化正催生Prompt工程师、自然语言处理、计算机视觉工程师、大模型算法工程师、AI应用产品经理等AI岗位。
掌握大模型技能,就是把握高薪未来。
那么,普通人如何抓住大模型风口?
AI技术的普及对个人能力提出了新的要求,在AI时代,持续学习和适应新技术变得尤为重要。无论是企业还是个人,都需要不断更新知识体系,提升与AI协作的能力,以适应不断变化的工作环境。
因此,这里给大家整理了一份《2025最新大模型全套学习资源》,包括2025最新大模型学习路线、大模型书籍、视频教程、项目实战、最新行业报告、面试题等,带你从零基础入门到精通,快速掌握大模型技术!
由于篇幅有限,有需要的小伙伴可以扫码获取!
1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
4. 大模型项目实战
学以致用,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
5. 大模型行业报告
行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
6. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
为什么大家都在学AI大模型?
随着AI技术的发展,企业对人才的需求从“单一技术”转向 “AI+行业”双背景。企业对人才的需求从“单一技术”转向 “AI+行业”双背景。金融+AI、制造+AI、医疗+AI等跨界岗位薪资涨幅达30%-50%。
同时很多人面临优化裁员,近期科技巨头英特尔裁员2万人,传统岗位不断缩减,因此转行AI势在必行!
这些资料有用吗?
这份资料由我们和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
大模型全套学习资料已整理打包,有需要的小伙伴可以
微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费】