先切成块,再交给模型
一段文本进入模型前,通常先由分词器切成可识别的小块,并映射到编号。这些小块叫Token。词、标点、空格和文字片段都可能参与切分。
像把连续的一串材料分成可处理的部件,但“部件有多大”不是全世界统一的。不同模型可能使用不同分词器,同一句话得到的Token数量也可能不同。
先切成单位,再映射为编号
- 01示意甲
两块
- 02示意乙
四块
纯粹演示切分概念;精确计数使用对应模型的实际分词器。
同一句话,可以有不同的切法
用“今天下雨”做一个纯示意:一种切法可以把“今天”和“下雨”分成两块,另一种可以把四个字分别分开。内容一样,块数却是2和4。这里并非展示任何真实模型的结果,只用它说明:Token数是按具体切分规则得到的,不是文字天然自带的唯一数字。
编号也不是给词语排重要程度,而是让程序能识别这些单位。就像超市给商品编货号,号码本身不用长得像商品;分词器把文本变成编号序列,模型据此处理,输出再被转换成可读文字。因此“最多处理多少Token”说的是这类单位的容量,不能直接当成同样数量的汉字,更不能把不同模型的计数简单互换。
它影响长度和费用,但不等于字数
模型可处理的上下文长度通常以Token计量,接口也常按输入、输出等用量计费。长资料会占用上下文,模型输出本身也可能受长度限制。
中文、英文、代码等内容的切分特点不同,不能把英文经验比例直接用来估计所有中文。需要精确计算时,应使用对应模型的分词器或接口返回的实际用量。
更多Token不自动等于更好的回答
提供必要材料通常有帮助,但重复信息、无关段落或彼此矛盾的资料也可能增加干扰。与其只追求超长输入,更重要的是提供与问题相关、结构清楚的内容。
这里的Token指模型文本单位。登录接口里的访问令牌也常叫token,那是身份凭据,和文本分词不是同一个概念。