先看结论
- 切片的唯一目标是:每一块单独拿出来,人和模型都能读懂,并且知道它出自哪里。
- 块大小、重叠、边界、元数据是四个通用参数;边界(按段落/章节切)比块大小更重要。
- 四类文档四套切法:FAQ 一问一答一块;长文档按章节带标题路径;表格按行结构化;合同先 OCR 再按条款切。
- 块里必须带元数据:文件、章节路径、页码、生效日期、版本状态。没有出处,答案就不能用。
- 调参顺序:先修数据 → 再改切片 → 再调检索 → 最后才动模型。反过来就是花两周换工具、问题一个没少。
说明
文中参数是社区常见的起步值,不是标准答案——块大小以 token 还是字符计、各工具默认值都不同,请以你所用工具的文档为准。本文给的是「怎么想、按什么顺序调、拿什么验收」。
先定三个问题,再调参数
切片参数不是玄学,它只服务三个目标。先回答这三问,参数范围就定了。
- 切给谁看:模型最终要拿这块内容回答什么问题?答案需要多少上下文才成立?
- 召回什么:用户会怎么问?问的是某个条款、整段流程,还是一张表里的某个数?
- 怎么验证:用什么问题集判断「改好了」?没有验收集,调参就是凭感觉。
四个通用参数
| 参数 | 作用 | 起步值(经验值) | 怎么调 |
|---|---|---|---|
| 块大小 | 决定一块装多少信息 | 中文 300–800 字/块;FAQ 100–300 字 | 答案常被切断 → 调大;召回太杂 → 调小 |
| 重叠(overlap) | 给相邻块补上下文 | 块大小的 10%–20% | 句子跨块断裂 → 调大;重复内容多 → 调小 |
| 边界 | 在哪切断 | 段落 / 标题 / 条款 / 表格行 | 比块大小重要;优先按语义边界,不按字符数硬切 |
| 元数据 | 每块的身份证 | 文件、章节路径、页码、日期、状态 | 没有出处 → 必加;有版本 → 必带状态 |
每块都该带的元数据
元数据不是锦上添花,它决定了答案能不能被信任、能不能过滤。最小集合如下:
{
"source": "差旅报销制度.docx",
"section_path": "第三章 住宿标准 / 3.2 一线城市",
"page": 12,
"effective_date": "2026-07-01",
"status": "active",
"version": "v3"
}- status 用来过滤:只让 active 进检索,archived 降权或移出。
- section_path 用来溯源:回答时能点回「哪份文件的第几章」。
- effective_date 用来判断时效:涉及价格、政策的问答尤其重要。
类型一:FAQ(最好切的一类)
原则:一问一答一块。问题进块、答案进块,答案必须自包含——不依赖上一块的上下文。
- 起步参数:每块 100–300 字,不重叠;按问答对切,不按字符切。
- 必带元数据:所属产品/模块、适用版本、更新时间。
- 调法:同一问题的多种问法合并成一条,别让五个相似问法各占一块。
- 验收问题:随便抽 10 条,遮住问题只看答案,能不能知道这在回答什么?
FAQ 最大的坑
把一整页 FAQ 切成三段:每个答案都被切断,检索到也只能答半句。宁可一块装一个问答,也别按固定字数硬切。
类型二:长文档(制度 / 手册 / 规范)
原则:按章节/条款切,每块带标题路径。长文档的问题从来不是「切多细」,而是「丢了层级」。一块只有正文、没有章节名,模型就不知道它的适用范围。
- 起步参数:每块 300–800 字,重叠 10%–15%;在标题处强制断开。
- 必带元数据:章节号 + 章节标题 + 文件名 + 生效日期。
- 调法:章节太长(超过 1000 字)再按小节拆;拆完每块都要能独立读懂。
- 验收问题:问一个「只在某一章出现」的细节,看能不能召回对应章节。
类型三:表格 / 报价单(最容易翻车的一类)
整张表塞进一个块,是最常见的死法:一张 50 行的报价表变成 2000 字,模型要在里面找一行,准确率必然低。
正确做法:按行结构化。每行一条记录,表头进每块。
【产品A|一线城市|标准档】 住宿上限:500 元/晚 交通:实报实销 适用:2026-07-01 起生效
- 起步参数:一行或一组同义行一块,块大小随行内容;不重叠。
- 必带元数据:表名、列定义、表所在章节、生效日期。
- 调法:跨行的问题(求和/对比)交给结构化查询或技能算,不指望检索。
- 验收问题:问「某产品某城市的上限是多少」,看能不能稳定命中那一行。
类型四:合同 / 扫描件(先 OCR,再谈切片)
扫描件没做过 OCR,切片再好也检索不到——图片型 PDF 对检索系统来说是一片空白。所以顺序是:先转可搜索文本,再按条款切。
- OCR 要求:版面还原(别把两栏拼成一行)、表格结构识别、保留页码。
- 起步参数:按条款切(第 X 条一块),每条 200–600 字;不重叠或少量重叠。
- 必带元数据:合同编号、甲方乙方、条款号、页码、签署日期。
- 验收问题:问「违约金比例是多少」,必须能定位到具体条款并给出页码。
合同类的一条硬规则
没有页码和条款号的答案,在合同场景等于不能用——复核的人没法快速找到原文。
四类文档参数总表(起步值)
| 文档类型 | 块大小 | 重叠 | 边界 | 必带元数据 |
|---|---|---|---|---|
| FAQ | 100–300 字 | 0 | 一问一答 | 模块、版本、更新时间 |
| 长文档 | 300–800 字 | 10%–15% | 章节 / 条款标题 | 章节路径、生效日期、状态 |
| 表格 | 一行/一组 | 0 | 行 | 表名、列定义、生效日期 |
| 合同/扫描件 | 200–600 字 | 0–10% | 条款 | 合同号、条款号、页码、签署日期 |
检索层怎么配合切片
- 混合检索:向量召回 + 关键词召回各取一部分,专有名词和型号靠关键词更稳。
- 重排(rerank):多召回 5–10 块,再重排取前 3–5 块,比直接 top1 稳。
- 父子块:用小块检索、返回它所在的父块(相邻上下文),兼顾精确和完整。
- 邻块扩展:命中某块时把前后各扩一块,防止句子被切断。
怎么验证改对了
- 固定 20 个真实问题 + 5 个负样本(应该答不出来的),每次改完都跑同一套。
- 记录三个数:召回命中率(该找到的找到没有)、引用准确率(引用片段真能支撑答案吗)、负样本拒答率。
- 对比改前改后,不看「感觉好多了」;只改一个变量,否则不知道是哪一步起效。
调参顺序(顺序反了白忙)
- 先修数据:过期、重复、扫描件没 OCR 的,先处理掉。
- 再改切片:边界、块大小、元数据。
- 再调检索:混合检索、重排、邻块扩展。
- 最后才动模型和提示词:模型只能放大前面的效果,不能拯救。
五个常见误区
- 按固定字符数硬切:句子被切两半,检索到也没用。
- 整表塞一块:模型在大海捞针,准确率必然低。
- 不带元数据:答案没有出处,企业场景不能用。
- 只测能答对的题:不测负样本,就不知道它会不会硬编。
- 先换工具再调参:工具换了,数据问题还在,等于重来一遍。
下一步
先用 20 题自测表定位是哪一层的病;确认是切片问题,再按这篇改。要人帮你逐题归因,可以看知识库诊断。
相关
选型分析知识库搭建:ima / 乐享 / Dify / RAGFlow / 本地 Markdown,8 个方案怎么选查看 →自测表20 个问题,测出你的知识库哪一层有病查看 →服务知识库诊断:先测 20 个问题,再决定要不要重做查看 →发现错误或有补充?提交纠错;这个频道会持续更新。
最后更新:2026-11-01