切分策略选择
公开教程 · 无需登录

切分策略选择

切片是检索的最小单位。切分过长,单个切片会混入多件互不相关的事;切分过短,则一个完整句子会被拆散。上传与重建索引使用同一组参数;未指定策略时按自动切分处理,种子材料启动时补齐索引同样采用自动切分。

1三种策略

策略 适合 规则
auto 讲义、规章制度一类常规正文 最大 800 字,重叠 80 字;优先在空行、换行、句号处断开。请求中另行填写的长度与预处理参数不生效
custom 希望按换行、空行或句号控制粒度 最大长度 100 至 2000 字,重叠比例 0% 至 50%;无断点处按最大长度强制截断。可预先移除 URL 与邮箱,或将连续空白折叠为单个空格
hierarchy 含 Markdown 标题的课程资料 按 #、##、### 层级分章,标题保留在该章切片内;某章过长时,再按自动窗口规则切分
自动窗口 切片 1 约 800 字 切片 2 与上一切片重叠 优先在空行、换行、句号断开 自定义分隔符 第一句。 第二句。 无断点处按长度强制截断 长度 100–2000,重叠 0–50% 按标题分章 # 第一章 整章保留在同一切片 ## 过长时再按窗口切分 标题保留在该章切片内
三种策略作用于同一份正文。未指定策略时按自动窗口处理,种子材料补齐索引亦采用该策略。

切分模块的输入与输出

输入为知识库正文 body_text,以及本次请求指定的策略;输出为若干条切片,包含切片文本、序号及其在待切分文本中的位置。原始文件与 body_text 保持上传时的原样。切分模块不调用嵌入服务,也不写入 Qdrant;这两步在其返回之后由检索模块继续执行。

2两处易混淆要点

预处理不改写原文

移除链接、折叠空白等预处理仅作用于待切分与待嵌入的文本。knowledge_entries.body_text 仍为上传原文。此时切片偏移量是相对于预处理后文本计算的,不能再视作原文件中的字符下标。

切换策略须重建索引

已入库材料不会自动重新切分。重建索引采用的是本次请求中的策略,而非上传时使用的策略。若已将连续空白折叠为空格,则换行符不复存在,再以换行作为分隔符将无法切分。