Utilizza l'API CountTokens per evitare che le richieste superino la finestra di contesto del modello e stima i costi potenziali in base ai caratteri fatturabili.
L'API CountTokens può utilizzare lo stesso parametro contents
delle richieste di inferenza dell'API Gemini.
Modelli supportati:
Modello | Codice |
---|---|
Gemini 1.5 Flash (anteprima) | gemini-1.5-flash-preview-0514 |
Gemini 1.5 Pro (anteprima) | gemini-1.5-pro-preview-0514 |
Gemini 1.0 Pro Vision | gemini-1.0-pro-vision gemini-1.0-pro-vision-001 |
Gemini 1.0 Pro | gemini-1.0-pro gemini-1.0-pro-001 gemini-1.0-pro-002 |
Gemini - sperimentale | gemini-experimental |
Limitazioni:
gemini-1.0-pro-vision-001
e gemini-1.0-ultra-vision-001
utilizzano un numero
fisso di token per gli input video.
Sintassi di esempio
Sintassi per inviare una richiesta di token di conteggio.
arricciatura
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:countTokens \ -d '{ "contents": [{ ... }], "system_instruction": { "role": "...", "parts": [{ ... }], "tools": [{ "function_declarations": [{ ... }] }], } }'
Python
gemini_model = GenerativeModel(MODEL_ID) model_response = gemini_model.count_tokens([...])
Elenco parametri
Questa classe è costituita da due proprietà principali: role
e parts
. La proprietà role
indica la persona 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 a più turni, questo campo può essere lasciato vuoto o non impostato. |
|
Un elenco di parti ordinate che compongono un singolo messaggio. Parti diverse possono avere tipi MIME IANA diversi. |
Part
Un tipo di dati contenente contenuti multimediali all'interno di un messaggio Content
in più parti.
Parametri | |
---|---|
|
Facoltativo: Un prompt di testo o uno snippet di codice. |
|
Facoltativo: Dati in linea in byte non elaborati. |
|
Facoltativo: Dati archiviati in un file. |
Blob
BLOB di contenuti. Se possibile, inviali come testo e non come byte non elaborati.
Parametri | |
---|---|
|
Tipo MIME IANA dei dati. |
|
Byte non elaborati. |
FileData
Dati basati su URI.
Parametri | |
---|---|
|
Tipo MIME IANA dei dati. |
|
L'URI Cloud Storage del file in cui sono archiviati i dati. |
system_instruction
Questo campo è per il campo system_instructions
fornito dall'utente. È uguale a contents
, ma con un supporto limitato per i tipi di contenuti.
Parametri | |
---|---|
|
Tipo MIME IANA dei dati. Questo campo viene ignorato internamente. |
|
Solo testo. Istruzioni che gli utenti vogliono passare 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: OpenAPI 3.0 specifica. |
Esempi
Ottieni il conteggio dei token dal prompt di testo
Questo esempio conteggia i token di un singolo prompt di testo:
REST
Per ottenere il numero di token e il numero di caratteri fatturabili per una richiesta utilizzando l'API Vertex AI, invia una richiesta POST
all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION: la regione in cui elaborare la richiesta. Le opzioni disponibili sono le seguenti:
Fai clic per espandere le 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 del modello multimodale che vuoi utilizzare.
- ROLE:
il ruolo in una conversazione associato ai contenuti. È necessario specificare un ruolo
anche nei casi d'uso a turno singolo.
I valori accettati includono:
USER
: specifica i contenuti inviati da te.
- TEXT: le istruzioni di testo da includere nel prompt.
- NAME: il nome della funzione da chiamare.
- DESCRIPTION: descrizione e scopo della funzione.
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" }] }], "system_instruction": { "role": "ROLE", "parts": [{ "text": "TEXT" }] } "tools": [{ "function_declarations": [ { "name": "NAME", "description": "DESCRIPTION", "parameters": { "type": "OBJECT", "properties": { "location": { "type": "TYPE", "description": "DESCRIPTION" } }, "required": [ "location" ] } } ] }] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
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 in formato JSON simile alla seguente.
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.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ottieni il numero di token dal prompt dei contenuti multimediali
In questo esempio vengono conteggiati i token di un prompt che utilizza vari tipi di contenuti multimediali.
REST
Per ottenere il numero di token e il numero di caratteri fatturabili per una richiesta utilizzando l'API Vertex AI, invia una richiesta POST
all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION: la regione in cui elaborare la richiesta. Le opzioni disponibili sono le seguenti:
Fai clic per espandere le 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 del modello multimodale che vuoi utilizzare.
- ROLE:
il ruolo in una conversazione associato ai contenuti. È necessario specificare un ruolo
anche nei casi d'uso a turno singolo.
I valori accettati includono:
USER
: specifica i contenuti inviati da te.
- TEXT: le istruzioni di testo da includere nel prompt.
- FILE_URI: l'URI Cloud Storage dell'immagine o del video da includere nel prompt. Il bucket in cui viene archiviato il file deve trovarsi nello stesso progetto Google Cloud che invia la richiesta. Devi anche specificare MIMETYPE.
- MIME_TYPE:
il tipo multimediale dell'immagine, del PDF o del video specificato nei campi
data
ofileUri
. I valori accettati includono:Fai clic per espandere i tipi MIME
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
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 delle seguenti opzioni:
arricciatura
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 in formato JSON simile alla seguente.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Passaggi successivi
- Scopri di più sull'API Gemini.