Token Counter

v0.1.0Hinzugefügt am 26. Sept. 2026Beispieldaten

Zählt BPE-Tokens für OpenAI-kompatible Kodierungen (cl100k_base, o200k_base), ohne die Token-Liste aufzubauen.

cargo install kura-rs
kura add token-counter

Kopiert 3 Quelldateien in dein Projekt. Ab dann gehört der Code dir.

Wenn ein anderes Tool bereits einen kura-Befehl installiert, führe cargo install kura-rs --bin kura-rs aus und nutze stattdessen 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");

Verifikation

Beispieldaten

Geprüft gegen tiktoken 0.9.0 (Python). Verfahren: Differenzielles Testen. Beide Implementierungen erhalten dieselben Eingaben, die Ausgaben werden verglichen.

Referenz
tiktoken
Python 0.9.0
Testfälle
5.000
Differenzielles Testen
Bestanden
5.000 / 5.000
Alle Fälle stimmen überein
Letzter Lauf
26. Sept. 2026
UTC

Diese Werte sind Platzhalter. Sie wurden noch nicht gemessen und dürfen nicht als echte Ergebnisse gelesen werden. Dieser Baustein ist in seiner Registry-Datei mit "sample": true markiert.

Benchmarks

Beispieldaten

kura-rs (Rust) im Vergleich zu tiktoken über verschiedene Eingabegrößen. Schneller ab etwa 1.285 Eingaben, bis zu 1.7× schneller.

Diese Werte sind Platzhalter. Sie wurden noch nicht gemessen und dürfen nicht als echte Ergebnisse gelesen werden. Dieser Baustein ist in seiner Registry-Datei mit "sample": true markiert.

kura-rs (Rust)tiktoken
Laufzeit pro Durchlauf (niedriger ist besser). Im schattierten Bereich ist die Referenzimplementierung schneller.
Datentabelle anzeigen
Eingabegrößekura-rs (Rust)tiktokenSpeedup
1000,05 ms0,03 ms1.7× langsamer
1.0000,31 ms0,3 ms1.0× langsamer
10.0002,6 ms3,4 ms1.3×
100.00024 ms36 ms1.5×
1.000.000235 ms390 ms1.7×

Dateien

  • parts/token_counter/mod.rs
  • parts/token_counter/bpe.rs
  • parts/token_counter/ranks.rs

Crate-Abhängigkeiten