用途:在文档嵌入或检索前对文档进行分块,覆盖固定大小、语义、递归和滑动窗口等策略及其重叠处理。资料假定读者已了解分块的基本概念与必要性,重点是策略选择与非显而易见的失败模式。
主要能力:1)策略选择——固定大小适合同质内容(日志、转录、表格笔记),递归适合通用散文且是较佳默认,语义适合主题边界重要的高差异文档(研究论文、长文),滑动窗口适合查询关注跨边界局部上下文的密集技术文档与代码。资料提醒:同一向量索引中混用策略会破坏检索一致性,评分分布不可比,应每个索引只选一种。2)固定大小分块——按字符或 token 在硬边界切分,附固定分块函数示例(size=512、overlap=50)。资料提醒:嵌入模型有 token 限制时应按 token 而非字符切分,超限会被静默截断;英文约 text.length/4,代码约 text.length/3 估算 token。3)递归分块——按分隔符优先级("\n\n"、"\n"、". "、" "、"")递归回退直到满足目标大小,附递归分块函数。资料提醒:重叠应在切分后应用,而非切分过程中。4)语义分块——将句子分组,直到余弦相似度下降指示主题边界;需要嵌入每个句子,成本较高但块最连贯。资料提醒:阈值依赖语料,0.85 仅为起点;应用真正的句子切分器,避免用 text.split(". ") 被缩写词破坏;按 N 个句子嵌入计费。5)滑动窗口分块——每块以固定步长与邻居重叠,附滑动分块函数(size=512、stride=256)。资料提醒:重叠使索引膨胀 size/stride 倍,50% 重叠会翻倍索引与检索成本。
重叠的作用与局限:重叠能提升边界附近查询的召回,但无法修复语义连贯性与归因问题,重叠文本可能出现在两个检索块中。资料建议按位置元数据(start、end)在注入前去重,若两块的较短者重叠超过 50% 则丢弃得分较低者。
元数据保留:每块应携带 text、source、page、start、end、chunkIndex、totalChunks、heading 等字段;将最近的章节标题前置到块文本再嵌入,能显著提升结构化文档的语义搜索效果,嵌入用富化版本、展示用原始文本。
文档类型注意:Markdown/HTML 应先剥离格式或按标题标签切分;代码应按函数/类边界切分,至少用较大最大尺寸(1024+ tokens)按 \n\n 切分;PDF 页边界不是语义边界,应跨页合并;表格不要从行中切断,要么整表一块,要么在每个含表格行的块中重复表头。
限制:资料未提供具体安装命令、收费或平台信息,暂未提供。