Utilizza generateContent
o streamGenerateContent
per generare contenuti con
o Gemini.
La famiglia di modelli Gemini include modelli che funzionano con modelli richieste di prompt. Il termine multimodale indica che puoi utilizzare più di una modalità o tipo di input in un prompt. I modelli che non sono multimodali accettano 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 del modello Gemini, i parametri del modello, il corpo della risposta e alcune richieste di esempio.
Quando è tutto pronto, controlla Guida rapida dell'API Vertex AI per Gemini per scoprire come inviare una richiesta all'API Vertex AI Gemini utilizzando un SDK per il 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: Contenuti memorizzati nella cache. Puoi utilizzare i contenuti memorizzati nella cache nelle richieste che contengono contenuti ripetuti. |
|
Obbligatorio: I contenuti della conversazione corrente con il modello. Per le query a turno singolo, si tratta di una singola istanza. Per le query in più passaggi, si tratta di un campo ripetuto che contiene la cronologia delle conversazioni e l'ultima richiesta. |
|
(Facoltativo) Disponibile per Istruzioni per il modello per guidarlo 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. Data applicazione: |
|
(Facoltativo) Impostazioni di configurazione della generazione. |
|
Facoltativo: I metadati che puoi aggiungere alla chiamata API nel formato di coppie chiave/valore. |
contents
Il tipo di dati strutturati di base che include i contenuti 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à 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 come testo anziché 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 maggiori informazioni, vedi Requisiti per i contenuti multimediali di Gemini 1.5 Pro. I file di testo devono avere codifica UTF-8. I contenuti del file di testo vengono conteggiati ai fini del limite di token. Non esiste un limite alla risoluzione delle immagini. |
|
La codifica Base64 dell'immagine, del PDF o del video da includere in linea nel prompt. Se includi contenuti multimediali in linea, devi specificare anche i relativi
tipo ( Dimensioni massime: 20 MB |
CachedContent
Utilizzato per l'aggiornamento quando scade una cache di contesto. Devi specificare ttl
o expireTime
quando aggiorni CachedContent
, ma non puoi specificare entrambi. Per ulteriori informazioni, vedi
Utilizzare la memorizzazione nella cache di contesto.
Parametri | |
---|---|
|
Utilizzato per specificare il numero di secondi e nanosecondi dopo la creazione o l'aggiornamento di una cache di contesto prima della sua scadenza. |
|
Un timestamp che specifica quando scade una cache di contesto. |
TTL
La durata, o la durata, dopo la creazione o l'aggiornamento di una cache contestuale prima che scada.
Parametri | |
---|---|
|
Il componente secondi della durata prima della scadenza di una cache di contesto dopo la creazione. Il valore predefinito è 3600 secondi. |
|
(Facoltativo) Il componente in nanosecondi della durata prima della scadenza di una cache di contesto dopo la creazione. |
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 sono:
Quando specifichi un Per Per |
functionCall
Un valore functionCall
previsto restituito dal modello che contiene una stringa
che rappresenta functionDeclaration.name
e un oggetto JSON strutturato
che contengono 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 Chiamate di funzione. |
functionResponse
L'output risultante da un FunctionCall
che contiene una stringa che rappresenta la
FunctionDeclaration.name
. Contiene anche un oggetto JSON strutturato con il
dalla 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 il blocco delle 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 contenuti dannosi è l'incitamento all'odio. |
|
La categoria di contenuti dannosi include contenuti pericolosi. |
|
La categoria dei contenuti dannosi è molestie. |
|
La categoria di contenuti dannosi è costituita da contenuti sessualmente espliciti. |
harmBlockThreshold
Livelli delle soglie di probabilità utilizzate per bloccare una risposta.
Parametri | |
---|---|
|
Soglia di blocco dei danni non specificata. |
|
Blocca una soglia più bassa o più alta (ad esempio, blocca un numero maggiore). |
|
Blocca soglia media e superiore. |
|
Blocca solo la soglia alta (ad esempio, blocca meno). |
|
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 dei danni utilizza punteggi sia di probabilità che di gravità. |
|
Il metodo di blocco dei danni utilizza il punteggio di probabilità. |
generationConfig
Impostazioni di configurazione utilizzate per generare il prompt.
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 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 di 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 costi i token di output di tutti i candidati, ma vengono addebitati una sola volta per i token di input. L'indicazione di più candidati è una funzionalità in anteprima compatibile 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, vedi Parametri di generazione di 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, vedi Parametri di generazione di contenuti. |
|
Facoltativo: Sanzioni 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 solo da |
|
Facoltativo: I valori positivi penalizzano i token che appaiono ripetutamente nel testo generato, diminuendo la probabilità di contenuti ripetuti. Questo valore massimo per Supportato solo da |
|
(Facoltativo) Disponibile per i seguenti modelli:
Il tipo MIME della risposta di output il testo candidato generato. Sono supportati i seguenti tipi MIME:
Specifica il tipo di risposta appropriato per evitare comportamenti indesiderati. Per
Ad esempio, se hai bisogno di una risposta in formato JSON, specifica
|
|
Facoltativo: schema Lo schema che ha generato il testo candidato deve seguire. 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 delle impostazioni del modello o dei parametri, come la temperatura, può causano variazioni nella risposta anche se utilizzi lo stesso valore seed. Per impostazione predefinita, viene utilizzato un valore seed casuale. Questa è una funzionalità in anteprima. Disponibile per i seguenti modelli:
|
|
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à di log dei token candidati principali in ogni generazione
passaggio. I token e le probabilità logaritmiche scelti dal modello vengono sempre restituiti in ogni fase, ma potrebbero non essere presenti nell'elenco dei principali candidati. Specifica
numero di candidati da restituire utilizzando un valore intero nell'intervallo di
Devi attivare Questa è una funzionalità in anteprima. |
|
Facoltativo: Disponibile per i seguenti modelli:
Attiva la comprensione del timestamp per i file solo audio. Questa è una funzionalità in anteprima. |
Corpo della risposta
{ "candidates": [ { "modelVersion": string, "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 } }
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 accettati 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 il 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 della fonte della citazione. Esempi di una sorgente URL possono essere un sito web di notizie o un repository GitHub. |
title |
Il titolo di una fonte della citazione. Esempi di titoli delle fonti possono 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. |
token |
I modelli di IA 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 testuale non in streaming
Genera una risposta del modello non in modalità flusso 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
.
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: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
Go
C#
REST (OpenAI)
Puoi chiamare l'API Inference utilizzando la libreria OpenAI. Per ulteriori informazioni, vedi Chiama i modelli Vertex AI utilizzando la libreria OpenAI.
Prima di utilizzare i dati della richiesta, effettua 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 Inference 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 in cui sono archiviati 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
.
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:generateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Go
C#
REST (OpenAI)
Puoi chiamare l'API di inferenza utilizzando la libreria OpenAI. Per ulteriori informazioni, vedi Chiama i modelli Vertex AI utilizzando la libreria OpenAI.
Prima di utilizzare i dati della richiesta, effettua 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
.
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Python (OpenAI)
Puoi chiamare l'API Inference utilizzando la libreria OpenAI. Per ulteriori informazioni, vedi 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, effettua 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 esempio,gemini-1.5-flash-002
). Consulta l'elenco di 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
.
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: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, effettua 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, vedi 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
.
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:streamGenerateContent"
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: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, effettua 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
.
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/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, vedi 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 saperne di più, consulta Versioni dei modelli Gemini e ciclo di vita.
Passaggi successivi
- Scopri di più su Gemini tramite Google Cloud.
- Scopri di più su Functions chiamata.
- Scopri di più sulle risposte di messa a terra per i modelli Gemini.