Elenca e conteggia i token

L'SDK Vertex AI per Python (1.60.0 e versioni successive) include un tokenizzatore integrato, che consente di elencare e conteggiare i token di un prompt localmente senza dover effettuare chiamate API. Questa pagina mostra come elencare i token e i relativi ID token di un prompt e come ottenere un conteggio totale dei token di un prompt utilizzando l'SDK Vertex AI per Python.

Token e l'importanza della loro elencazione e conteggio

I modelli di IA generativa suddividono il testo e altri dati in un prompt in unità chiamate token per l'elaborazione. Il modo in cui i dati vengono convertiti in token dipende dal tokenizer utilizzato. Un token può essere costituito da caratteri, parole o frasi.

Ogni modello ha un numero massimo di token che può gestire in un prompt e nella risposta. Conoscere il numero di token del prompt ti consente di sapere se hai superato o meno questo limite. Inoltre, il conteggio dei token restituisce anche i caratteri fatturabili per il prompt, il che ti aiuta a stimare il costo.

La funzione Token elenco restituisce un elenco dei token in cui è suddiviso il prompt. A ogni token elencato è associato un ID token, che ti aiuta a eseguire la risoluzione dei problemi e ad analizzare il comportamento del modello.

Modelli supportati

La tabella seguente mostra i modelli che supportano l'elenco e il conteggio dei token:

Elenco token Contare i token
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

Recuperare un elenco di token e ID token per un prompt

Il seguente esempio di codice mostra come ottenere un elenco di token e ID token per un prompt. Il prompt deve contenere solo testo. I prompt multimodali non sono supportati.

Gen AI SDK for Python

Installa

pip install --upgrade google-genai
Per scoprire di più, consulta la documentazione di riferimento dell'SDK.

Imposta le variabili di ambiente per utilizzare l'SDK Gen AI con 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'?']
#  )]

Ottenere il conteggio dei token e i caratteri fatturabili di un prompt

Il seguente esempio di codice mostra come ottenere il conteggio dei token e il numero di caratteri fatturabili di un prompt. Sono supportati sia i prompt di solo testo che quelli multimodali.

Gen AI SDK for Python

Installa

pip install --upgrade google-genai
Per scoprire di più, consulta la documentazione di riferimento dell'SDK.

Imposta le variabili di ambiente per utilizzare l'SDK Gen AI con 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