Listar e contar tokens

O SDK da Vertex AI para Python (1.60.0 e mais recentes) inclui um tokenizer integrado, que permite listar e contar os tokens de um comando localmente sem precisar fazer chamadas de API. Esta página mostra como listar os tokens e os IDs deles de um comando e como conferir uma contagem total de tokens de um comando usando o SDK da Vertex AI para Python.

Tokens e a importância da listagem e contagem de tokens

Os modelos de IA generativa dividem o texto e outros dados em um comando em unidades chamadas tokens para processamento. A maneira como os dados são convertidos em tokens depende do tokenizador usado. Um token pode ser composto por caracteres, palavras ou frases.

Cada modelo tem um número máximo de tokens que pode ser processado em um comando e uma resposta. Saber a contagem de tokens da solicitação permite saber se você excedeu esse limite ou não. Além disso, a contagem de tokens também retorna os caracteres facturáveis do comando, o que ajuda a estimar o custo.

O comando "List tokens" retorna uma lista dos tokens em que o comando é dividido. Cada token listado está associado a um ID de token, que ajuda você a realizar solucionar problemas e analisar o comportamento do modelo.

Modelos compatíveis

A tabela a seguir mostra os modelos compatíveis com a listagem e a contagem de tokens:

Listar tokens Contar Tokens
gemini-1.5-flash-002 gemini-1.5-flash-002
gemini-1.5-pro-002 gemini-1.5-pro-002
gemini-1.0-pro-002
gemini-1.0-pro-vision-001

Receber uma lista de tokens e IDs de token de um comando

O exemplo de código abaixo mostra como receber uma lista de tokens e IDs de token para um comando. A solicitação precisa conter apenas texto. Não há suporte para comandos multimodais.

Gen AI SDK for Python

Instalar

pip install --upgrade google-genai
Para saber mais, consulte a documentação de referência do SDK.

Defina variáveis de ambiente para usar o SDK da IA generativa com a Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=us-central1
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import HttpOptions

client = genai.Client(http_options=HttpOptions(api_version="v1"))
response = client.models.compute_tokens(
    model="gemini-2.0-flash-001",
    contents="What's the longest word in the English language?",
)

print(response)
# Example output:
# tokens_info=[TokensInfo(
#    role='user',
#    token_ids=[1841, 235303, 235256, 573, 32514, 2204, 575, 573, 4645, 5255, 235336],
#    tokens=[b'What', b"'", b's', b' the', b' longest', b' word', b' in', b' the', b' English', b' language', b'?']
#  )]

Receber a contagem de tokens e os caracteres faturáveis de um comando

O exemplo de código abaixo mostra como conferir a contagem de tokens e o número de caracteres faturáveis de um comando. Tanto os comandos somente de texto quanto os multimodais suporte.

Gen AI SDK for Python

Instalar

pip install --upgrade google-genai
Para saber mais, consulte a documentação de referência do SDK.

Defina variáveis de ambiente para usar o SDK da IA generativa com a Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=us-central1
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import HttpOptions

client = genai.Client(http_options=HttpOptions(api_version="v1"))

prompt = "Why is the sky blue?"

# Send text to Gemini
response = client.models.generate_content(
    model="gemini-2.0-flash-001", contents=prompt
)

# Prompt and response tokens count
print(response.usage_metadata)

# Example output:
#  cached_content_token_count=None
#  candidates_token_count=311
#  prompt_token_count=6
#  total_token_count=317