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 che non sono multimodali accettano solo richieste di 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, consulta la guida rapida dell'API Vertex AI per Gemini per scoprire come inviare una richiesta all'API Gemini di Vertex AI 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
. La proprietà role
indica la persona che ha prodotto i contenuti, mentre la proprietà parts
contiene più elementi, ognuno dei quali rappresenta un segmento di dati all'interno
di un messaggio.
Parametri | |
---|---|
|
Facoltativo: L'identità dell'entità che crea il messaggio. 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 . 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
da includere in linea nel prompt. Quando vengono inclusi elementi multimediali in linea, devi specificare anche il tipo di elemento multimediale ( 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 maggiori informazioni, consulta 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 che 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 del bucket deve essere leggibile pubblicamente o risiedere nello stesso progetto Google Cloud che invia la richiesta. Devi anche 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 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 Chiamate di funzione. |
functionResponse
L'output risultante da un FunctionCall
che contiene una stringa che rappresenta
FunctionDeclaration.name
. Contiene anche un oggetto JSON strutturato con
l'output della funzione (e lo utilizza come contesto per il modello). Dovrebbe contenere il risultato di un valore FunctionCall
realizzato 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 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 accettabili includono:
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: Il numero massimo di termini influenti che contribuiscono maggiormente ai punteggi di sicurezza, che potrebbero causare potenziali blocchi. |
|
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 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 vengono applicati Se il modello restituisce una risposta troppo generica, troppo breve o fornisce una risposta di riserva, 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 raggiunge il 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 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. |
|
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 appare 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. |
|
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 prompt per contesto, non è possibile modificare il comportamento del modo in cui il modello interrompe la generazione di 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 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 fonti URL possono essere un sito web di notizie o un repository GitHub. |
title |
Il titolo della fonte di una citazione. Esempi di titoli di fonti potrebbero essere quelli di un articolo 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 .
|
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 testuali 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 maggiori informazioni, vedi Chiamare 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 maggiori informazioni, vedi Chiamare Gemini utilizzando la libreria OpenAI.
Risposta multimodale non in streaming
Generare una risposta del modello non 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 testuali 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 maggiori informazioni, vedi Chiamare 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 maggiori informazioni, vedi Chiamare 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 testuali 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
Go
REST (OpenAI)
Puoi chiamare l'API Inference utilizzando la libreria OpenAI. Per maggiori informazioni, vedi Chiamare 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 maggiori informazioni, vedi Chiamare 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 testuali 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
Go
REST (OpenAI)
Puoi chiamare l'API Inference utilizzando la libreria OpenAI. Per maggiori informazioni, vedi Chiamare 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 maggiori informazioni, vedi Chiamare 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ù sull'API Gemini.
- Scopri di più sulle chiamate di funzione.
- Scopri di più sulle risposte di grounding per i modelli Gemini.