Token Counter
v0.1.0Ajouté le 26 sept. 2026Données d'exempleCompte les tokens BPE des encodages compatibles OpenAI (cl100k_base, o200k_base) sans construire la liste des tokens.
cargo install kura-rs
kura add token-counterCopie 3 fichiers source dans votre projet. Le code vous appartient ensuite.
Si un autre outil installe déjà une commande kura, lance cargo install kura-rs --bin kura-rs et utilise kura-rs add à la place.
use crate::parts::token_counter::{Encoding, count};
let n = count(Encoding::O200kBase, &prompt);
assert!(n <= 128_000, "prompt too long: {n} tokens");Vérification
Données d'exempleVérifié par rapport à tiktoken 0.9.0 (Python). Méthode : Tests différentiels. Les mêmes entrées sont fournies aux deux implémentations, puis leurs sorties sont comparées.
Ces valeurs sont fictives. Elles n'ont pas encore été mesurées et ne doivent pas être lues comme des résultats réels. Ce composant est marqué "sample": true dans son fichier de registre.
Benchmarks
Données d'exemplekura-rs (Rust) comparé à tiktoken sur plusieurs tailles d'entrée. Plus rapide à partir d'environ 1 285 entrées, jusqu'à 1.7× plus rapide.
Ces valeurs sont fictives. Elles n'ont pas encore été mesurées et ne doivent pas être lues comme des résultats réels. Ce composant est marqué "sample": true dans son fichier de registre.
Afficher le tableau de données
| Taille d'entrée | kura-rs (Rust) | tiktoken | Accélération |
|---|---|---|---|
| 100 | 0,05 ms | 0,03 ms | 1.7× plus lent |
| 1 000 | 0,31 ms | 0,3 ms | 1.0× plus lent |
| 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× |
Fichiers
- parts/token_counter/mod.rs
- parts/token_counter/bpe.rs
- parts/token_counter/ranks.rs