分块模式决定切分位置:按句子优先在句号、问号、感叹号处断开,句子超长时才硬切;按段落优先在空行处断开;硬切则完全按字符数机械切分。
-
块数
-
总字符数
-
平均块长
-
最长块
分块结果将显示在这里
按句子模式:先以句号、问号、感叹号、分号与换行切出句子,再把句子依次装入不超过上限的块;单个句子超过上限时按字符数硬切。按段落模式:先以空行切出段落,段落超长再按句子细切。硬切模式:直接以每块最大字符数等分。表格中的块长与原文总字符数一致(不含块间分隔符)。
为什么需要给文本分块
很多场景对单条文本长度有硬性限制:短信 70 个字符、微博 140 字、部分接口单次 500 字、字幕单行不超过 20 字。手工分段既慢又容易把句子切断,读起来前言不搭后语。自动分块要解决的核心问题是——尽量在自然边界处断开。
三种模式的适用场景
- 按句子:最通用。适合短信分条、通知推送、客服话术拆分,保证每块是一句或几句完整的话。
- 按段落:适合长文拆分、公众号排版、文档切片,保持段落完整性优先于长度均匀。
- 硬切:适合机器处理场景,例如把 Base64 字符串、哈希值、代码按固定长度切开做展示,不关心语义。
分块长度怎么定
取决于下游限制。中文短信按 70 字符一条计费,考虑签名与链接占位后通常每块控制在 60 字左右;微博建议每块 130 字以内留出话题标签空间;做 RAG 文档切片时,经验值是 300 到 800 字符,重叠 10% 到 20% 以保护跨块语义(重叠需另用分块重叠估算工具计算)。
常见问题
为什么分的块长度不均匀
因为优先保证了句子完整。如果严格等长切分,最后一块可能只剩一个标点符号。想要长度更均匀,可以把每块上限调小,或者先按句子切分、再用装箱算法均衡——但那样实现复杂,收益有限。实际使用中,块长在 70% 到 100% 上限之间浮动是正常的。
换行符会被保留吗
按句子模式会把换行视为句子边界,因此原始换行不会逐字保留,而是作为切分依据。按段落模式会保留段落之间的空行。如果需要原样保留所有换行,请使用硬切模式,并注意硬切不会考虑语义边界。
你可能还想问
分块大小怎么定?
常见 300-1000 字符一段,需与嵌入模型和检索方式匹配:块太小语义不完整,太大则检索命中精度下降;建议保留 10%-20% 重叠避免切断语义。
按什么粒度切更好?
优先按语义边界切:段落、标题层级、句子结束符;硬按固定字数切会把一句话劈成两半,检索时两个半句都难被匹配。
重叠部分有什么用?
缓解切分导致的上下文断裂:跨块的问答能在至少一个块里完整出现;代价是存储与嵌入成本增加,按数据特点折中设置。
速查在线工具箱