L'API CountTokens calcola il numero di token di input prima di inviare una richiesta all'API Gemini.
Utilizza l'API CountTokens per impedire che le richieste superino la finestra contestuale del modello e stimare i potenziali costi in base ai caratteri o ai token fatturabili.
L'API CountTokens può utilizzare lo stesso parametro contents
delle richieste di inferenza dell'API Gemini.
Modelli supportati
- Anteprima di Gemini 2.5 Flash Image (anteprima)
- Gemini 2.5 Flash-Lite
- Gemini 2.0 Flash con generazione di immagini (anteprima)
- Vertex AI Model Optimizer (sperimentale)
- Gemini 2.5 Pro
- Gemini 2.5 Flash
- Gemini 2.0 Flash
- Gemini 2.0 Flash-Lite
Elenco dei parametri
Questa classe è costituita da due proprietà principali: role
e parts
. La proprietà role
indica l'individuo che produce i contenuti, mentre la proprietà parts
contiene più elementi, ognuno dei quali rappresenta un segmento di dati all'interno di un
messaggio.
Parametri | |
---|---|
|
(Facoltativo) L'identità dell'entità che crea il messaggio. Imposta la stringa su uno dei seguenti valori:
Il valore Per le conversazioni non multi-turn, questo campo può essere lasciato vuoto o non impostato. |
|
Un elenco di parti ordinate che compongono un singolo messaggio. Le diverse parti possono avere tipi MIME IANA diversi. |
Part
Un tipo di dati contenente contenuti multimediali che fanno parte di un messaggio Content
in più parti.
Parametri | |
---|---|
|
(Facoltativo) Un prompt di testo o uno snippet di codice. |
|
(Facoltativo) Dati incorporati in byte non elaborati. |
|
(Facoltativo) Dati archiviati in un file. |
Blob
Blob di contenuti. Se possibile, invia il testo anziché i byte non elaborati.
Parametri | |
---|---|
|
Tipo MIME IANA dei dati. |
|
Byte non elaborati. |
FileData
Dati basati sull'URI.
Parametri | |
---|---|
|
Tipo MIME IANA dei dati. |
|
L'URI Cloud Storage del file che archivia i dati. |
system_instruction
Questo campo è per system_instructions
forniti dall'utente. È uguale a contents
, ma con un supporto limitato dei tipi di contenuti.
Parametri | |
---|---|
|
Tipo MIME IANA dei dati. Questo campo viene ignorato internamente. |
|
Solo testo. Istruzioni che gli utenti vogliono trasmettere al modello. |
FunctionDeclaration
Una rappresentazione strutturata di una dichiarazione di funzione come definita dalla specifica OpenAPI 3.0 che rappresenta una funzione per cui il modello può generare input JSON.
Parametri | |
---|---|
|
Il nome della funzione da chiamare. |
|
(Facoltativo) Descrizione e scopo della funzione. |
|
(Facoltativo) Descrive i parametri della funzione nel formato dell'oggetto schema JSON OpenAPI: specifica OpenAPI 3.0. |
|
(Facoltativo) Descrive l'output della funzione nel formato dell'oggetto schema JSON OpenAPI: specifica OpenAPI 3.0. |
Esempi
Ottenere il conteggio dei token dal prompt di testo
Questo esempio conteggia i token di un singolo prompt di testo:
REST
Per ottenere il conteggio dei token e il numero di caratteri fatturabili per un prompt utilizzando l'API Vertex AI, invia una richiestaPOST
all'endpoint del modello publisher.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION: la regione in cui elaborare la richiesta. Le opzioni
disponibili includono:
Fai clic per espandere un elenco parziale delle regioni disponibili
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
- PROJECT_ID: il tuo ID progetto
- MODEL_ID: L'ID modello del modello multimodale che vuoi utilizzare.
- ROLE:
Il ruolo in una conversazione associata ai contenuti. La specifica di un ruolo è obbligatoria anche nei casi d'uso
a singolo turno.
I valori accettabili includono:
USER
: specifica i contenuti inviati da te.
- TEXT: Le istruzioni di testo da includere nel prompt.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens
Corpo JSON della richiesta:
{ "contents": [{ "role": "ROLE", "parts": [{ "text": "TEXT" }] }] }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente.
Python
Installa
pip install --upgrade google-genai
Per saperne 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=global export GOOGLE_GENAI_USE_VERTEXAI=True
Go
Scopri come installare o aggiornare Go.
Per saperne 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=global export GOOGLE_GENAI_USE_VERTEXAI=True
Node.js
Installa
npm install @google/genai
Per saperne 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=global export GOOGLE_GENAI_USE_VERTEXAI=True
Java
Scopri come installare o aggiornare Java.
Per saperne 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=global export GOOGLE_GENAI_USE_VERTEXAI=True
Ottenere il conteggio dei token dal prompt dei contenuti multimediali
Questo esempio conta i token di un prompt che utilizza vari tipi di media.
REST
Per ottenere il conteggio dei token e il numero di caratteri fatturabili per un prompt utilizzando l'API Vertex AI, invia una richiestaPOST
all'endpoint del modello publisher.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION: la regione in cui elaborare la richiesta. Le opzioni
disponibili includono:
Fai clic per espandere un elenco parziale delle regioni disponibili
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
- PROJECT_ID: .
- MODEL_ID: L'ID modello del modello multimodale che vuoi utilizzare.
- ROLE:
Il ruolo in una conversazione associata ai contenuti. La specifica di un ruolo è obbligatoria anche nei casi d'uso
a singolo turno.
I valori accettabili includono:
USER
: specifica i contenuti inviati da te.
- TEXT: Le istruzioni di testo da includere nel prompt.
- FILE_URI:
L'URI o l'URL del file da includere nel prompt. I valori accettabili includono:
- URI del bucket Cloud Storage:l'oggetto deve essere leggibile pubblicamente o risiedere nello stesso progetto Google Cloud che invia la richiesta. Per
gemini-2.0-flash
egemini-2.0-flash-lite
, il limite di dimensioni è di 2 GB. - URL HTTP:l'URL del file deve essere leggibile pubblicamente. Puoi specificare un file video, un file audio e fino a 10 file immagine per richiesta. I file audio, video e i documenti non possono superare i 15 MB.
- URL del video di YouTube: il video di YouTube deve essere di proprietà dell'account che hai utilizzato per accedere alla console Google Cloud o deve essere pubblico. È supportato un solo URL di video di YouTube per richiesta.
Quando specifichi un
fileURI
, devi anche specificare il tipo di media (mimeType
) del file. Se Controlli di servizio VPC è abilitato, la specifica di un URL del file multimediale perfileURI
non è supportata. - URI del bucket Cloud Storage:l'oggetto deve essere leggibile pubblicamente o risiedere nello stesso progetto Google Cloud che invia la richiesta. Per
- MIME_TYPE:
Il tipo di media del file specificato nei campi
data
ofileUri
. I valori accettabili includono:Fai clic per espandere i tipi MIME
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
image/webp
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens
Corpo JSON della richiesta:
{ "contents": [{ "role": "ROLE", "parts": [ { "file_data": { "file_uri": "FILE_URI", "mime_type": "MIME_TYPE" } }, { "text": "TEXT } ] }] }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
ed esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente.
Python
Installa
pip install --upgrade google-genai
Per saperne 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=global export GOOGLE_GENAI_USE_VERTEXAI=True
Go
Scopri come installare o aggiornare Go.
Per saperne 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=global export GOOGLE_GENAI_USE_VERTEXAI=True
Node.js
Installa
npm install @google/genai
Per saperne 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=global export GOOGLE_GENAI_USE_VERTEXAI=True
Java
Scopri come installare o aggiornare Java.
Per saperne 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=global export GOOGLE_GENAI_USE_VERTEXAI=True
Passaggi successivi
- Scopri di più sull'API Gemini.