Token Counter

v0.1.0Adicionado em 26 de set. de 2026Dados de exemplo

Conta tokens BPE para codificações compatíveis com a OpenAI (cl100k_base, o200k_base) sem montar a lista de tokens.

Dados de exemplo. Estes valores são provisórios, não medições.

cargo install kura-rs
kura add token-counter

Copia 3 arquivos de código-fonte para o seu projeto. A partir daí, o código é seu.

Se outra ferramenta já instala um comando kura, execute cargo install kura-rs --bin kura-rs e use kura-rs add no lugar.

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

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

Verificação

Dados de exemplo

Verificado com tiktoken 0.9.0 (Python). Método: Teste diferencial. As mesmas entradas são enviadas às duas implementações e as saídas são comparadas.

Referência
tiktoken
Python 0.9.0
Casos de teste
5.000
Teste diferencial
Aprovados
5.000 / 5.000
Todos os casos batem
Última execução
26 de set. de 2026
UTC

Estes números são provisórios. Eles ainda não foram medidos e não devem ser lidos como resultados reais. Esta peça está marcada como "sample": true no seu arquivo do registry.

Benchmarks

Dados de exemplo

kura-rs (Rust) comparado com tiktoken em vários tamanhos de entrada. Mais rápido a partir de cerca de 1.285 entradas, até 1.7× mais rápido.

Estes números são provisórios. Eles ainda não foram medidos e não devem ser lidos como resultados reais. Esta peça está marcada como "sample": true no seu arquivo do registry.

kura-rs (Rust)tiktoken
Tempo real por execução (menor é melhor). A área sombreada é onde a implementação de referência é mais rápida.
Mostrar tabela de dados
Tamanho da entradakura-rs (Rust)tiktokenAceleração
1000,05 ms0,03 ms1.7× mais lento
1.0000,31 ms0,3 ms1.0× mais lento
10.0002,6 ms3,4 ms1.3×
100.00024 ms36 ms1.5×
1.000.000235 ms390 ms1.7×

Arquivos

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

Dependências (crates)