← AI 术语表

AI 术语表 · 基础 · 语言模型

分块

分块(chunking)是把文档切分成名为“块”(chunk)的小片段,以便 AI 检索和利用长文档的工作。它主要是在构建 RAG 这类由 AI 查找外部资料来回答问题的系统时,事先要经过的准备步骤。

关于这个术语
难度
基础 · AI 新闻中常见的技术术语
加入时间
2026-10-07
通俗解释 这就像为了在厚厚的百科全书里快速找到所需内容,给每个条目都做一张索引卡片。不过,卡片切得太细,前后文就会丢失;做得太大,所需内容又会被其他内容淹没。

工作原理

首先,按固定长度、段落或句子等单位切分文档。切出的每个片段都会被转换成一串称为“嵌入”的数字。嵌入是用数字来表示文本含义的方式。这样转换后的片段存储在向量数据库中。用户提问时,系统找出与问题含义最接近的片段交给 AI,AI 参考这些内容作答。根据 Anthropic 的说明,单个片段的长度通常不超过几百个 token。

文档变成可检索片段的过程长文档 → 切分; 切分 → 片段 1; 切分 → 片段 2; 切分 → 片段 3 …; 附加一行上下文 → 片段 1(可选); 片段 1 → 嵌入 → 向量数据库; 片段 2 → 嵌入 → 向量数据库; 片段 3 … → 嵌入 → 向量数据库长文档例:公司规章手册切分按长度·段落·句子附加一行上下文“差旅费规定第 3章的一部分”片段 1差旅费标准片段 2住宿费上限片段 3 …报销截止日期嵌入 → 向量数据库每个片段一个可选
文档变成可检索片段的过程 片段大,上下文得以保留但检索不够精确;片段小,检索精确但会丢失上下文。也有为每个片段附加一行文档上下文的方法(Contextual Retrieval)。

为什么重要

Pinecone 从两个方面解释了需要分块的原因。第一,嵌入模型一次能处理的文本量(上下文窗口)有上限,超出部分会被截掉,可能丢失重要信息。第二,要能被检索到,每个片段都必须包含有用的信息。只由脱离前后文就读不懂的句子组成的片段,在检索中很难被命中。因此,如何切分片段在很大程度上决定了 RAG 回答的质量。

发展历程

起初,常见做法是简单地按固定长度切分文档。2023 年的论文“Dense X Retrieval”提出用“命题”代替段落或句子作为检索单位。命题指只包含一个事实、简短且本身就能读懂的句子,该论文报告称,这样细分后检索性能优于按段落切分。2024 年的论文“RAPTOR”关注的是相反方向的问题,即仅凭短片段难以理解整篇文档。为此,它反复把片段归组并进行摘要,构建出树状结构,使检索可以在从细节到主干的多个层级上进行。Anthropic 于 2024 年 9 月介绍了一种名为“Contextual Retrieval”的方法:在存储前,为每个片段附上一句说明它在整篇文档中处于什么上下文的文字。Anthropic 表示,这样做可以减少检索失败。

注意事项

不存在适用于所有情况的唯一正确大小。片段大,上下文得以保留,但检索不够精确;片段小,检索更精确,却容易丢失上下文。因此,通常的做法是根据文档类型和问题类型试验多种方式后再做选择。Anthropic 还指出,如果全部资料少到能整体放进模型的上下文窗口,那么不做分块、不用 RAG,直接全部放进提示词可能更简单。

示例

假设要做一个根据公司内部规章作答的咨询聊天机器人。把几百页的规章手册按条款或段落切分并存进向量数据库后,当员工问“差旅费报销截止日期是什么时候?”时,就可以只找出包含相应条款的片段交给 AI。此时,如果在片段上一并注明其所属上下文,例如“差旅费规定第 3 章的一部分”,检索效果会更好。Anthropic 介绍的 Contextual Retrieval 正是出自这种思路。

相关术语

参考资料