niieani/gpt-tokenizer
The fastest JavaScript BPE Tokenizer Encoder Decoder for OpenAI's GPT models (gpt-5, gpt-o*, gpt-4o, etc.). Port of OpenAI's tiktoken with additional features.
解决的问题
gpt-tokenizer 提供了 OpenAI 模型所使用的字节对编码(BPE)算法的高性能 TypeScript 实现。它允许开发者在 JavaScript 和 TypeScript 环境中准确计算 token 数量、将文本编码为整数,并将 token 解码回文本,无需依赖外部的 Python 工具(如 tiktoken)。
工作原理
该库是 OpenAI tiktoken 的 TypeScript 移植版本,支持所有当前的 OpenAI 模型系列(包括 GPT-4o、o 系列和旧版模型)。它实现了多种编码方式,如 cl100k_base 和 o200k_base。通过 LRU(最近最少使用)合并缓存加速相似字符串的编码,并提供用于流式数据的生成器函数。
适用人群
使用 TypeScript 或 JavaScript 构建 LLM 驱动应用的开发者,需要管理 token 限制、估算 API 成本,或在浏览器或 Node.js 中处理 token 流。
主要亮点
- 全面的模型支持:支持所有当前的 OpenAI 模型系列,包括 GPT-5、GPT-4o 和 o 系列推理模型。
- 高性能:声称是 NPM 上最快且占用内存最小的 tokenizer,性能优于 WASM/node 绑定实现。
- 聊天专用工具:包含
encodeChat函数,专门处理聊天消息的 token 化。 - 成本估算:基于完整的 OpenAI 模型目录和定价数据,内置
estimateCost函数。 - 限制检查:高性能的
isWithinTokenLimit函数,无需对整个输入进行编码即可检查文本是否超出限制。 - 环境无关:在浏览器和 Node.js 环境中均可开箱即用。
相关
- 项目
- 项目
- 项目
- 项目
- Dispatch