RAG 分块预览器
固定长度 / 递归 / Markdown 三种切分策略实时预览,chunk size 与 overlap 调参,token 估算与 JSONL 导出
在线 RAG 分块预览工具:搭 RAG 知识库前,先把「文档 → 分块(chunk)」策略调对再上线。粘贴文档后选择 fixed / recursive / markdown 切分策略, 实时查看每一块的字符数、token 估算、所在行号范围与相邻块重叠情况,并一键导出 JSONL 直接用于向量化入库。全部分析在浏览器本地完成,不上传任何数据。
分块参数
范围 100-2000,默认 500。社区常用口径为 256-512 token,中文约对应 250-500 字。
默认 50,上限 chunk size 的一半(250),建议取块长的 10%-20%。
递归:按「段落 → 句子 → 空格 → 字符」分隔符优先级聚合出尽量接近 chunk size 的块,块仍超长则降级下一级分隔符再切,overlap>0 时相邻块共享上一块尾部。LangChain 默认策略的简化对齐。
操作
参数变更会自动重算(防抖 300ms);JSONL 每行为 {"index","text","tokens"},可直接用于 Embedding 批量入库。
输入文档
0 字符 · ≈0 tokens
分块结果
当前策略:递归切分 · 块内高亮 = 与上一块的重叠部分
总块数
0
总 tokens
0
平均块长
0字符
最大块
0字符
最小块
0字符
平均重叠
0字符
暂无分块结果:在上方输入文档(或载入示例文档),选择策略后自动分块
#RAG 分块预览器是什么?
RAG 分块预览器是一款面向 RAG(检索增强生成)知识库建设者的在线调参工具。把文档粘贴进来,选择固定长度(fixed)、递归(recursive)或 Markdown 标题(markdown)三种切分策略, 实时看到每个 chunk 的字符数、token 估算、在原文中的行号范围,以及相邻块之间的重叠内容(浅蓝高亮);调整 chunk size 与 overlap 后结果自动重算, 调好后一键导出 JSONL,直接交给 Embedding 模型向量化入库。所有计算都在浏览器本地完成,适合在批量入库前快速验证分块边界是否合理。
RAG 里的 chunk 是什么?
chunk(块)是 RAG 知识库检索的最小单位:长文档不会整篇送入向量数据库,而是先被切成若干段文本,每段单独计算 Embedding 向量。 用户提问时,系统把问题也向量化,召回与问题最相似的 Top-K 个 chunk,拼进 Prompt 交给大模型生成回答。chunk 切得太碎,单块信息量不足、语义不完整; 切得太大,关键信息被稀释、检索命中率下降还会浪费 token。分块质量直接决定 RAG 检索质量的上限。
chunk size 和 overlap 怎么选?
社区的主流共识口径:chunk size 取 256-512 token,overlap 取 chunk size 的 10%-20%。中文按「1 字 ≈ 1 token」估算,256-512 token 大约对应 250-500 个汉字。 事实型问答(FAQ、手册)可偏向较小块(256 token 左右)提高命中精度;长上下文推理、技术文档可偏向较大块(512 token)保留更多语境。 overlap 保证跨块边界的句子不会完全丢失语义,过小容易切断上下文,过大则大量重复内容浪费存储与 token,一般 10%-20% 是性价比最高的区间。
三种切分策略怎么选?
- 固定长度(fixed):按 chunk size 硬切,实现最简单、块长完全可控,适合格式统一的纯文本、日志等;缺点是常把句子从中间切断。
- 递归(recursive):按「段落 → 句子 → 空格 → 字符」分隔符优先级逐级降级,尽量在语义边界收尾,是 LangChain 等框架的默认策略,中英文文档的首选。
- Markdown(markdown):先按标题层级把文档切成大段(天然语义边界),超长段内再递归切分,最适合带标题结构的 Markdown 文档、Wiki、技术手册。
固定长度切分 vs 语义切分
固定长度切分只看字符数,优点是可预期、向量长度分布均匀,缺点是无视语义,可能把一句话、一个论点切成两半。语义切分(本页的 recursive / markdown 属于简化版) 依据换行、句号、标题等自然边界下刀,块更接近完整语义单元,检索命中率通常更高,代价是块长不均、实现稍复杂。实践中的折中做法:用语义边界切分, 同时保留 chunk size 上限与 overlap 兜底——这正是递归策略的工作方式。
本工具的数据会上传吗?
不会。分块、token 估算、JSONL 导出全部在你的浏览器内存中完成,不发送任何网络请求,刷新页面后数据即清空,可以放心粘贴内部文档调试分块策略。
#常见问题 (FAQ)
RAG 分块预览器是做什么用的?
在把文档批量向量化入库前,用它预览「文档 → chunk」的实际切分效果:检查块是否在句子中间被切断、行号范围是否合理、重叠是否覆盖边界语义,调好参数再导出 JSONL 入库,避免上百万文档分完块才发现质量不行。
chunk size 和 overlap 推荐设多少?
社区共识口径:chunk size 取 256-512 token,overlap 取块长的 10%-20%。本页按「中文 1 字 ≈ 1 token、英文约 4 字符 ≈ 1 token」估算,中文场景可先把 chunk size 设在 300-500 字、overlap 设 50 字附近,再用评测集微调。
三种切分策略该选哪一个?
Markdown 文档选 markdown(按标题切大段);普通中英文文档选 recursive(按段落、句子边界聚合,LangChain 默认思路);格式统一的纯文本或想严格控制块长时选 fixed。拿不准就三种都跑一遍,对比块边界与 token 分布。
粘贴的文档会被上传吗?
不会。所有分块与统计都在浏览器本地内存中计算,无任何网络请求;导出的 JSONL 也只是本地文件下载,刷新页面后输入内容自动清空。
相关工具推荐
Spine动画编辑器
专业的Spine动画预览和编辑工具,支持多引擎导出
SQL查询优化器
分析SQL查询并提供优化建议
JVM启动参数配置
可视化配置Java虚拟机启动参数,支持内存、GC、性能等选项
代码片段转换
不同编程语言间代码片段转换(如Python↔JavaScript)
IP地址查询
查询IP地址的地理位置、运营商、ASN等信息,支持IPv4和IPv6
JSON转TypeScript接口
根据JSON数据自动生成TypeScript类型定义