Chunking的目标不是“平均分字数”,而是让每个块都在语义上自洽、可被独立检索,且能回到原文定位,以支撑 RAG 的“召回→重排→引用”。因此原则是:
- 结构优先:跟着文档自身的层级与版式(标题/条款/列表/表格/图注)切,比按字数硬切更稳定。
- 对象分离:表格、图像(图注+解释文本)单独成块,因为它们和正文的检索意图不同。
- 长度适中:块太短语义碎片化;太长会稀释向量表达并超 token。中文 250–400 字是经验甜点区(英文 500–800 tokens)。
- 可追溯:每个块都要带
doc_id、page_no、bbox/figure_id/table_id、section_path
等 citation。 - 可聚合:问答时可将同条款的相邻块合并送入 LLM,提升完整性。
- 去重归一:版本/重复章节做 canonical 归并,避免“一问多答、答案冲突”。
- 术语归一:同义词词典用于索引与查询扩展,降低“叫法不同找不到”的风险。