Visão geral
Tokens são as unidades usadas pelos modelos da OpenAI para processar texto. Um token pode representar um caractere, parte de uma palavra, uma palavra inteira ou um sinal de pontuação. Os espaços também afetam a divisão do texto em tokens.
A contagem de tokens não é igual à contagem de palavras. O mesmo texto pode gerar contagens de tokens diferentes dependendo do modelo, de sua codificação e do idioma.
Entenda como o texto se transforma em tokens
Quando você envia texto a um modelo:
O texto é dividido em tokens.
O modelo processa esses tokens.
O modelo gera tokens de saída. Eles podem incluir o texto recebido e, nos modelos de raciocínio, tokens de raciocínio interno que não aparecem no texto da resposta.
Use estimativas aproximadas para textos em inglês
Estas estimativas podem ajudar a avaliar o tamanho de um texto em inglês:
1 token corresponde a aproximadamente 4 caracteres.
1 token corresponde a aproximadamente três quartos de uma palavra.
100 tokens correspondem a aproximadamente 75 palavras.
Esses valores são estimativas, não contagens exatas. O tamanho de frases e parágrafos varia, e outros idiomas podem apresentar relações diferentes entre caracteres, palavras e tokens.
Considere os espaços e o uso de maiúsculas
Uma palavra pode ser dividida em tokens diferentes dependendo da grafia, do uso de maiúsculas e do texto ao redor.
Por exemplo, red, Red e red não contêm textos idênticos: o último exemplo inclui um espaço no início. Uma codificação pode representá-los de maneiras diferentes.
Os IDs dos tokens também dependem da codificação. Não presuma que um exemplo de ID de token se aplique a todos os modelos.
Diferencie tokens de entrada e de saída
| Categoria | O que descreve |
| Tokens de entrada | Tokens fornecidos ao modelo em uma solicitação. Eles também são chamados de tokens de prompt. |
| Tokens de saída | Tokens gerados pelo modelo. A API Chat Completions os chama de tokens de conclusão. |
| Tokens de entrada em cache | Tokens de entrada reutilizados por meio do cache de prompts. O preço deles pode ser diferente do preço dos tokens de entrada que não estão em cache. |
| Tokens de raciocínio | Tokens que um modelo de raciocínio usa internamente antes de produzir a resposta visível. |
Os tokens de raciocínio não aparecem no texto da resposta, mas contam para o uso de saída e são cobrados como tokens de saída.
Portanto, uma resposta visível curta pode usar mais tokens do que o texto exibido sugere.
Conte os tokens antes de enviar uma solicitação
Conte tokens de texto simples
Use o Tokenizador para ver como o texto é dividido em tokens.
Para tokenizar texto simples por meio de código, use o tiktoken. Selecione a codificação do modelo de destino, por exemplo, com tiktoken.encoding_for_model(model).
A contagem de tokens de texto simples não inclui necessariamente todos os tokens de uma solicitação à API. A estrutura das mensagens, as ferramentas, os esquemas, as imagens e os arquivos podem afetar a contagem total da entrada.
Conte uma entrada completa da API Responses
Para uma entrada completa da API Responses, use a API de contagem de tokens de entrada.
Ela aceita os formatos de entrada da API Responses, incluindo mensagens, imagens, arquivos, ferramentas e conversas. A contagem inclui tokens de formatação usados na estrutura da solicitação, como funções e limites das mensagens.
A contagem da entrada não prevê quantos tokens de saída o modelo gerará.
Verifique o uso real de tokens
Após uma solicitação, consulte as informações de uso. Os nomes dos campos variam de acordo com o endpoint:
A API Chat Completions informa prompt_tokens, completion_tokens e total_tokens.
A API Responses informa input_tokens, output_tokens e total_tokens.
Você também pode consultar a atividade ao longo do tempo no Painel de uso. Para ver instruções, inclusive sobre o uso com streaming, consulte: Como consultar o uso e os custos da API.
Respeite os limites do modelo
Consulte a documentação do modelo para verificar a janela de contexto e a saída máxima. Esses limites podem variar entre os modelos.
A janela de contexto limita os tokens que um modelo pode processar em uma solicitação. Os modelos também têm um limite de saída. Para modelos de raciocínio, reserve espaço tanto para os tokens de raciocínio quanto para a resposta visível.
Se a entrada for grande demais, você poderá:
Encurtar ou reformular o prompt.
Remover contexto desnecessário ou repetido.
Dividir entradas grandes em partes menores.
Resumir ou pré-processar o texto antes do envio.
Use a configuração de tokens de saída compatível com seu endpoint e modelo. A API Chat Completions usa max_completion_tokens; a API Responses usa max_output_tokens.
Esses limites de tamanho das solicitações são distintos dos limites de taxa da API e dos limites mensais de uso ou gastos. Consulte a documentação do modelo que você usa.
Entenda a cobrança por tokens
Na cobrança da API com base em tokens, a tarifa depende do modelo e da categoria de token. Tokens de entrada, de entrada em cache e de saída podem ter preços diferentes. Outros recursos da API podem usar unidades de cobrança diferentes.
Consulte as tarifas atuais na página de preços da API.
Ao comparar modelos, considere o total de tokens e o custo necessários para concluir sua tarefa. Um preço menor por milhão de tokens não resulta necessariamente em um custo total menor: os modelos podem tokenizar o mesmo texto de maneiras diferentes e gerar quantidades distintas de saída ou raciocínio.
Teste tarefas representativas em vez de comparar apenas o tamanho da resposta visível.
Considere várias conclusões
Quando um endpoint e um modelo permitem gerar várias conclusões, essas conclusões adicionais também usam tokens.
Na API Chat Completions, definir n acima de 1 gera várias opções. A cobrança inclui os tokens gerados em todas essas opções.
Na API Completions legada, best_of pode gerar candidatos que não são todos retornados. Por exemplo, best_of = 3 pode gerar até 3 × max_tokens tokens de conclusão entre os candidatos.
Esses parâmetros são específicos de cada endpoint. Não presuma que outra API ou modelo seja compatível com n ou best_of.
