Elenca e conta 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 all'API. Questa pagina mostra come elencare i token e i relativi ID di un prompt e come ottenere un conteggio totale dei token per 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 composto 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 caratteri per il prompt, il che consente di stimare i costi.

L'elenco dei token restituisce un elenco dei token in cui è suddiviso il tuo prompt. Ogni token elencato è associato a un ID token, consentendoti di eseguire risolvere i problemi e analizzare il comportamento del modello.

Modelli supportati

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

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 una richiesta

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.

Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta documentazione di riferimento dell'API Python.

from vertexai.preview.tokenization import get_tokenizer_for_model

# init local tokenzier
tokenizer = get_tokenizer_for_model("gemini-1.5-flash-001")

# Count Tokens
prompt = "why is the sky blue?"
response = tokenizer.count_tokens(prompt)
print(f"Tokens count: {response.total_tokens}")
# Example response:
#       Tokens count: 6

# Compute Tokens
response = tokenizer.compute_tokens(prompt)
print(f"Tokens list: {response.tokens_info}")
# Example response:
#     Tokens list: [TokensInfo(token_ids=[18177, 603, 573, 8203, 3868, 235336],
#          tokens=[b'why', b' is', b' the', b' sky', b' blue', b'?'], role='user')]

Recupero del numero di token e di caratteri fatturabili di una richiesta

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 sia quelli multimodali.

Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.

from vertexai.preview.tokenization import get_tokenizer_for_model

# Using local tokenzier
tokenizer = get_tokenizer_for_model("gemini-1.5-flash-002")

prompt = "hello world"
response = tokenizer.count_tokens(prompt)
print(f"Prompt Token Count: {response.total_tokens}")
# Example response:
# Prompt Token Count: 2

prompt = ["hello world", "what's the weather today"]
response = tokenizer.count_tokens(prompt)
print(f"Prompt Token Count: {response.total_tokens}")
# Example response:
# Prompt Token Count: 8