返回 AI 应用工程 思维导图
中文·English
🤖 AI 应用工程ID: recursive-character-splitter

递归字符切块 (Recursive Splitter)

Recursive Character Splitter
🎯核心定义
递归字符切块 (Recursive Character Text Splitter) 是一种按照语义层级分隔符列表(如 `["\n\n", "\n", "。", " ", ""]`)递归向下尝试分割长文本的切分算法;它在优先保证切块大小不超过设定的最大 Token 数 (`chunk_size`) 的前提下,尽量在最高语义层级(如段落双换行 `\n\n`)处切断文本,并在相邻切块间保留一定重叠量 (`chunk_overlap`)。
💡使用场景
绝大多数通用文档 RAG 系统的默认基线分块策略,适用于纯文本、技术博客、Wiki 百科等常规语料。
解决的核心痛点
朴素等长字符截断会在句子中间硬生生截断单词或主谓宾结构,造成严重的语义截断破碎;递归切分保留了段落与句子的完整性,`chunk_overlap` 则防止核心知识点恰好落在切块边界而丢失跨句上下文。
🎯5 个高频面试考点 (Exam Points)
1
分析参数 `chunk_size` (如 256/512/1024) 与 `chunk_overlap` (如 10%~20%) 对向量嵌入语义密度与重复召回率的影响?
2
针对中英文混排文档,如何自定义分隔符列表以正确优先识别中文句末标点(如 `。!?`)与 Markdown 标题标记(如 `### `)?
3
为什么在计算切块长度时必须使用对应 Embedding 模型的 Tokenizer (如 cl100k_base / bge tokenizer) 而不是纯 Python `len()` 字符数?
4
重叠部分 (`chunk_overlap`) 过大时在 RAG 上下文中引起的 Context 膨胀与 LLM 注意力稀释问题如何调优?
5
代码文件(Python/JS)切分时,如何改用基于 AST (抽象语法树,如 LangChain CodeSplitter) 的类与函数级递归切分?
📖 关联深度指南:📄 naive-and-advanced-rag
更新于 2026-08-14
🎯
检验攻克程度:针对「递归字符切块 (Recursive Splitter)」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
上一个知识点文档版面分析与表格提取下一个知识点Sentence-Window 句窗口切分

🔗 更多 AI 应用工程 知识点卡片

向量距离度量与 L2 归一化SQ8/SQ4 标量量化PQ 乘积量化与码本聚类ADC 非对称距离计算