什么是 分词器(Tokenizer)?
分词器(Tokenizer)是把文本转换为语言模型可处理的 token ID,并把生成的 token ID 解码回文本的组件。
工作原理
分词器是人类可读文本和 LLM 消费的整数序列之间的边界。它决定单词、标点、空格、代码、数字和非英文文本如何被切分成 token。分词会影响上下文窗口使用量、计费、延迟、提示词长度、流式输出和评估。即使两个模型参数规模相近,如果分词器对同一提示词的切分方式不同,尤其在代码、结构化数据、罕见词和多语言内容上,实际行为也可能明显不同。
主要特点
- 把文本映射为 token ID,并把 token ID 解码回文本
- 影响上下文长度、成本、延迟和提示词预算
- 不同模型家族可能以不同方式切分同一个词或符号
- 对多语言文本、代码、JSON、数字和罕见词很重要
- 必须与模型训练时使用的分词器匹配,才能可靠推理
常见用途
- 在请求 LLM 前估算提示词长度
- 比较英文、中文、代码和结构化提示词的模型成本
- 排查提示词为什么超过上下文窗口
- 基于真实 token 数为 RAG 设计分块大小
- 用 token 衡量生成输出长度
示例
loading...
Loading code...常见问题
为什么分词会影响 LLM 成本?
大多数 LLM API 按输入和输出 token 计费。分词器决定提示词和答案包含多少 token。
Token 和单词一样吗?
不一样。token 可以是一个词、词的一部分、标点、空格,或取决于分词器的字节式单位。
两个模型会对同一文本产生不同 token 数吗?
会。不同分词器词表和算法可能让同一文本产生不同 token 数。
为什么 RAG 要关注分词器?
RAG 的分块大小和上下文预算应基于目标模型使用的分词器,而不是只看字符数或词数。