o200k_base:20 万词汇表如何压掉 Token 开销

o200k_base:20 万词汇表如何压掉 Token 开销 o200k_base20 万词汇表如何压掉 Token 开销【免费下载链接】tiktokentiktoken is a fast BPE tokeniser for use with OpenAIs models.项目地址: https://gitcode.com/GitHub_Trending/ti/tiktoken计费按 token 算多一个 tokenAPI 就贵一点、推理就多解码一步。你现在调 gpt-4o官方 tokenizer 已经是 o200k_base不再是 cl100k_base——继续用旧格式计数本地统计和账单永远对不上。修正办法在 tiktoken 里换一行 get_encoding。但先弄清这套编码到底改了什么。o200k_base 是 OpenAI 随 gpt-4o 系列模型发布的 BPE 编码格式词汇表 200,000 条设计目标就是把同样的文本压进更少的 token同时覆盖更多语言和代码场景。关键变化是什么词典厚了一倍每个词占的格子变少。先看现象cl100k_base 的词汇量是100,257o200k_base 是200,000。原因是 BPE 分词分两步走——正则先把文本切成大致单词再按训练语料把高频字节对合并成固定 tokentiktoken/_educational.py里把整个流程写得很直白。词典越大越多常见词组在训练期就被预切好一个词在 cl100k 里要拆 3 段在 o200k 里可能就是 1 个 token。这像 10 万词条和 20 万词条的字典之别——人工智能过去得靠人工智能拼出来现在是词条直接整词取出。效果是同样文本的 token 数普遍变少平均 1 个 token 约对应 4 字节一个词省下的 1、2 个 token放到账单上是真金白银。token 编码优化核心就优化在这里。正则也重写了分大小写Its不再被切开。我在同一句 Its a TEST. The sun is hot. 上跑了两个 pat_str。cl100k 把 Its 切成 It 和 s 两块o200k 直接切出 Its。原因看tiktoken_ext/openai_public.pyo200k 的模式有 7 个分支前两个分支用 Unicode 字符类区分大写\p{Lu}和小写\p{Ll}并把 s、t、re、ve 这类词尾以大小写不敏感的方式折进单词末尾cl100k 是把 s 单独当一个分支处理。效果是切块边界更贴近完整词模型少见 Its 这种词中碎片大小写区分也让专名和大写词有独立表示。数字部分两者都按 3 位一组切3.14159 在两个编码下都是 3 / . / 141 / 59。中文切块形态也基本一致。多语言差异的主力不在正则而在词汇背后的训练语料——正则只决定哪里下刀词典决定哪些字节合成一个 token。参数o200k_basecl100k_base词汇量200,000100,257切分正则7 分支区分大小写8 分支s 独立成支代表模型gpt-4o、gpt-5、o1、o3gpt-4、gpt-3.5、embedding-3自己跑一遍往返验证pip install tiktokenimport tiktoken enc tiktoken.get_encoding(o200k_base) text 你好世界o200k_base 编码测试 print(len(enc.encode(text))) assert enc.decode(enc.encode(text)) text词表首次使用时从官方源下载并缓存之后是秒开。BPE 编码是无损的encode 再 decode 一定拿回原文。这条 assert 是 tiktoken 使用中最可靠的自检也是它区别于传统拆字分词的关键。什么时候 cl100k_base 还够用tiktoken/model.py里有一份模型映射gpt-4o、gpt-5、gpt-4.1、o1、o3 等新一代模型对应 o200k_basegpt-4、gpt-3.5-turbo、text-embedding-3 仍在 cl100k_base。判断标准就一条模型用哪个编码你就用哪个数。旧模型别换换了不省反乱新模型还在用旧编码省下的只是数字对不上的尴尬。另外别直接对比两种格式下同一段文本的 token 数它们不在同一个坐标系里。收个尾o200k_base 不是可选项是新模型的标准件。下次数 token 之前先查一下你的模型映射到哪个编码再决定改哪一行代码。【免费下载链接】tiktokentiktoken is a fast BPE tokeniser for use with OpenAIs models.项目地址: https://gitcode.com/GitHub_Trending/ti/tiktoken创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考