Utilizza generateContent
o streamGenerateContent
per generare contenuti con
Gemini.
La famiglia di modelli Gemini include modelli che funzionano con richieste di prompt multimodali. Il termine multimodale indica che puoi utilizzare più di una modalità o tipo di input in un prompt. I modelli non multimodali accettano prompt solo con testo. Le modalità possono includere testo, audio, video e altro ancora.
Crea un account Google Cloud per iniziare
Per iniziare a utilizzare l'API Gemini in Vertex AI, crea un Google Cloud account.
Dopo aver creato l'account, utilizza questo documento per esaminare il corpo della richiesta, i parametri del modello, il corpo della risposta e alcune richieste di esempio del modello Gemini.
Quando è tutto pronto, consulta la guida rapida all'API Gemini in Vertex AI per scoprire come inviare una richiesta all'API Gemini in Vertex AI utilizzando un SDK del linguaggio di programmazione o l'API REST.
Modelli supportati
Tutti i modelli Gemini supportano la generazione di contenuti.
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 }, "fps": double } } ] } ], "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 dati con i seguenti parametri:
Parametri | |
---|---|
| (Facoltativo)
Il nome dei contenuti memorizzati nella cache utilizzati come contesto per
fornire la previsione. Formato:
|
|
Obbligatorio: I contenuti della conversazione attuale con il modello. Per le query a singolo turno, si tratta di una singola istanza. Per le query multi-turno, questo è un campo ripetuto che contiene la cronologia della conversazione e l'ultima richiesta. |
|
(Facoltativo) Disponibile per Istruzioni per il modello per indirizzarlo verso prestazioni migliori. 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 delle conoscenze e dell'ambito del modello. Vedi Chiamata di funzione. |
|
Facoltativo. Vedi Chiamata di funzione. |
|
(Facoltativo) Impostazioni per richiesta per il blocco di contenuti non sicuri. Applicata il giorno |
|
(Facoltativo) Impostazioni di configurazione della generazione. |
|
(Facoltativo) Metadati che puoi aggiungere alla chiamata API nel formato di coppie chiave-valore. |
contents
Il tipo di dati strutturati di base contenente i contenuti in più parti di un messaggio.
Questa classe è costituita da due proprietà principali: role
e parts
. La proprietà role
indica la persona che produce i contenuti, mentre la proprietà parts
contiene più elementi, ognuno dei quali rappresenta un segmento di dati all'interno
di un messaggio.
Parametri | |
---|---|
|
L'identità dell'entità che crea il messaggio. Sono supportati i seguenti valori:
Il valore |
|
Un elenco di parti ordinate che compongono un singolo messaggio. Le diverse parti possono avere tipi MIME IANA diversi. Per i limiti degli input, ad esempio il numero massimo di token o 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 Chiamata di funzione. |
|
(Facoltativo) L'output del risultato di un Vedi Chiamata di funzione. |
|
(Facoltativo) Per l'input video, l'offset di inizio e di fine del video nel formato Durata e il frame rate del video . Ad esempio, per specificare un clip di 10 secondi che inizia a 1:00 con una frequenza fotogrammi di 10 frame al secondo, imposta quanto segue:
I metadati devono essere specificati solo mentre i dati del video vengono presentati
in |
blob
Blob di contenuti. Se possibile, invia il messaggio come testo anziché come byte non elaborati.
Parametri | |
---|---|
|
data o fileUri . I valori accettabili includono:
Fai clic per espandere i tipi MIME
Per I file di testo devono essere codificati in UTF-8. I contenuti del file di testo vengono conteggiati ai fini del limite di token. Non esiste un limite alla risoluzione delle immagini. |
|
La codifica base64 dell'immagine, del PDF o del video
da includere inline nel prompt. Quando includi contenuti multimediali in linea, devi anche specificare il tipo di contenuti multimediali ( Dimensioni massime: 20 MB |
FileData
Dati URI o URL web.
Parametri | |
---|---|
|
Tipo MIME IANA dei dati. |
|
L'URI o l'URL del file da includere nel prompt. I valori accettabili includono:
Quando specifichi un |
functionCall
Un functionCall
previsto restituito dal modello che contiene una stringa
che rappresenta il 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 sui parametri, consulta la sezione Chiamata 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). Deve contenere il
risultato di un 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. |
|
(Facoltativo)
La frequenza fotogrammi del video inviato al modello. Se non specificato, il valore predefinito è
|
safetySetting
Impostazioni di sicurezza.
Parametri | |
---|---|
|
(Facoltativo)
La categoria di sicurezza per cui configurare una soglia. I valori accettabili includono i seguenti:
Fai clic per espandere le categorie di sicurezza
|
|
(Facoltativo) La soglia per bloccare le risposte che potrebbero appartenere alla categoria di sicurezza specificata in base alla probabilità.
|
|
(Facoltativo) Specifica se la soglia viene utilizzata per il punteggio di probabilità o gravità. Se non specificato, la soglia viene utilizzata per il punteggio di probabilità. |
harmCategory
Categorie di danni che bloccano i contenuti.
Parametri | |
---|---|
|
La categoria di danno non è specificata. |
|
La categoria del danno è incitamento all'odio. |
|
La categoria di danno è "Contenuti pericolosi". |
|
La categoria del danno è molestie. |
|
La categoria di danno è Contenuti sessualmente espliciti. |
harmBlockThreshold
Livelli di soglia di probabilità utilizzati per bloccare una risposta.
Parametri | |
---|---|
|
Soglia HarmBlockThreshold non specificata. |
|
Blocco soglia bassa e superiore (ovvero blocco più esteso). |
|
Blocco soglia media e superiore. |
|
Blocco solo soglia alta (ovvero blocco ridotto). |
|
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 del danno non è specificato. |
|
Il metodo di blocco dei danni utilizza sia i punteggi di probabilità che di gravità. |
|
Il metodo di blocco dei danni utilizza il punteggio di probabilità. |
generationConfig
Impostazioni di configurazione utilizzate durante la generazione del 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, vedi Parametri di generazione dei contenuti. |
|
(Facoltativo) Se specificato, viene utilizzato il campionamento del nucleo. Top-P cambia il modo in cui il modello seleziona i token per l'output. I token vengono selezionati dal più probabile (vedi Top-K) al meno probabile finché la somma delle loro probabilità 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.
|
|
(Facoltativo) Il numero di varianti di risposta da restituire. Per ogni richiesta, ti vengono addebitati i token di output di tutti i candidati, ma solo una volta per i token di input. La specifica di più candidati è una funzionalità di anteprima che funziona con
|
|
Facoltativo: int Il 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 dei contenuti. |
|
(Facoltativo)
Specifica un elenco di stringhe che indica al modello di interrompere la generazione di testo se una delle stringhe viene rilevata 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 dei contenuti. |
|
(Facoltativo) Penalità positive. I valori positivi penalizzano i token che sono già presenti nel testo generato, aumentando la probabilità di generare contenuti più diversi. Il valore massimo per |
|
(Facoltativo) I valori positivi penalizzano i token che compaiono ripetutamente nel testo generato, riducendo la probabilità di ripetere i contenuti. Questo valore massimo per |
|
(Facoltativo) Il tipo MIME della risposta di output del testo candidato generato. Sono supportati i seguenti tipi MIME:
Specifica il tipo di risposta appropriato per evitare comportamenti imprevisti. Ad esempio, se richiedi una risposta in formato JSON, specifica
text/plain non è supportato per l'utilizzo con responseSchema . |
|
(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 un tipo MIME supportato diverso da |
|
(Facoltativo) Quando il seed è impostato su un valore specifico, il modello fa del suo meglio per fornire la stessa risposta per le richieste ripetute. L'output deterministico non è garantito. Inoltre, la modifica del modello o delle impostazioni dei parametri, ad esempio la temperatura, può causare variazioni nella risposta anche se utilizzi lo stesso valore seed. Per impostazione predefinita, viene utilizzato un valore di inizializzazione casuale. |
|
(Facoltativo) Se true, restituisce le probabilità logaritmiche dei token scelti
dal modello a ogni passaggio. Per impostazione predefinita, questo parametro è impostato su
|
|
(Facoltativo)
Restituisce le probabilità logaritmiche dei token candidati migliori in ogni fase di generazione. Il token scelto
dal modello potrebbe non corrispondere al token candidato principale in ogni passaggio. Specifica il numero di
candidati da restituire utilizzando un valore intero compreso tra Per utilizzare questo parametro, devi abilitare
|
|
(Facoltativo) Disponibile per i seguenti modelli:
Consente di comprendere i timestamp per i file solo audio. Questa è una funzionalità in anteprima. |
Corpo della risposta
{ "candidates": [ { "content": { "parts": [ { "text": string } ] }, "finishReason": enum (FinishReason), "safetyRatings": [ { "category": enum (HarmCategory), "probability": enum (HarmProbability), "blocked": boolean } ], "citationMetadata": { "citations": [ { "startIndex": integer, "endIndex": integer, "uri": string, "title": string, "license": string, "publicationDate": { "year": integer, "month": integer, "day": integer } } ] }, "avgLogprobs": double, "logprobsResult": { "topCandidates": [ { "candidates": [ { "token": string, "logProbability": float } ] } ], "chosenCandidates": [ { "token": string, "logProbability": float } ] } } ], "usageMetadata": { "promptTokenCount": integer, "candidatesTokenCount": integer, "totalTokenCount": integer }, "modelVersion": string }
Elemento di risposta | Descrizione |
---|---|
modelVersion |
Il modello e la versione utilizzati per la generazione. Ad esempio:
gemini-2.0-flash-lite-001 . |
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 di interruzione della
generazione di token del modello.
|
category |
La categoria di sicurezza per cui configurare una soglia. I valori accettabili includono:
Fai clic per espandere le categorie di sicurezza
|
probability |
I livelli di probabilità di danni nei contenuti.
|
blocked |
Un flag booleano associato a un attributo di sicurezza che indica se l'input o l'output del modello è stato bloccato. |
startIndex |
Un numero intero che specifica dove inizia una citazione in content . startIndex è in byte e viene calcolato dalla risposta codificata in UTF-8.
|
endIndex |
Un numero intero che specifica dove termina una citazione in content . endIndex è in byte e viene calcolato dalla risposta codificata in UTF-8.
|
url |
L'URL di una fonte citazione. Esempi di origine URL potrebbero essere un sito web di notizie o un repository GitHub. |
title |
Il titolo di una fonte della citazione. Esempi di titoli di fonti potrebbero essere quelli di un articolo di notizie o di un libro. |
license |
La licenza associata a una citazione. |
publicationDate |
La data di pubblicazione di una citazione. I formati validi sono
YYYY , YYYY-MM e YYYY-MM-DD .
|
avgLogprobs |
Probabilità logaritmica media del candidato. |
logprobsResult |
Restituisce i token candidati principali (topCandidates ) e i
token scelti effettivi (chosenCandidates ) a ogni passaggio. |
token |
I modelli di AI generativa suddividono i dati di testo in token per l'elaborazione, che possono essere caratteri, parole o frasi. |
logProbability |
Un valore di probabilità logaritmica che indica l'affidabilità del modello per un token specifico. |
promptTokenCount |
Numero di token nella richiesta. |
candidatesTokenCount |
Numero di token nella risposta o nelle risposte. |
totalTokenCount |
Numero di token nella richiesta e nella risposta o nelle risposte. |
Esempi
Generazione di testo
Genera una risposta testuale da un input di testo.
SDK Gen AI per Python
Python (OpenAI)
Puoi chiamare l'API Inference utilizzando la libreria OpenAI. Per ulteriori informazioni, consulta Richiamare i modelli Vertex AI utilizzando la libreria OpenAI.
Go
Utilizzo del prompt multimodale
Genera una risposta di testo da un input multimodale, ad esempio testo e un'immagine.
SDK Gen AI per Python
Python (OpenAI)
Puoi chiamare l'API Inference utilizzando la libreria OpenAI. Per ulteriori informazioni, consulta Richiamare i modelli Vertex AI utilizzando la libreria OpenAI.
Go
Risposta di testo in streaming
Genera una risposta del modello di streaming da un input di testo.
SDK Gen AI per Python
Python (OpenAI)
Puoi chiamare l'API Inference utilizzando la libreria OpenAI. Per ulteriori informazioni, consulta Richiamare i modelli Vertex AI utilizzando la libreria OpenAI.
Go
Versioni modello
Per utilizzare la versione aggiornata automaticamente,
specifica il nome del modello senza il numero di versione finale, ad esempio gemini-2.0-flash
anziché gemini-2.0-flash-001
.
Per saperne di più, consulta Versioni e ciclo di vita del modello Gemini.
Passaggi successivi
- Scopri di più sull'API Gemini in Vertex AI.
- Scopri di più sulla chiamata di funzioni.
- Scopri di più sul grounding delle risposte per i modelli Gemini.