Token Counter

v0.1.0Añadido el 26 sept 2026Datos de ejemplo

Cuenta tokens BPE para codificaciones compatibles con OpenAI (cl100k_base, o200k_base) sin construir la lista de tokens.

Datos de ejemplo. Estas cifras son provisionales, no mediciones.

cargo install kura-rs
kura add token-counter

Copia 3 archivos de código fuente en tu proyecto. A partir de ahí, el código es tuyo.

Si otra herramienta ya instala un comando kura, ejecuta cargo install kura-rs --bin kura-rs y usa kura-rs add en su lugar.

use crate::parts::token_counter::{Encoding, count};

let n = count(Encoding::O200kBase, &prompt);
assert!(n <= 128_000, "prompt too long: {n} tokens");

Verificación

Datos de ejemplo

Verificado frente a tiktoken 0.9.0 (Python). Método: Pruebas diferenciales. Las mismas entradas se pasan a ambas implementaciones y se comparan las salidas.

Referencia
tiktoken
Python 0.9.0
Casos de prueba
5000
Pruebas diferenciales
Superados
5000 / 5000
Todos los casos coinciden
Última ejecución
26 sept 2026
UTC

Estas cifras son provisionales. Todavía no se han medido y no deben interpretarse como resultados reales. Esta pieza está marcada con "sample": true en su archivo del registro.

Benchmarks

Datos de ejemplo

kura-rs (Rust) frente a tiktoken con distintos tamaños de entrada. Más rápido a partir de unas 1285 entradas, hasta 1.7× más rápido.

Estas cifras son provisionales. Todavía no se han medido y no deben interpretarse como resultados reales. Esta pieza está marcada con "sample": true en su archivo del registro.

kura-rs (Rust)tiktoken
Tiempo real por ejecución (menos es mejor). La zona sombreada indica dónde la implementación de referencia es más rápida.
Mostrar tabla de datos
Tamaño de entradakura-rs (Rust)tiktokenAceleración
1000,05 ms0,03 ms1.7× más lento
10000,31 ms0,3 ms1.0× más lento
10.0002,6 ms3,4 ms1.3×
100.00024 ms36 ms1.5×
1.000.000235 ms390 ms1.7×

Archivos

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

Dependencias (crates)