Token Counter
v0.1.0添加于 2026年9月26日示例数据按 OpenAI 兼容编码(cl100k_base、o200k_base)统计 BPE token 数量,无需构建 token 列表。
cargo install kura-rs
kura add token-counter将 3 个源码文件复制到你的项目中。此后代码完全归你所有。
如果其他工具已经安装了 kura 命令,请运行 cargo install kura-rs --bin kura-rs,并改用 kura-rs add。
use crate::parts::token_counter::{Encoding, count};
let n = count(Encoding::O200kBase, &prompt);
assert!(n <= 128_000, "prompt too long: {n} tokens");验证
示例数据使用差分测试与 tiktoken 0.9.0(Python)进行对照:向两个实现输入相同数据,并比较输出结果。
参考实现
tiktoken
Python 0.9.0
测试用例
5,000
差分测试
通过
5,000 / 5,000
全部一致
最近运行
2026年9月26日
UTC
以下数值仅为占位。 这些数值尚未经过实测,请勿当作真实结果。该组件在其 registry 文件中标记为 "sample": true。
基准测试
示例数据在不同输入规模下对比 kura-rs(Rust)与 tiktoken。 输入约 1,285 条起更快,最高快 1.7×。
以下数值仅为占位。 这些数值尚未经过实测,请勿当作真实结果。该组件在其 registry 文件中标记为 "sample": true。
kura-rs (Rust)tiktoken
显示数据表
| 输入规模 | kura-rs (Rust) | tiktoken | 加速比 |
|---|---|---|---|
| 100 | 0.05 ms | 0.03 ms | 慢 1.7× |
| 1,000 | 0.31 ms | 0.3 ms | 慢 1.0× |
| 10,000 | 2.6 ms | 3.4 ms | 1.3× |
| 100,000 | 24 ms | 36 ms | 1.5× |
| 1,000,000 | 235 ms | 390 ms | 1.7× |
文件
- parts/token_counter/mod.rs
- parts/token_counter/bpe.rs
- parts/token_counter/ranks.rs