Usa generateContent
o streamGenerateContent
per generare contenuti con Gemini.
La famiglia di modelli Gemini include modelli che funzionano con richieste di prompt multimodali. Il termine multimodale indica che puoi utilizzare più di una modalità o tipo di input in un prompt. I modelli non multimodali accettano prompt solo con testo. Le modalità possono includere testo, audio, video e altro ancora.
Crea un account Google Cloud per iniziare
Per iniziare a utilizzare l'API Vertex AI per Gemini, crea un account Google Cloud.
Dopo aver creato il tuo account, utilizza questo documento per esaminare il corpo della richiesta, i parametri del modello, il corpo della risposta e alcune richieste di esempio del modello Gemini.
Quando è tutto pronto, consulta la guida introduttiva all'API Vertex AI per Gemini per scoprire come inviare una richiesta all'API Vertex AI Gemini utilizzando un SDK di un linguaggio di programmazione o l'API REST.
Modelli supportati
Modello | Versione |
---|---|
Gemini 1.5 Flash | gemini-1.5-flash-001 gemini-1.5-flash-002 |
Gemini 1.5 Pro | gemini-1.5-pro-001 gemini-1.5-pro-002 |
Gemini 1.0 Pro Vision | gemini-1.0-pro-001 gemini-1.0-pro-vision-001 |
Gemini 1.0 Pro | gemini-1.0-pro gemini-1.0-pro-001 gemini-1.0-pro-002 |
Sintassi di esempio
Sintassi per generare una risposta del modello.
Non in streaming
curl
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}:generateContent \ -d '{ "contents": [{ ... }], "generationConfig": { ... }, "safetySettings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) generation_config = GenerationConfig(...) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...})
Streaming
curl
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}:streamGenerateContent \ -d '{ "contents": [{ ... }], "generationConfig": { ... }, "safetySettings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...}, stream=True)
Elenco dei parametri
Per informazioni dettagliate sull'implementazione, consulta gli esempi.
Corpo della richiesta
{ "cachedContent": string, "contents": [ { "role": string, "parts": [ { // Union field data can be only one of the following: "text": string, "inlineData": { "mimeType": string, "data": string }, "fileData": { "mimeType": string, "fileUri": string }, // End of list of possible types for union field data. "videoMetadata": { "startOffset": { "seconds": integer, "nanos": integer }, "endOffset": { "seconds": integer, "nanos": integer } } } ] } ], "systemInstruction": { "role": string, "parts": [ { "text": string } ] }, "tools": [ { "functionDeclarations": [ { "name": string, "description": string, "parameters": { object (OpenAPI Object Schema) } } ] } ], "safetySettings": [ { "category": enum (HarmCategory), "threshold": enum (HarmBlockThreshold) } ], "generationConfig": { "temperature": number, "topP": number, "topK": number, "candidateCount": integer, "maxOutputTokens": integer, "presencePenalty": float, "frequencyPenalty": float, "stopSequences": [ string ], "responseMimeType": string, "responseSchema": schema, "seed": integer, "responseLogprobs": boolean, "logprobs": integer, "audioTimestamp": boolean }, "labels": { string: string } }
Il corpo della richiesta contiene i dati con i seguenti parametri:
Parametri | |
---|---|
| (Facoltativo)
Il nome dei contenuti memorizzati nella cache utilizzati come contesto per fornire la previsione. Formato:
|
|
Obbligatorio: I contenuti della conversazione corrente con il modello. Per le query con un solo tratto, si tratta di una singola istanza. Per le query con più turni, si tratta di un campo ripetuto che contiene la cronologia della conversazione e l'ultima richiesta. |
|
(Facoltativo) Disponibile per Istruzioni per il modello per indirizzarlo verso un rendimento migliore. Ad esempio, "Rispondi nel modo più conciso possibile" o "Non utilizzare termini tecnici nella risposta". Le stringhe Il campo |
|
Facoltativo. Un frammento di codice che consente al sistema di interagire con sistemi esterni per eseguire un'azione o un insieme di azioni al di fuori della conoscenza e dell'ambito del modello. Vedi Chiamate di funzione. |
|
Facoltativo. Vedi Chiamate di funzione. |
|
(Facoltativo) Impostazioni per richiesta per il blocco di contenuti non sicuri. Applicata il giorno |
|
(Facoltativo) Impostazioni di configurazione della generazione. |
|
(Facoltativo) Metadati che puoi aggiungere alla chiamata API nel formato di coppie chiave-valore. |
contents
Il tipo di dati strutturati di base contenente i contenuti suddivisi in più parti di un messaggio.
Questa classe è composta da due proprietà principali: role
e parts
. La proprietà role
indica la persona che produce i contenuti, mentre la proprietà parts
contiene più elementi, ciascuno dei quali rappresenta un segmento di dati all'interno
di un messaggio.
Parametri | |
---|---|
|
(Facoltativo) L'identità dell'entità che crea il messaggio. Sono supportati i seguenti valori:
Il valore Per le conversazioni non con 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. Per i limiti agli input, ad esempio il numero massimo di token o il numero di immagini, consulta le specifiche del modello nella pagina Modelli Google. Per calcolare il numero di token nella richiesta, consulta Ottieni il conteggio dei token. |
parts
Un tipo di dati contenente contenuti multimediali che fanno parte di un messaggio Content
con più parti.
Parametri | |
---|---|
|
(Facoltativo) Un prompt di testo o uno snippet di codice. |
|
(Facoltativo) Dati in linea in byte non elaborati. Per |
|
(Facoltativo) Dati archiviati in un file. |
|
(Facoltativo) Contiene una stringa che rappresenta il campo Vedi Chiamate di funzione. |
|
(Facoltativo) L'output del risultato di un Vedi Chiamate di funzione. |
|
(Facoltativo) Per l'input video, l'offset di inizio e di fine del video in formato Duration. Ad esempio, per specificare un clip di 10 secondi che inizia a 1:00, imposta I metadati devono essere specificati solo quando i dati video sono presentati in |
blob
Blob di contenuti. Se possibile, invia il messaggio come testo anziché come byte non elaborati.
Parametri | |
---|---|
|
data o fileUri . I valori accettabili sono:
Fai clic per espandere i tipi MIME
Per Per Gemini 1.5 Pro e Gemini 1.5 Flash, la durata massima di un file audio è di 8,4 ore e quella di un file video (senza audio) è di un'ora. Per saperne di più, consulta i requisiti relativi ai contenuti multimediali di Gemini 1.5 Pro. I file di testo devono essere codificati in UTF-8. I contenuti del file di testo vengono conteggiati ai fini del limite di token. Non è previsto alcun limite alla risoluzione delle immagini. |
|
La codifica Base64 dell'immagine, del PDF o del video da includere in linea nel prompt. Quando includi i contenuti multimediali in linea, devi anche specificare il tipo di media ( Dimensioni massime: 20 MB |
FileData
Dati URI o URL web.
Parametri | |
---|---|
|
Tipo MIME IANA dei dati. |
|
L'URI o l'URL del file da includere nel prompt. I valori accettati includono:
Quando specifichi un |
functionCall
Un valore functionCall
previsto restituito dal modello che contiene una stringa rappresentante il valore functionDeclaration.name
e un oggetto JSON strutturato contenente i parametri e i relativi valori.
Parametri | |
---|---|
|
Il nome della funzione da chiamare. |
|
I parametri e i valori della funzione in formato oggetto JSON. Per i dettagli dei parametri, consulta Chiamata di funzioni. |
functionResponse
L'output risultante da un FunctionCall
contenente una stringa che rappresenta il
FunctionDeclaration.name
. Contiene anche un oggetto JSON strutturato con l'output della funzione (e lo utilizza come contesto per il modello). Deve contenere il risultato di un FunctionCall
effettuato in base alla previsione del modello.
Parametri | |
---|---|
|
Il nome della funzione da chiamare. |
|
La risposta della funzione in formato oggetto JSON. |
videoMetadata
Metadati che descrivono i contenuti video in input.
Parametri | |
---|---|
|
(Facoltativo) L'offset di inizio del video. |
|
(Facoltativo) L'offset di fine del video. |
safetySetting
Impostazioni di sicurezza.
Parametri | |
---|---|
|
(Facoltativo)
La categoria di sicurezza per la quale configurare una soglia. I valori accettati sono:
Fai clic per espandere le categorie di sicurezza
|
|
(Facoltativo) La soglia per bloccare le risposte che potrebbero appartenere alla categoria di sicurezza specificata in base alla probabilità.
|
|
(Facoltativo) Specifica se la soglia viene utilizzata per il punteggio di probabilità o gravità. Se non specificato, la soglia viene utilizzata per il punteggio di probabilità. |
harmCategory
Categorie dannose che bloccano i contenuti.
Parametri | |
---|---|
|
La categoria di danno non è specificata. |
|
La categoria di danno è incitamento all'odio. |
|
La categoria di danno è Contenuti pericolosi. |
|
La categoria di danno è molestie. |
|
La categoria di danno è Contenuti sessualmente espliciti. |
harmBlockThreshold
Livelli di soglie di probabilità utilizzati per bloccare una risposta.
Parametri | |
---|---|
|
Soglia di blocco per contenuti dannosi non specificata. |
|
Blocca soglia bassa e superiore (ovvero blocca di più). |
|
Blocca soglia media e superiore. |
|
Blocca solo soglia alta (ovvero meno blocchi). |
|
Nessun blocco. |
|
Disattiva la sicurezza se tutte le categorie sono disattivate |
harmBlockMethod
Una soglia di probabilità che blocca una risposta in base a una combinazione di probabilità e gravità.
Parametri | |
---|---|
|
Il metodo di blocco dei danni non è specificato. |
|
Il metodo di blocco del danno utilizza sia i punteggi di probabilità che quelli di gravità. |
|
Il metodo di blocco dei danni utilizza il punteggio di probabilità. |
generationConfig
Impostazioni di configurazione utilizzate per generare la richiesta.
Parametri | |
---|---|
|
(Facoltativo)
La temperatura viene utilizzata per il campionamento durante la generazione della risposta, che si verifica quando vengono applicati Se il modello restituisce una risposta troppo generica, troppo breve o fornisce una risposta di riserva, prova ad aumentare la temperatura.
Per ulteriori informazioni, consulta Parametri di generazione dei contenuti. |
|
(Facoltativo) Se specificato, viene utilizzato il campionamento del nucleo. Top-P cambia il modo in cui il modello seleziona i token per l'output. I token vengono selezionati dal più probabile (vedi Top-K) al meno probabile finché la somma delle loro probabilità non corrisponde al valore di Top-P. Ad esempio, se i token A, B e C hanno una probabilità di 0,3, 0,2 e 0,1 e il valore di top-P è Specifica un valore più basso per risposte meno casuali e un valore più alto per risposte più casuali.
|
|
(Facoltativo) Top-K cambia il modo in cui il modello seleziona i token per l'output. Un top-K pari a Per ogni fase di selezione dei token, vengono campionati i token Top-K con le probabilità più alte. Quindi i token vengono ulteriormente filtrati in base a Top-P e il token finale viene selezionato utilizzando il campionamento con temperatura. Specifica un valore più basso per risposte meno casuali e un valore più alto per risposte più casuali. Intervallo: Supportato solo da Valore predefinito per |
|
(Facoltativo) Il numero di varianti di risposta da restituire. Per ogni richiesta, ti vengono addebitati i token di output di tutti i candidati, ma solo una volta per i token di input. La specifica di più candidati è una funzionalità di anteprima che funziona con
|
|
Facoltativo: int Numero massimo di token che possono essere generati nella risposta. Un token equivale a circa quattro caratteri. 100 token corrispondono a circa 60-80 parole. Specifica un valore più basso per risposte più brevi e un valore più alto per risposte potenzialmente più lunghe. Per ulteriori informazioni, consulta Parametri di generazione dei contenuti. |
|
(Facoltativo)
Specifica un elenco di stringhe che indica al modello di interrompere la generazione di testo se viene rilevata una delle stringhe nella risposta. Se una stringa viene visualizzata più volte nella risposta, la risposta viene troncata nel punto in cui viene rilevata per la prima volta.
Le stringhe sono sensibili alle maiuscole.
Massimo 5 elementi nell'elenco. Per ulteriori informazioni, consulta Parametri di generazione dei contenuti. |
|
(Facoltativo) Penalità positive. I valori positivi penalizzano i token già presenti nel testo generato, aumentando la probabilità di generare contenuti più diversi. Il valore massimo per Supportato da |
|
(Facoltativo) I valori positivi penalizzano i token che appaiono ripetutamente nel testo generato, diminuendo la probabilità di ripetere i contenuti. Questo valore massimo per Supportato da |
|
(Facoltativo) Disponibile per i seguenti modelli:
Il tipo MIME della risposta di output del testo candidato generato. Sono supportati i seguenti tipi MIME:
Specifica il tipo di risposta appropriato per evitare comportamenti indesiderati. Ad esempio, se hai bisogno di una risposta in formato JSON, specifica |
|
(Facoltativo) schema Lo schema che ha generato il testo candidato deve essere seguito. Per ulteriori informazioni, consulta Controllare l'output generato. Per utilizzare questo parametro, devi specificare il parametro Disponibile per i seguenti modelli:
|
|
(Facoltativo) Quando il seed è fissato a un valore specifico, il modello fa del suo meglio per fornire la stessa risposta per richieste ripetute. L'output deterministico non è garantito. Inoltre, la modifica del modello o delle impostazioni dei parametri, ad esempio la temperatura, può causare variazioni nella risposta anche se utilizzi lo stesso valore seed. Per impostazione predefinita, viene utilizzato un valore seed casuale. Disponibile per i seguenti modelli:
Questa è una funzionalità in anteprima. |
|
(Facoltativo) Se true, restituisce le probabilità logaritmiche dei token scelti
dal modello in ogni passaggio. Per impostazione predefinita, questo parametro è impostato su
Disponibile per i seguenti modelli:
Questa è una funzionalità in anteprima. |
|
(Facoltativo)
Restituisce le probabilità logaritmiche dei token candidati principali in ogni fase di generazione. Il token scelto dal modello potrebbe non essere uguale al token candidato principale in ogni passaggio. Specifica il numero di candidati da restituire utilizzando un valore intero nell'intervallo Per utilizzare questo parametro, devi attivare Questa è una funzionalità in anteprima. |
|
(Facoltativo) Disponibile per i seguenti modelli:
Consente di comprendere il timestamp per i file solo audio. Questa è una funzionalità in anteprima. |
Corpo della risposta
{ "candidates": [ { "content": { "parts": [ { "text": string } ] }, "finishReason": enum (FinishReason), "safetyRatings": [ { "category": enum (HarmCategory), "probability": enum (HarmProbability), "blocked": boolean } ], "citationMetadata": { "citations": [ { "startIndex": integer, "endIndex": integer, "uri": string, "title": string, "license": string, "publicationDate": { "year": integer, "month": integer, "day": integer } } ] }, "avgLogprobs": double, "logprobsResult": { "topCandidates": [ { "candidates": [ { "token": string, "logProbability": float } ] } ], "chosenCandidates": [ { "token": string, "logProbability": float } ] } } ], "usageMetadata": { "promptTokenCount": integer, "candidatesTokenCount": integer, "totalTokenCount": integer }, "modelVersion": string }
Elemento Response | Descrizione |
---|---|
modelVersion |
Il modello e la versione utilizzati per la generazione. Ad esempio:
gemini-1.5-flash-002 . |
text |
Il testo generato. |
finishReason |
Il motivo per cui il modello ha smesso di generare token. Se è vuoto, il modello
non ha smesso di generare i token. Poiché la risposta utilizza il prompt per il contesto, non è possibile modificare il comportamento in base al quale il modello interrompe la generazione di token.
|
category |
La categoria di sicurezza per la quale configurare una soglia. I valori accettabili sono:
Fai clic per espandere le categorie di sicurezza
|
probability |
I livelli di probabilità di danni nei contenuti.
|
blocked |
Un flag booleano associato a un attributo di sicurezza che indica se l'input o l'output del modello è stato bloccato. |
startIndex |
Un numero intero che specifica dove inizia una citazione in content .
|
endIndex |
Un numero intero che specifica dove termina una citazione in content .
|
url |
L'URL di una fonte della citazione. Alcuni esempi di origine URL sono un sito web di notizie o un repository GitHub. |
title |
Il titolo di una fonte della citazione. Esempi di titoli delle fonti potrebbero essere quelli di un articolo di notizie o di un libro. |
license |
La licenza associata a una citazione. |
publicationDate |
La data di pubblicazione di una citazione. I formati validi sono
YYYY , YYYY-MM e YYYY-MM-DD .
|
avgLogprobs |
Probabilità logaritmica media del candidato. |
logprobsResult |
Restituisce i token candidati principali (topCandidates ) e i
token scelti effettivi (chosenCandidates ) in ogni passaggio. |
token |
I modelli di AI generativa suddividono i dati di testo in token per l'elaborazione, che possono essere caratteri, parole o frasi. |
logProbability |
Un valore di probabilità logaritmica che indica l'affidabilità del modello per un determinato token. |
promptTokenCount |
Numero di token nella richiesta. |
candidatesTokenCount |
Numero di token nelle risposte. |
totalTokenCount |
Numero di token nella richiesta e nelle risposte. |
Esempi
Risposta di testo non in streaming
Genera una risposta del modello non in streaming da un input di testo.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto.LOCATION
: la regione in cui elaborare la richiesta.MODEL_ID
: l'ID del modello che vuoi utilizzare (ad es.gemini-1.5-flash-002
). Consulta l'elenco dei modelli supportati.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:generateContent
Corpo JSON della richiesta:
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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:generateContent"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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:generateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Vai
C#
REST (OpenAI)
Puoi chiamare l'API di inferenza utilizzando la libreria OpenAI. Per ulteriori informazioni, consulta Chiama i modelli Vertex AI utilizzando la libreria OpenAI.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- MODEL_ID: il nome del modello da utilizzare.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Corpo JSON della richiesta:
{ "model": "google/MODEL_ID", "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python (OpenAI)
Puoi chiamare l'API di inferenza utilizzando la libreria OpenAI. Per ulteriori informazioni, consulta Chiama i modelli Vertex AI utilizzando la libreria OpenAI.
Risposta multimodale non in streaming
Genera una risposta del modello non in streaming da un input multimodale, ad esempio testo e un'immagine.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto.LOCATION
: la regione in cui elaborare la richiesta.MODEL_ID
: l'ID del modello che vuoi utilizzare (ad es.gemini-1.5-flash-002
). Consulta l'elenco dei modelli supportati.TEXT
: le istruzioni di testo da includere nel prompt.FILE_URI
: l'URI Cloud Storage del file che memorizza i dati.MIME_TYPE
: il tipo MIME IANA dei dati.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
Corpo JSON della richiesta:
{ "contents": [{ "role": "user", "parts": [ { "text": "TEXT" }, { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } } ] }] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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:generateContent"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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:generateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Vai
C#
REST (OpenAI)
Puoi chiamare l'API di inferenza utilizzando la libreria OpenAI. Per ulteriori informazioni, consulta Chiama i modelli Vertex AI utilizzando la libreria OpenAI.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- MODEL_ID: il nome del modello da utilizzare.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Corpo JSON della richiesta:
{ "model": "google/MODEL_ID", "messages": [{ "role": "user", "content": [ { "type": "text", "text": "Describe the following image:" }, { "type": "image_url", "image_url": { "url": "gs://generativeai-downloads/images/character.jpg" } } ] }] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python (OpenAI)
Puoi chiamare l'API di inferenza utilizzando la libreria OpenAI. Per ulteriori informazioni, consulta Chiama i modelli Vertex AI utilizzando la libreria OpenAI.
Risposta di testo in streaming
Genera una risposta del modello in streaming da un input di testo.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto.LOCATION
: la regione in cui elaborare la richiesta.MODEL_ID
: l'ID del modello che vuoi utilizzare (ad es.gemini-1.5-flash-002
). Consulta l'elenco dei modelli supportati.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:streamGenerateContent
Corpo JSON della richiesta:
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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:streamGenerateContent"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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:streamGenerateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Vai
REST (OpenAI)
Puoi chiamare l'API di inferenza utilizzando la libreria OpenAI. Per ulteriori informazioni, consulta Chiama i modelli Vertex AI utilizzando la libreria OpenAI.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- MODEL_ID: il nome del modello da utilizzare.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Corpo JSON della richiesta:
{ "model": "google/MODEL_ID", "stream": true, "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python (OpenAI)
Puoi chiamare l'API di inferenza utilizzando la libreria OpenAI. Per ulteriori informazioni, consulta Chiama i modelli Vertex AI utilizzando la libreria OpenAI.
Risposta multimodale in streaming
Genera una risposta del modello in streaming da un input multimodale, ad esempio testo e un'immagine.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto.LOCATION
: la regione in cui elaborare la richiesta.MODEL_ID
: l'ID del modello che vuoi utilizzare (ad es.gemini-1.5-flash-002
). Consulta l'elenco dei modelli supportati.TEXT
: le istruzioni di testo da includere nel prompt.FILE_URI1
: l'URI Cloud Storage del file che memorizza i dati.MIME_TYPE1
: il tipo MIME IANA dei dati.FILE_URI2
: l'URI Cloud Storage del file che memorizza i dati.MIME_TYPE2
: il tipo MIME IANA dei dati.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
Corpo JSON della richiesta:
{ "contents": [{ "role": "user", "parts": [ { "text": "TEXT" }, { "fileData": { "fileUri": "FILE_URI1", "mimeType": "MIME_TYPE1" } }, { "fileData": { "fileUri": "FILE_URI2", "mimeType": "MIME_TYPE2" } } ] }] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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:streamGenerateContent"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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:streamGenerateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Vai
REST (OpenAI)
Puoi chiamare l'API di inferenza utilizzando la libreria OpenAI. Per ulteriori informazioni, consulta Chiama i modelli Vertex AI utilizzando la libreria OpenAI.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- MODEL_ID: il nome del modello da utilizzare.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Corpo JSON della richiesta:
{ "model": "google/MODEL_ID", "stream": true, "messages": [{ "role": "user", "content": [ { "type": "text", "text": "Describe the following image:" }, { "type": "image_url", "image_url": { "url": "gs://generativeai-downloads/images/character.jpg" } } ] }] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python (OpenAI)
Puoi chiamare l'API di inferenza utilizzando la libreria OpenAI. Per ulteriori informazioni, consulta Chiama i modelli Vertex AI utilizzando la libreria OpenAI.
Versioni modello
Per utilizzare la versione aggiornata automaticamente,
specifica il nome del modello senza il numero di versione finale, ad esempio gemini-1.5-flash
anziché gemini-1.5-flash-001
.
Per ulteriori informazioni, consulta Versioni e ciclo di vita dei modelli Gemini.
Passaggi successivi
- Scopri di più sull'API Gemini.
- Scopri di più sulle chiamate alle funzioni.
- Scopri di più sulle risposte basate su dati per i modelli Gemini.