@bpinternal/thicktoken

中文文档
3.1.0发布于 2026/07/23ISCTypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 3.1万

装有计数/truncate/split 帮助器的 Cl100k 标记器( Rust- WASM)

中文使用文档
文档目录3 节
  1. 变式(边缘/体积敏感目标)
  2. 云旗工人(工人)
  3. 免责声明

脚本

捆绑的 Cl100k 表示器,带有添加的帮助函数(计数/ 截取/ 拆分), 已供电 由我们自己的 Rust-WASM 建筑(见 wasm/,引擎 : 托齐, (中文(简体) ), 麻省理工学院——Chonkie股份有限公司——见 NOTICE) (中文(简体) ). 历史上得到tiktoken的支持——API不变.

  • count(text, { approximate }) 大约 默认 (统计学) 采样,在1%以内,~100××更快;通过 { approximate: false } 确切地说.
  • truncate(text, n) - 准确;保留第一个 n 符号(负数) n 删除 结束)。 只有象征它需要的窗口,所以它快速地投入了巨大的投入.
  • split(text) 编号 : splitAndSlice(text) ——可切入串/可切入集.

变式(边缘/体积敏感目标)

相同的API,更小的活字(truncated Cl100k合并——通过前缀关闭有效BPE). 一个共享 hem 引擎;每个条目只捆绑自己的活字资产。 以 node wasm/scripts/gen-assets.mjs。 。 。 .

导入词汇总克(ESM)输入计数 vs cl100k
@bpinternal/thicktokencl100k( 全数)~647 KB 键~60毫秒(每分钟一秒)准确
@bpinternal/thicktoken/lite单位50k~392 KB 键25毫秒( 25毫秒)超额计算% 3-7%
@bpinternal/thicktoken/microcl25k 坐标~ 275 KB (韩语)~13个毫秒超额计算 8-20%

断头变体 超数 - 预算执行安全(它们稍作调整) 永远不要溢出一个窗口。 这样做 没有 用于计费或精确窗口 包装;通货膨胀取决于内容(最糟糕的是emoji/unicode-dense文本).

云旗工人(工人)

工人禁止运行时间 WASM 汇编(new WebAssembly.Module(bytes)),所以默认 构建——将引擎WASM作为基数64并编译在导入时无法运行 在这里。 有两个机制负责:

  1. workerd 导出条件( 0- config) . 荣誉的班德勒/跑步时间 workerd 条件 (wrangler does) 解决每个条目 *.workerd.mjs 内建 哪个引擎 .wasm 作为船舶 单独的 dinet 文件 并保持一个 静态 导入 - 工人在部署时编译,并将模块交给 initSync 预编译. 在工人身上,根头 @bpinternal/thicktoken 条目解析到 微观 (cl25k)资产——最小的足迹,迅速编制预算不需要 准确的Cl100k计数. 使用 @bpinternal/thicktoken/full 如果您真的需要精确的 cl100k 指望着工人.

  2. getWasmTokenizer({ wasmModule }) (口服注射). 自己通过预编 WebAssembly.Module (例如来自静态 .wasm 导入)和引擎跳过运行时间 完全编译 :

    import { getWasmTokenizer } from '@bpinternal/thicktoken/micro'
    import wasmModule from '@bpinternal/thicktoken/engine.wasm' // static import
    const tokenizer = await getWasmTokenizer({ wasmModule })
    

恶作剧 .gz 资产是纯数据(在WASM引擎内充气)并保持内置 每个建筑——只有引擎 .wasm 需要特殊处理.

免责声明

此软件包将在 @bpinternal 组织。 这个组织的所有软件包都用于 瓶装 内部的团队 并不适合我们的社区。 由于这些软件包适合我们自己的使用情况,它们可能不稳定的API,在没有警告的情况下接受中断的更改,文件很少,缺乏以社区为重点的支持。 然而,这些软件包仍然被故意公开,其重要原因如下: 我们爱开源. 因此,如果您想要安装或叉子,这个软件包完全可以自由操作。 我们强烈建议你正确标记你的版本.

博讯工程组.

版本与发布记录

@bpinternal/thicktoken 共发布 11 个版本,首次发布于 2025/01/07;过去 12 个月发布了 6 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.1.0latest2026/07/233 个月前
3.0.02026/07/024 个月前
2.0.02026/02/108 个月前
1.2.12026/02/108 个月前
1.2.02026/02/079 个月前
1.1.02026/02/079 个月前

关于 @bpinternal/thicktoken 的常见问题

@bpinternal/thicktoken 是什么?

装有计数/truncate/split 帮助器的 Cl100k 标记器( Rust- WASM)

如何安装 @bpinternal/thicktoken?

在项目目录运行 npm install @bpinternal/thicktoken,或使用 pnpm add / yarn add / bun add。

@bpinternal/thicktoken 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bpinternal/thicktoken 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@bpinternal/thicktoken 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=16.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@bpinternal/thicktoken 可以商用吗?

@bpinternal/thicktoken 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bpinternal/thicktoken 的下载量有多少?

根据 npm 官方下载统计,@bpinternal/thicktoken 在 2026/10/09 – 2026/11/07 这 30 天内被下载 31,498 次,日均约 1,050 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bpinternal/thicktoken 还在维护吗?

最新版本 3.1.0 发布于 2026/07/23(3 个月前);至今共发布 11 个版本,其中过去 12 个月发布了 6 个;首次发布于 2025/01/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。