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 utilizzarne più di uno 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.
Per iniziare, crea un account Google Cloud
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 Pro | gemini-1.5-pro-001 |
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": [{ ... }], "generation_config": { ... }, "safety_settings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) generation_config = GenerationConfig(...) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...})
Dispositivi di 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": [{ ... }], "generation_config": { ... }, "safety_settings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...}, stream=True)
Elenco dei parametri
Consulta gli esempi per i dettagli dell'implementazione.
Corpo della richiesta
{ "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 } }
Il corpo della richiesta contiene dati con i seguenti parametri:
Parametri | |
---|---|
|
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. Una porzione di codice che consente al sistema di interagire con sistemi esterni per eseguire un'azione o un insieme di azioni al di fuori delle conoscenze e dell'ambito del modello. Vedi Chiamate di funzione. |
|
Facoltativo. Vedi Chiamate di funzione. |
|
Facoltativo: Impostazioni su richiesta per il blocco di contenuti non sicuri. Data applicazione: |
|
Facoltativo: Impostazioni di configurazione della generazione. |
|
Facoltativo: Contenuti memorizzati nella cache. Puoi utilizzare i contenuti memorizzati nella cache nelle richieste che includono contenuti ripetuti. |
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
. role
indica la persona che ha prodotto il contenuto, mentre parts
contiene più elementi, ognuno dei quali rappresenta un segmento di dati all'interno
un messaggio.
Parametri | |
---|---|
|
Facoltativo: L'identità dell'entità crea il messaggio. Sono supportati i seguenti valori:
Il valore Per le conversazioni che non prevedono più passaggi, questo campo può essere lasciato vuoto o non essere impostato. |
|
Un elenco di parti ordinate che compongono un singolo messaggio. Parti diverse possono avere tipi MIME IANA diversi. Per i limiti degli input, come 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 Recuperare il conteggio dei token. |
parts
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. 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, gli offset di inizio e fine del video nel formato Durata. Ad esempio, per specificare un clip di 10 secondi che inizia alle 1:00, imposta È necessario specificare i metadati solo mentre i dati del video sono presentati in |
blob
Blob di contenuti. Se possibile, invia come testo anziché byte non elaborati.
Parametri | |
---|---|
|
data o fileUri .
campi. I valori accettati sono:
Fai clic per espandere i tipi MIME
Per Per 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.
per includere l'incorporamento 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 expire_time
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 la cache di contesto risiede prima della scadenza. |
|
Un timestamp che specifica quando scade una cache di contesto. |
TTL
La durata, o 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 basati su URI.
Parametri | |
---|---|
mime_type |
Tipo MIME IANA dei dati. |
file_uri |
string
L'URI Cloud Storage del file da includere nel prompt. L'oggetto bucket deve essere
leggibili pubblicamente o risiedono nello stesso progetto Google Cloud che invia la richiesta. Devi inoltre
specificare il tipo di supporto ( 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 parametro
risultato di un valore FunctionCall
basato sulla 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 di input.
Parametri | |
---|---|
|
Facoltativo: L'offset iniziale del video. |
|
Facoltativo: L'offset finale del video. |
safetySetting
Impostazioni di sicurezza.
Parametri | |
---|---|
|
Facoltativo:
La categoria di sicurezza per cui 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 specificata, la soglia viene utilizzata per il punteggio di probabilità. |
harmCategory
Categorie HR che bloccano i contenuti.
Parametri | |
---|---|
|
La categoria dei contenuti dannosi 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 bassa e una più alta (ad esempio, blocca un numero maggiore). |
|
Blocca soglia media e superiore. |
|
Blocca solo la soglia alta (ad esempio, blocca meno). |
|
Nessun blocco. |
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 durante la generazione della richiesta.
Parametri | |
---|---|
|
Facoltativo:
La temperatura viene utilizzata per il campionamento durante la generazione della risposta, che si verifica quando Se il modello restituisce una risposta troppo generica, troppo breve, oppure fornisce una risposta di riserva di risposta, prova ad aumentare la temperatura.
|
|
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. Intervallo: gemini-1.5-pro: Impostazione predefinita per gemini-1.0-pro: Impostazione predefinita per gemini-1.0-pro-vision: |
|
(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: gemini-1.0-pro e gemini-1.5-pro non supportano Impostazione predefinita per gemini-1.0-pro-vision: |
|
Facoltativo: Il numero di varianti della risposta da restituire. Questo valore deve essere 1. |
|
Facoltativo: int Numero massimo di token che possono essere generati nella risposta. Un token è di 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 diverse. |
|
Facoltativo:
Specifica un elenco di stringhe che indicano al modello di interrompere la generazione di testo se uno
delle stringhe incontrate nella risposta. Se una stringa è presente in più
volte in una 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. |
|
Facoltativo: Sanzioni positive. I valori positivi penalizzano i token già presenti nel testo generato, aumentando la probabilità di generare contenuti più diversificati. Il valore massimo per |
|
Facoltativo: I valori positivi penalizzano i token che appaiono ripetutamente nel testo generato, diminuendo la probabilità di contenuti ripetuti. Questo valore massimo per |
|
Facoltativo: Disponibile per Tipo MIME della risposta di output del testo candidato generato. Tipi MIME supportati:
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 } } ] } } ], "usageMetadata": { "promptTokenCount": integer, "candidatesTokenCount": integer, "totalTokenCount": integer } }
Elemento risposta | Descrizione |
---|---|
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 valore-chiave
di contesto, non è possibile modificare il comportamento del
smette di generare token.
|
category |
La categoria di sicurezza per cui configurare una soglia. I valori accettati sono:
Fai clic per espandere le categorie di sicurezza
|
probability |
I livelli di probabilità di danno 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 il punto in cui 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 della fonte di una citazione. Esempi di titoli di origine potrebbero essere quelli di un un articolo di giornale o un libro. |
license |
La licenza associata a una citazione. |
publicationDate |
La data di pubblicazione di una citazione. I suoi formati validi
YYYY , YYYY-MM e YYYY-MM-DD .
|
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, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- 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
.
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 Inference utilizzando la libreria OpenAI. Per ulteriori informazioni, vedi Chiama Gemini 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
.
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
.
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 Gemini utilizzando la libreria OpenAI.
Risposta multimodale non in streaming
Genera una risposta del modello non in modalità flusso da un input multimodale, come un testo e un'immagine.
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.
- 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 TIANA 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" }, { "file_data": {"file_uri": "FILE_URI", "MIME_TYPE"} }, { "file_data": {"file_uri": "FILE_URI", "MIME_TYPE"} } ] }] }
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
.
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 Inference utilizzando la libreria OpenAI. Per ulteriori informazioni, vedi Chiama Gemini 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
.
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
.
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 Gemini utilizzando la libreria OpenAI.
Risposta di testo in streaming
Genera una risposta di un modello in modalità flusso 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.
- 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
.
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 Inference utilizzando la libreria OpenAI. Per ulteriori informazioni, vedi Chiama Gemini 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
.
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
.
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 Gemini utilizzando la libreria OpenAI.
Risposta multimodale in modalità flusso
Generare una risposta di un modello in modalità flusso da un input multimodale, come testo e un'immagine.
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.
- 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 TIANA 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" }, { "file_data": {"file_uri": "FILE_URI", "MIME_TYPE"} }, { "file_data": {"file_uri": "FILE_URI", "MIME_TYPE"} } ] }] }
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 Inference utilizzando la libreria OpenAI. Per ulteriori informazioni, vedi Chiama Gemini 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
.
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 Gemini 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.0-pro
anziché gemini-1.0-pro-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 grounding per i modelli Gemini.