O que são tokens?
Tokens são os blocos básicos de 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 palavras parciais contribuem para a 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 varia conforme o modelo e a codificação. Use a ferramenta Tokenizer ou tiktoken.encoding_for_model(model) para obter a contagem exata do seu modelo de destino.
Exemplos
Veja alguns exemplos de textos do mundo real com suas contagens aproximadas de tokens:
A citação de Wayne Gretzky “Você erra 100% dos arremessos que não faz” = 11 tokens
A Carta da OpenAI = 476 tokens
A Declaração de Independência dos EUA = 1.695 tokens
Como as contagens de tokens são calculadas
Quando você envia texto para a API:
O texto é dividido em tokens.
O modelo processa esses tokens.
A resposta é gerada como uma sequência de tokens e depois convertida de volta em texto.
O uso de tokens é monitorado 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 a uma tarifa reduzida).
Tokens de raciocínio – em alguns modelos avançados, etapas extras de “raciocínio” 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 monitoramento de uso.
Para explorar mais a tokenização, você pode usar nossa ferramenta Tokenizer interativa, que permite calcular o número de tokens e ver como o texto é dividido em tokens.
Como alternativa, se quiser tokenizar texto programaticamente, use Tiktoken como um tokenizador BPE rápido usado especificamente para modelos da OpenAI.
Limites de tokens
Cada modelo tem um limite máximo combinado de tokens (entrada + saída). Os modelos atuais de alta capacidade aceitam até centenas de milhares de tokens em contexto, embora os limites práticos possam variar conforme a versão do modelo e 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.
Preços de tokens
O uso da API é precificado por token, variando por modelo e conforme os tokens sejam de entrada, de saída ou em 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 seu contexto 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 duas palavras idênticas para nós pode ser gerado como tokens diferentes, dependendo de como elas estão estruturadas no texto. Considere como a API gera valores de token para a palavra ‘red’ com base no contexto dela no texto:
No primeiro exemplo acima, o token “2266” para ‘ red’ inclui um espaço à direita (observação: estes são IDs de token de exemplo para fins de demonstração).
O token “2296” para ‘ Red’ (com um espaço inicial e começando com letra maiúscula) é diferente do token “2266” para ‘ red’ com letra minúscula.
Quando ‘Red’ é usado no início de uma frase, o token gerado não inclui um espaço inicial. O token “7738” é diferente dos dois exemplos anteriores da palavra.
Observações:
Quanto mais provável/frequente é um token, menor é o número de token atribuído a ele:
O token gerado para o ponto final é o mesmo (“13”) em todas as 3 frases. Isso acontece porque, contextualmente, o ponto final é usado de forma bastante semelhante em todos os dados do corpus.
O token gerado para ‘red’ varia dependendo de sua posição 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 início de uma frase: ‘Red’ - (token: “7738”)
