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_baseo200k_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