O que é esta ferramenta?
Os modelos de linguagem não processam o texto caractere a caractere ou palavra a palavra — dividem-no em «tokens», fragmentos que têm frequentemente alguns caracteres de comprimento (cerca de 4 caracteres ou 0,75 palavras por token em inglês, embora isto varie bastante consoante a língua e o conteúdo). A contagem de tokens determina diretamente o custo da sua API e se o seu prompt cabe na janela de contexto de um modelo.
Esta ferramenta utiliza as codificações reais dos tokenizadores — o200k_base (utilizada pelo GPT-4o e pelo GPT-4o mini) e cl100k_base (utilizada pelo GPT-4 e pelo GPT-3.5) — em vez de uma aproximação grosseira do tipo «caracteres divididos por 4», pelo que a contagem que vê aqui corresponde ao valor que lhe seria efetivamente cobrado ou ao limite a que estaria sujeito.
Por que usar?
- Codificações reais do tokenizador (o200k_base, cl100k_base) — não se trata de uma estimativa baseada na contagem de caracteres.
- Alterne entre modelos instantaneamente para comparar as diferentes formas de tokenização do mesmo texto.
- O número de caracteres e de palavras é apresentado ao lado, para consulta rápida.
- As atualizações são feitas em tempo real à medida que escreve ou cola — não é preciso clicar em nenhum botão.
- 100% local — a sua solicitação ou documento nunca é carregado, o que é importante caso contenha texto confidencial ou de natureza proprietária.
Como usar
- Cole ou escreva o seu texto, comando ou código na caixa.
- Escolha o modelo que pretende utilizar (GPT-4o / GPT-4o mini ou GPT-4 / GPT-3.5).
- A contagem de fichas atualiza-se instantaneamente — alterne entre os modelos para comparar.
- Utilize as contagens de caracteres/palavras apresentadas ao lado como verificação de coerência ou para limites que não se baseiem em tokens.
Exemplo
Entrada
"Hello, world!" (GPT-4o encoding)Resultado
4 tokens, 13 characters, 2 wordsAs frases curtas comuns são frequentemente tokenizadas à razão de 1 token por palavra ou sinal de pontuação, mas isto varia consoante o uso de maiúsculas, os espaços e a língua.
Que tokenizador deve verificar?
As duas codificações não são intercambiáveis — escolha aquela que corresponde ao modelo que está efetivamente a chamar, uma vez que o mesmo texto pode resultar numa contagem de tokens visivelmente diferente em cada uma delas.
| Família de modelos | Tokenizador | Quando utilizar |
|---|---|---|
| Modelos de raciocínio GPT-4o, GPT-4o mini, GPT-4.1, o1/o3 | o200k_base | Qualquer versão atual de um modelo da OpenAI — trata-se do tokenizador que a OpenAI tem vindo a disponibilizar para todos os modelos mais recentes desde o GPT-4o. |
| GPT-4, GPT-4-turbo, GPT-3.5-turbo, text-embedding-ada-002 | Cem mil base | Modelos mais antigos ou legados da OpenAI, ou se as suas chamadas à API ainda se dirigirem ao GPT-3.5/GPT-4 (e não ao GPT-4o) por razões de custo. |
| Claude, Gemini, Llama e outros modelos que não são da OpenAI | Nenhuma das duas — não é abordado aqui | Estes fornecedores utilizam os seus próprios tokenizadores (não baseados no tiktoken); as contagens aqui apresentadas não corresponderão aos seus dados de faturação. |
Dicas práticas
- Calcular o custo da API antes de enviar um pedido: multiplique o número de tokens pelo preço por token do seu modelo para obter uma estimativa rápida do custo, em vez de fazer uma estimativa com base no número de caracteres.
- Verificar se um documento longo cabe na janela de contexto de um modelo: cole primeiro o documento na íntegra aqui — é muito mais rápido do que ir por tentativa e erro numa chamada à API que falha a meio do processo.
- Comparar variantes de engenharia de prompts: se estiver a tentar encurtar um prompt do sistema para reduzir custos, cole cada versão aqui para ver diretamente a poupança em tokens, e não apenas «parece mais curto».
- Texto em línguas que não o inglês: o número de tokens para o chinês, o japonês, o coreano e outros alfabetos não latinos é frequentemente muito superior por caractere do que no inglês — verifique isto explicitamente, em vez de partir do princípio de que se aplica a regra dos 4 caracteres por token.
Perguntas frequentes
Por que é que o mesmo texto apresenta uma contagem de tokens diferente consoante o modelo?
O GPT-4o e o GPT-4o mini utilizam um tokenizador mais recente (o200k_base) do que o GPT-4 e o GPT-3.5 (cl100k_base) — as duas codificações dividem o texto num vocabulário diferente de fragmentos, pelo que a mesma entrada pode resultar num número diferente de tokens, dependendo do modelo que estiver a utilizar.
Um token corresponde mesmo a cerca de 4 caracteres?
Essa é uma média aproximada para a prosa em inglês, mas varia bastante: as palavras comuns em inglês correspondem frequentemente a 1 token cada, enquanto as palavras raras, o código e, especialmente, os alfabetos não latinos (chinês, japonês, coreano, árabe) podem exigir um número visivelmente maior de tokens por caractere. Verifique sempre a contagem exata para qualquer situação em que o custo ou o limite sejam importantes, em vez de confiar na regra geral dos 4 caracteres.
Esta ferramenta recorre à API da OpenAI para contar tokens?
Não. Utiliza uma implementação em JavaScript das mesmas codificações do tokenizador (o200k_base, cl100k_base), que funciona inteiramente no seu navegador. Não é necessária nenhuma chave de API, não é efetuada nenhuma solicitação de rede e o seu texto nunca é enviado para lado nenhum.
Por que é que o número de fichas que tenho é importante?
Há duas razões: a tarifação da API é cobrada por token (entrada e saída) e cada modelo tem uma janela de contexto máxima medida em tokens — se o seu prompt, juntamente com a resposta esperada, exceder esse limite, o pedido falha ou é truncado. Verificar antecipadamente o número de tokens evita ambas as surpresas.
Isto funciona com o Claude, o Gemini ou outros modelos que não sejam da OpenAI?
As contagens apresentadas referem-se especificamente aos tokenizadores da OpenAI (o200k_base e cl100k_base). Outros fornecedores utilizam os seus próprios tokenizadores, o que pode resultar em contagens significativamente diferentes para o mesmo texto — esta ferramenta não abrange esses casos.