
tiktoken
精准算 token、快速切文本,LLM 应用必备
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-11-09 · 当前星标 ★ 19619
使用教程
环境要求
- Python 环境(README 只给出 pip 安装方式)
- 可用的 pip 包管理工具
- 能访问 PyPI 的网络环境
安装与启动步骤
-
1确认 Python 可用
安装前先确认本机已装 Python 且 pip 可用,避免安装时报命令不存在。
python --version pip --version -
2安装 tiktoken
README 给出的唯一安装方式是从 PyPI 安装,直接执行即可。
pip install tiktoken -
3按编码名编码文本
用 o200k_base 编码名加载词表,encode 切分、decode 还原,验证分词可逆。
python -c "import tiktoken; enc = tiktoken.get_encoding('o200k_base'); assert enc.decode(enc.encode('hello world')) == 'hello world'; print('ok')" -
4按模型名加载词表
若已知模型名,用 encoding_for_model 自动匹配该模型对应的分词器。
python -c "import tiktoken; enc = tiktoken.encoding_for_model('gpt-4o'); print(enc.encode('hello world'))"
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
编码名 encoding_name | 是 | 通过 get_encoding 指定词表,如 o200k_base、cl100k_base | o200k_base |
模型名 model_name | 否 | 通过 encoding_for_model 自动选择该模型对应的分词器 | gpt-4o |
如何确认成功
运行示例代码无报错,且 enc.decode(enc.encode("hello world")) 能还原出原文 hello world。
常见问题
Q:编码名和模型名该用哪个?
A:已知具体模型时用 encoding_for_model(模型名) 更省心;只想指定词表时用 get_encoding(编码名),如 o200k_base。
Q:为什么 decode 能还原原文?
A:README 说明 BPE 分词是可逆且无损的,所以 encode 后再 decode 会得到与输入一致的文本。
Q:安装失败怎么排查?
A:先确认 pip 版本与网络是否正常,再重试 pip install tiktoken;仍失败可到 GitHub issue tracker 提问。
Q:有更多用法示例吗?
A:README 指向 OpenAI Cookbook 中的 How_to_count_tokens_with_tiktoken 示例笔记,以及 tiktoken/core.py 的接口文档。
注意事项
- README 只提供 pip 安装方式,未提供源码编译或其他安装途径。
- README 称其比同类开源分词器快 3-6 倍(基于 1GB 文本、GPT-2 词表测试)。
- 遇到问题可在 GitHub issue tracker 提问。
核心亮点
- Rust 实现核心算法,编码速度显著优于纯 Python 分词库
- 按模型名或编码名自动匹配词表,接口简单,encode/decode 开箱即用
- 支持批量编码与特殊 token 处理,便于上下文长度控制和成本预估
不足之处
- 词表与 OpenAI 模型强绑定,对其他厂商模型的分词支持有限
- 特殊 token 与编码选择需开发者自行理解,新手容易误用
适用场景
- 调用大模型前估算 prompt 的 token 数与费用
- RAG 或长文档处理中按 token 边界做文本分块与截断
- 校验提示词是否超出模型上下文窗口长度
替代项目
Hugging Face tokenizers、sentencepiece、GPT2 tokenizer
上一篇:ttsim
下一篇:没有了!
同类项目推荐
memory-opensource
开源
让AI记住关键信息,毫秒级精准召回
Predictive memory layer for AI agents. MongoDB + Qdrant + Neo4j with multi-tier cach···
guardian-db
开源
本地优先、点对点同步的 Rust 去中心化数据库
GuardianDB: High-performance, local-first decentralized database that stores and pro···
hub
开源
用 Rust 打造的高性能 LLM 网关,自带监控,轻松管理大规模 AI 请求。
High-scale LLM gateway, written in Rust. OpenTelemetry-based observability included
gpt-tokenizer
开源
纯 JS 实现 GPT 分词,前端也能算 token
The fastest JavaScript BPE Tokenizer Encoder Decoder for OpenAI's GPT models (gpt-5,···
nobodywho
开源
让任何设备都能流畅跑大模型,边缘 AI 推理引擎
NobodyWho is an inference engine that lets you run LLMs locally and efficiently on a···
OpenArc
开源
让英特尔设备也能一键跑起 OpenAI 兼容的大模型服务
Inference engine for Intel devices. Serve LLMs, VLMs, Whisper, Kokoro-TTS, Embedding···
stable-diffusion-deploy
开源
一键部署 Stable Diffusion 到云端,自动负载均衡与动态批处理。
Learn to serve Stable Diffusion models on cloud infrastructure at scale. This Lightn···
foxglove-sdk
开源
多语言记录机器人数据,一键回放可视化
Log and visualize multimodal data for robotics and physical AI
recodex
开源
自建 Codex 中转站,轻松管理 AI 请求
Codex中转,可自部署的代理服务