tiktoken 分词器完整指南:如何为 OpenAI 模型精确计算 token

发布时间:2026/9/8 21:03:28

tiktoken 分词器完整指南:如何为 OpenAI 模型精确计算 token
tiktoken 分词器完整指南如何为 OpenAI 模型精确计算 token【免费下载链接】tiktokentiktoken is a fast BPE tokeniser for use with OpenAIs models.项目地址: https://gitcode.com/GitHub_Trending/ti/tiktoken调用 OpenAI API 前你需要先知道 prompt 到底占多少 token。tiktoken 分词器就是为这个场景而生的它用 BPEByte Pair Encoding字节对编码通过反复合并高频字节对构建词表的算法把文本编成不可逆、可还原的 token 序列且对任意文本都有效。官方基准显示它比可比的开源 fast 分词器GPT2TokenizerFast快 3-6 倍。pip 一条命令安装 tiktoken安装走 PyPI无需手动编译 Rust 扩展pip install tiktoken想要可复现的源码版本也可以先克隆再本地安装git clone https://gitcode.com/GitHub_Trending/ti/tiktoken装好后公共 API 就是get_encoding、encoding_for_model、Encoding这几个入口分词核心逻辑全部在 tiktoken/core.py 里。按模型名取对编码并验证 token 数拿到 OpenAI API 的模型名可以直接查出它对应的分词器不用自己对照表import tiktoken enc tiktoken.encoding_for_model(gpt-4o) assert enc.decode(enc.encode(hello world)) hello worldencoding_for_model内部是精确匹配加前缀匹配两层策略见 tiktoken/model.py新模型版本发布时通常不需要升级库。如果模型名不在映射里它会直接报KeyError提示你改用tiktoken.get_encoding显式指定避免拿错编码算错账单。为什么 token 数可信BPE 编码可逆且无损能还原回原始文本它还能处理训练数据里没出现过的文本编码后的 token 序列比原始字节更短实践中平均每个 token 对应约 4 字节。所以len(enc.encode(text))就是你要的计费单位。用教育模块训练自定义分词器并可视化 BPE 过程不想手推 BPE 合并顺序的话仓库自带教学子模块 tiktoken/_educational.py两个入口值得先跑一遍train_simple_encoding()在一小段文本上从零训练一个简单 BPE 分词器看词表怎么一步步长出来SimpleBytePairEncoding.from_tiktoken(cl100k_base)加载现成编码把hello world aaaaaaaaaaaa这类输入逐 token 拆开直观看到 GPT-4 编码到底怎么切文本。这也是理解为什么常见子词比如 ing会被单独成 token最快的路径——模型反复见到同一个子词泛化效果更好。打包并发布自定义编码tiktoken_ext 插件机制有两条路。简单场景下直接用tiktoken.Encoding(name, pat_str, mergeable_ranks, special_tokens, ...)构造对象传着用即可参数示例见 tiktoken_ext/openai_public.py改动特殊 token 时记得换一个能体现行为差异的名字。需要让tiktoken.get_encoding(your_name)能直接找到你的编码才用插件机制建一个命名空间包目录结构里不要放tiktoken_ext/__init__.py编码逻辑写在tiktoken_ext/my_encodings.py里该模块暴露一个ENCODING_CONSTRUCTORS字典编码名 → 无参函数函数返回传给tiktoken.Encoding的参数字典细节看 tiktoken/registry.pysetup.py中用find_namespace_packages(include[tiktoken_ext*])并声明依赖tiktoken用pip install ./my_tiktoken_extension安装README 特别提醒不要用可编辑editable安装否则注册不会生效。源码入口与下一步分词核心 APIencode/decode/批量/offsets 等tiktoken/core.py内置编码注册表tiktoken/registry.py性能基准的原始数据图perf.svg安装命令是pip install tiktoken。下一步建议先跑通encoding_for_model对一次真实 prompt 计数再用_educational模块看一遍合并过程把token 从哪来彻底搞清楚。【免费下载链接】tiktokentiktoken is a fast BPE tokeniser for use with OpenAIs models.项目地址: https://gitcode.com/GitHub_Trending/ti/tiktoken创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

ROS2 Launch 文件完全指南:从手动多终端到一键启动与参数化复用

ROS2 Launch 文件完全指南:从手动多终端到一键启动与参数化复用

2026/9/8 21:03:28

1. 为什么你需要 Launch:从手动开终端的痛说起1.1 一个过来人脑中的"标准化痛苦"刚开始接触 ROS2 的人,大多经历过这样一段蹒跚期:装好了 Humble,跟着教程敲ros2 run turtlesim turtlesim_node,小乌龟出来了…

渔业目标检测数据集使用指南:标注诊断与YOLO实战

渔业目标检测数据集使用指南:标注诊断与YOLO实战

2026/9/8 21:03:28

简介:本资源是面向计算机视觉初学者与AI安全监控开发者的小型钓鱼行为检测专用数据集,聚焦于岸边钓鱼人员的识别与定位任务,适用于智能公园管理、水域保护及安防预警等实际场景。压缩包共2000个文件,含1000张JPG格式原始图像与100…

15 分钟跑通 RPCS3:PS3 模拟器的三个落地场景——跑游戏、打补丁、调崩溃

15 分钟跑通 RPCS3:PS3 模拟器的三个落地场景——跑游戏、打补丁、调崩溃

2026/9/8 20:53:28

15 分钟跑通 RPCS3:PS3 模拟器的三个落地场景——跑游戏、打补丁、调崩溃 【免费下载链接】rpcs3 PlayStation 3 emulator and debugger 项目地址: https://gitcode.com/GitHub_Trending/rp/rpcs3 想让 PS3 光盘游戏在电脑上跑起来,还能在崩溃时定…

