OpenAI
Esta página foi traduzida automaticamente. Veja o artigo original em inglês.

O que são tokens e como contá-los?

Atualizado: 19 days ago

O que são tokens?

Tokens são os blocos de construção do texto que os modelos da OpenAI processam. Eles podem ser tão curtos quanto um único caractere ou tão longos quanto uma palavra inteira, dependendo do idioma e do contexto. Espaços, pontuação e partes de palavras também entram na contagem de tokens. É assim que a API segmenta internamente seu texto antes de gerar uma resposta.

Regras práticas úteis para o inglês:

  • 1 token ≈ 4 caracteres

  • 1 token ≈ ¾ de uma palavra

  • 100 tokens ≈ 75 palavras

  • 1–2 frases ≈ 30 tokens

  • 1 parágrafo ≈ 100 tokens

  • ~1.500 palavras ≈ 2.048 tokens

A tokenização pode variar conforme o idioma. Por exemplo, “Cómo estás” (espanhol para “Como você está”) contém 5 tokens em 10 caracteres. Textos que não são em inglês geralmente produzem uma proporção maior de tokens por caractere, o que pode afetar custos e limites.

Exemplos

Aqui estão alguns exemplos de texto do mundo real com suas contagens aproximadas de tokens:

  • A frase do Wayne Gretzky “You miss 100% of the shots you don’t take” = 11 tokens

  • A Carta da OpenAI = 476 tokens

  • A Declaração de Independência dos EUA = 1.695 tokens

Como a contagem de tokens é calculada

Quando você envia texto para a API:

  1. O texto é dividido em tokens.

  2. O modelo processa esses tokens.

  3. A resposta é gerada como uma sequência de tokens e depois convertida de volta em texto.

O uso de tokens é acompanhado em várias categorias:

  • Tokens de entrada – tokens na sua solicitação.

  • Tokens de saída – tokens gerados na resposta.

  • Tokens em cache – tokens reutilizados no histórico da conversa (geralmente cobrados com uma taxa reduzida).

  • Tokens de raciocínio – em alguns modelos avançados, etapas extras de “pensamento” são incluídas internamente antes de produzir a saída final.

Essas contagens aparecem nos metadados da resposta da API e são usadas para cobrança e acompanhamento de uso.

Para explorar melhor a tokenização, você pode usar nossa ferramenta interativa Tokenizer, que permite calcular o número de tokens e ver como o texto é dividido em tokens.

Como alternativa, se você quiser tokenizar texto programaticamente, use o Tiktoken como um tokenizador BPE rápido usado especificamente para modelos da OpenAI.

Limites de tokens

Cada modelo tem um limite máximo de tokens combinados (entrada + saída). Os modelos atuais de alta capacidade oferecem suporte a até centenas de milhares de tokens no contexto, embora os limites práticos possam variar dependendo da versão do modelo e do seu nível de uso.

Se você exceder o limite, pode:

  • Encurtar ou reformular prompts.

  • Dividir textos grandes em partes menores.

  • Resumir ou pré-processar entradas antes de enviá-las.

Precificação de tokens

O uso da API é cobrado por token, variando conforme o modelo e se os tokens são de entrada, saída ou cache. Consulte a página de preços da OpenAI para ver as tarifas atuais. Alguns modelos de raciocínio podem usar mais tokens internamente, mas buscam melhorar a eficiência reduzindo o número de tokens necessários por tarefa concluída.

Explorando tokens

A API trata as palavras de acordo com o contexto delas nos dados do corpus. Os modelos recebem o prompt, convertem a entrada em uma lista de tokens, processam o prompt e convertem os tokens previstos de volta nas palavras que vemos na resposta.

O que pode parecer para nós como duas palavras idênticas pode ser gerado em tokens diferentes, dependendo de como elas estão estruturadas no texto. Considere como a API gera valores de tokens para a palavra ‘red’ com base no contexto dela no texto:

Sentence split into color-coded tokens with Text selected over Token IDs
Token ID output as a list of integers with the Token IDs tab selected

No primeiro exemplo acima, o token “2266” para ‘ red’ inclui um espaço no final (observação: estes são IDs de token de exemplo apenas para fins de demonstração).

Sentence split into color-coded token blocks: My favorite color is Red.
Tokenizer output with Token IDs selected and a list of numeric token IDs

O token “2296” para ‘ Red’ (com um espaço no início e começando com letra maiúscula) é diferente do token “2266” para ‘ red’ com letra minúscula.

Tokenizer example splitting “Red is my favorite color.” into color-coded tokens
Tokenizer output with Token IDs selected and a list of token ID numbers

Quando ‘Red’ é usado no começo de uma frase, o token gerado não inclui um espaço no início. O token “7738” é diferente dos dois exemplos anteriores da palavra.

Observações:

Quanto mais provável/frequente um token for, menor é o número de token atribuído a ele:

  • O token gerado para o ponto final é o mesmo (“13”) nas 3 frases. Isso ocorre porque, contextualemente, o ponto final é usado de forma bastante semelhante em todo o corpus.

  • O token gerado para ‘red’ varia dependendo da posição dele na frase:

    • Minúscula no meio de uma frase: ‘ red’ - (token: “2266”)

    • Maiúscula no meio de uma frase: ‘ Red’ - (token: “2297”)

    • Maiúscula no começo de uma frase: ‘Red’ - (token: “7738”)

Este artigo foi útil?