假期文件传输自救指南:从命名规范到云同步的实用技巧

假期文件传输自救指南:从命名规范到云同步的实用技巧

2026/9/8 21:53:30

1. 春假被“文件”搞崩的六种经典现场五一、国庆、年假……只要是超过三天的假期,你就躲不开一种魔咒:明明人已经在高铁上、景区里、饭桌前,手机却突然震动,弹出一条消息——“那个文件发我一下。”你说“回酒店用电脑发”&#x…

IGDT与阶梯碳交易耦合的多能系统优化调度实战解析

IGDT与阶梯碳交易耦合的多能系统优化调度实战解析

2026/9/8 21:53:30

1. 为什么多能系统调度要引入信息间隙决策理论搞过综合能源系统优化的朋友应该都有体会:传统优化调度模型最怕的就是“参数拍脑袋”。风光出力预测、负荷预测、电价曲线,这些数据拿到手的时候看着挺准,但实际运行中偏差随时都可能出现。你要是…

数字人开发第七天:接入TTS实现语音交互与口型同步

数字人开发第七天:接入TTS实现语音交互与口型同步

2026/9/8 21:53:30

如果这个周做到第六天,你的数字人应该已经有了完整的形象、动作和表情系统,但它大概率还是个"哑巴"——你说一句,它眨眨眼,能点头,就是张不开嘴。我自己的项目就是这样,直到 Day 7 把 TTS 接进去…

别急着写代码:先想清楚六类问题与五件产出物

别急着写代码:先想清楚六类问题与五件产出物

2026/9/8 21:53:30

从入门到干这一行也有十来年了,我发现一个特别魔幻的现象:越着急写代码的人,越忙,越忙,就越乱。要么需求理解偏了,一版推倒重来;要么数据结构没想好,后面加字段加到想骂人&#xff1…

RSoft光子晶体光滤波器设计与仿真:从带隙原理到WDM应用实操

RSoft光子晶体光滤波器设计与仿真:从带隙原理到WDM应用实操

2026/9/8 21:53:30

这几年做光通信方向的器件级仿真,我有一半时间耗在“想在方案里用某个器件,但市面选不到完全匹配的”这种问题上。光通信系统往波分复用(WDM)和多场景扩展走以后,滤波器这个环节越来越绕不开,而RSoft和光子…

车载激光雷达量产硬仗:光学系统的架构、装调与可靠性避坑指南

车载激光雷达量产硬仗:光学系统的架构、装调与可靠性避坑指南

2026/9/8 21:43:30

车载激光雷达量产路上的挑战,最容易被低估、也最容易翻车的环节,其实是光学系统。外界聊车载激光雷达,总是先谈芯片算力、点云算法、AI模型,再谈成本控制和供应链管理,这些当然都重要,但从研发一线走到量产…

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

2026/9/7 20:21:46

本文首发于“生态学者”!从“湿地面积”到“土壤碳密度”:为什么需要重新认识潮汐湿地蓝碳变化?潮汐湿地位于陆地与海洋的交汇地带,包括红树林、盐沼和潮滩,是全球重要的蓝碳生态系统。其土壤能够长期储存大量有机碳&a…

adb抓包

adb抓包

2026/9/8 4:55:53

前言 本文介绍如何通过 tcpdump 在 Android 手机上抓取网络数据包,并在电脑端使用 Wireshark 进行分析。适用于需要排查 App 网络请求、分析接口调用或调试网络问题的开发与测试场景。1. 手机要有 root 权限2. 下载 tcpdump3. adb push C:\Users\zhangkuixun\Downlo…

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

2026/9/7 8:03:37

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战 在云原生基础设施中,容器镜像体积直接决定了服务的部署速度与弹性扩容敏捷度。对于传统的 Go / Java 微服务,镜像体积通常被严格控制在 50MB 到 200MB 以内,拉取镜像只…

芯片良率波动可视化:动画拆解工艺因果,重建客户信任

芯片良率波动可视化:动画拆解工艺因果,重建客户信任

2026/9/8 0:02:30

芯片这个行业有个不太被人摆到台面上、但几乎每天都在发生的场景:客户拿着一条良率曲线截图问你,这批货的良率怎么掉了三个点,是不是工艺出问题了,产生的不良会不会流到他们产线上去。你解释了半天,客户似懂非懂&#…

PyTorch DataLoader参数冲突:sampler与shuffle互斥的根源与正确写法

PyTorch DataLoader参数冲突:sampler与shuffle互斥的根源与正确写法

2026/9/8 0:02:30

ValueError: sampler option is mutually exclusive with shuffle,这个报错我在 PyTorch 的 DataLoader 上至少见过几十次了,而且很有意思的是,它经常不是新手专属——很多写了好几年模型的老手,在从单机改成自定义采样器&#xf…

中国车企再破谣言,GAC吉利零跑获欧盟安全五星

中国车企再破谣言,GAC吉利零跑获欧盟安全五星

2026/9/8 0:02:30

有人可能在网上开着皮卡拍视频,声称中国电动车不仅性能不如美国大排量车型,安全性也堪忧。然而事实恰恰相反,GAC、吉利和零跑最新推出的电动车型在极为严苛的欧盟新车安全评鉴(Euro NCAP)测试中全部斩获满分。就在特斯…

远程协作的工作台整理

远程协作的工作台整理

2026/9/8 4:23:39

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/8 3:19:39

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/8 4:00:23

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…