Modelli supportati
Nella tabella seguente sono elencati i modelli che supportano la comprensione video:
Modello | Dettagli sulla modalità video |
---|---|
Gemini 1.5 Flash Vai alla scheda del modello Flash Gemini 1.5 |
Durata massima del video:
Numero massimo di video per prompt: 10 |
Gemini 1.5 Pro Vai alla scheda del modello Gemini 1.5 Pro |
Durata massima del video:
Numero massimo di video per prompt: 10 |
Gemini 1.0 Pro Vision Vai alla scheda del modello Gemini 1.0 Pro Vision |
Durata massima del video: 2 minuti Numero massimo di video per richiesta: 1 L'audio nel video viene ignorato. |
Per un elenco delle lingue supportate dai modelli Gemini, consulta le informazioni sul modello Modelli Google. Per apprendere di più su come progettare prompt multimodali, consulta Progettare prompt multimodali. Se stai cercando un modo per usare Gemini direttamente dal tuo dispositivo mobile app web, consulta le Vertex AI negli SDK Firebase per App per Android, Swift, web e Flutter.
Aggiungere video a una richiesta
Nella tua richiesta, puoi aggiungere uno o più video a Gemini e il video può includere audio.
Video singolo
Il codice di esempio in ciascuna delle seguenti schede mostra un modo diverso per identificare gli elementi di un video. Questo esempio funziona con tutti i modelli multimodali Gemini.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta SDK Vertex AI per Python documentazione di riferimento dell'API.
Risposte dinamiche e non dinamiche
Puoi scegliere se il modello genera risposte in streaming oppure risposte non in streaming. Per le risposte dinamiche, ricevi ogni risposta non appena viene generato il relativo token di output. Per le risposte non dinamiche, ricevi tutte le risposte dopo che sono stati generati tutti i token di output.
Per una risposta dinamica, utilizza il parametro stream
in
generate_content
.
response = model.generate_content(contents=[...], stream = True)
Per una risposta non in streaming, rimuovi il parametro o impostalo su
False
.
Codice di esempio
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Java Vertex AI per Gemini.
Per autenticarti in Vertex AI, configura le credenziali predefinite per l'applicazione. Per ulteriori informazioni, vedi Configurare l'autenticazione per un ambiente di sviluppo locale.
Risposte dinamiche e non dinamiche
Puoi scegliere se il modello genera risposte in streaming o non in streaming. Per le risposte dinamiche, ricevi ogni risposta non appena viene generato il token di output. Per le risposte non dinamiche, ricevi tutte le risposte dopo la generazione di tutti i token di output.
Per una risposta dinamica, utilizza il metodo
generateContentStream
.
public ResponseStream<GenerateContentResponse> generateContentStream(Content content)
Per una risposta non in streaming, utilizza il metodo
generateContent
.
public GenerateContentResponse generateContent(Content content)
Codice di esempio
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nella documentazione sull'IA generativa rapida utilizzando l'SDK Node.js. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Node.js per Gemini.
Per eseguire l'autenticazione su Vertex AI, configura il valore predefinito dell'applicazione Credenziali. Per ulteriori informazioni, consulta la sezione Configurazione per un ambiente di sviluppo locale.
Risposte dinamiche e non dinamiche
Puoi scegliere se il modello genera risposte in streaming oppure risposte non in streaming. Per le risposte dinamiche, ricevi ogni risposta non appena viene generato il token di output. Per le risposte non dinamiche, ricevi tutte le risposte dopo che sono stati generati tutti i token di output.
Per una risposta in modalità flusso, utilizza
generateContentStream
.
const streamingResp = await generativeModel.generateContentStream(request);
Per una risposta non in streaming, utilizza il metodo
generateContent
.
const streamingResp = await generativeModel.generateContent(request);
Codice di esempio
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go in Vertex AI Guida rapida. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Go di Vertex AI per Gemini.
Per autenticarti in Vertex AI, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta la sezione Configurazione per un ambiente di sviluppo locale.
Risposte dinamiche e non dinamiche
Puoi scegliere se il modello genera risposte in streaming oppure risposte non in streaming. Per le risposte dinamiche, ricevi ogni risposta non appena viene generato il relativo token di output. Per le risposte non dinamiche, ricevi tutte le risposte dopo che sono stati generati tutti i token di output.
Per una risposta in modalità flusso, utilizza
GenerateContentStream
.
iter := model.GenerateContentStream(ctx, genai.Text("Tell me a story about a lumberjack and his giant ox. Keep it very short."))
Per una risposta non in streaming, utilizza il metodo GenerateContent
.
resp, err := model.GenerateContent(ctx, genai.Text("What is the average size of a swallow?"))
Codice di esempio
C#
Prima di provare questo esempio, segui le istruzioni di configurazione di C# nella guida rapida di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento C# di Vertex AI.
Per eseguire l'autenticazione su Vertex AI, configura il valore predefinito dell'applicazione Credenziali. Per ulteriori informazioni, vedi Configurare l'autenticazione per un ambiente di sviluppo locale.
Risposte dinamiche e non dinamiche
Puoi scegliere se il modello genera risposte in streaming o non in streaming. Per le risposte dinamiche, ricevi ogni risposta non appena viene generato il token di output. Per le risposte non dinamiche, ricevi tutte le risposte dopo che sono stati generati tutti i token di output.
Per una risposta dinamica, utilizza il metodo
StreamGenerateContent
.
public virtual PredictionServiceClient.StreamGenerateContentStream StreamGenerateContent(GenerateContentRequest request)
Per una risposta non in streaming, utilizza il metodo
GenerateContentAsync
.
public virtual Task<GenerateContentResponse> GenerateContentAsync(GenerateContentRequest request)
Per ulteriori informazioni su come il server può trasmettere le risposte in streaming, consulta RPC per i flussi di dati.
Codice di esempio
REST
Dopo configurare l'ambiente, puoi usare REST per testare un prompt di testo. Il seguente esempio invia una richiesta al publisher endpoint del modello.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
LOCATION
: la regione in cui elaborare richiesta. Inserisci una regione supportata. Per l'elenco completo delle regioni supportate, vedi Località disponibili.Fai clic per espandere un elenco parziale delle regioni disponibili
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
PROJECT_ID
: il tuo ID progetto.FILE_URI
: l'URI o l'URL del file da includere nel prompt. I valori accettabili sono:- URI bucket Cloud Storage: l'oggetto deve essere leggibile pubblicamente o risiedere in lo stesso progetto Google Cloud che invia la richiesta.
- URL HTTP: l'URL del file deve essere pubblicamente leggibile. Puoi specificare un file video e fino a 10 file immagine per richiesta. I file e i documenti audio non possono superare i 15 MB.
- URL del video di YouTube:il video di YouTube deve essere di proprietà dell'account utilizzato per accedere alla console Google Cloud o se è pubblico. È supportato un solo URL video di YouTube per richiesta.
Quando specifichi un valore
fileURI
, devi specificare anche il tipo di elemento multimediale (mimeType
) del file.Se non hai un file video in Cloud Storage, puoi utilizzare il seguente file disponibile pubblicamente:
gs://cloud-samples-data/video/animals.mp4
con un tipo MIME divideo/mp4
. Per visualizzare questo video: apri l'MP4 di esempio .MIME_TYPE
: Il tipo di supporto del file specificato indata
ofileUri
campi. I valori accettabili sono:Fai clic per espandere i tipi MIME
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
image/webp
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
TEXT
: le istruzioni di testo da includere nel prompt. Ad esempio:What is in the video?
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
cat > request.json << 'EOF' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } EOF
Quindi, esegui il seguente comando per inviare la richiesta REST:
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/gemini-1.5-flash:generateContent"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
@' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui il seguente comando per inviare la richiesta REST:
$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/gemini-1.5-flash:generateContent" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente.
Tieni presente quanto segue nell'URL di questo esempio:- Utilizza il metodo
generateContent
per richiedere che la risposta venga restituita dopo essere stata completamente generata. Per ridurre la percezione della latenza per un pubblico umano, trasmetti la risposta in tempo reale generati utilizzandostreamGenerateContent
. - L'ID modello multimodale si trova alla fine dell'URL prima del metodo
(ad esempio,
gemini-1.5-flash
ogemini-1.0-pro-vision
). Questo esempio potrebbe supportare altri modelli di machine learning.
Console
Per inviare un prompt multimodale utilizzando la console Google Cloud, esegui la seguenti:Nella sezione Vertex AI della console Google Cloud, vai alla pagina Vertex AI Studio.
Fai clic su Apri formato libero.
(Facoltativo) Configura il modello e i parametri:
- Modello: seleziona un modello.
- Regione: seleziona la regione che vuoi utilizzare.
Temperatura: utilizza il dispositivo di scorrimento o la casella di testo per inserire un valore per la temperatura.
La temperatura viene utilizzata per il campionamento durante la generazione della risposta, che si verifica quando
topP
etopK
. La temperatura controlla il grado di casualità nella selezione dei token. Le temperature più basse sono ideali per prompt che richiedono una risposta meno aperta o creativa, mentre temperature più alte possono portare a risultati più diversificati o creativi. Una temperatura pari a0
significa che vengono sempre selezionati i token con la probabilità più alta. In questo caso, le risposte per un determinato sono per lo più deterministici, ma è ancora possibile una piccola variazione.Se il modello restituisce una risposta troppo generica, troppo breve o fornisce una risposta di riserva, prova ad aumentare la temperatura.
Limite di token di output: utilizza il cursore o la casella di testo per inserire un valore per il limite di output massimo.
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.
Aggiungi sequenza di interruzioni: facoltativo. Inserisci una sequenza di interruzioni, ovvero una serie di caratteri che include spazi. Se il modello rileva un una sequenza di interruzioni, la generazione della risposta si interrompe. La sequenza di fermate non è inclusa nella risposta e puoi aggiungere fino a cinque sequenze di fermate.
(Facoltativo) Per configurare parametri avanzati, fai clic su Avanzato e configurala come segue:
Fai clic per espandere le configurazioni avanzate
Top-K: utilizza il cursore o la casella di testo per inserire un valore per top-K. (non supportato per Gemini 1.5).
Top-K cambia il modo in cui il modello seleziona i token per l'output. Un top-K di1
significa che il successivo token selezionato è il più probabile tra tutti nel vocabolario del modello (chiamato anche decodifica greedy), mentre una top-K di3
significa che il token successivo viene selezionato tra i tre probabili token utilizzando la temperatura.Per ogni passaggio di selezione dei token, vengono mostrati i token top-K con il vengono campionate. Quindi i token vengono ulteriormente filtrati in base a top-p con il token finale selezionato utilizzando il campionamento della temperatura.
Specifica un valore più basso per risposte meno casuali e un valore più alto per più risposte risposte casuali.
- Top-P: utilizza il dispositivo di scorrimento o la casella di testo per inserire un valore per il top-P.
I token vengono selezionati dal più probabile al meno probabile fino alla somma dei loro
le probabilità equivalgono al valore di top-P. Per ottenere risultati meno variabili,
imposta top-P su
0
. - Risposte massime: utilizza il cursore o la casella di testo per inserire un valore per il numero di risposte da generare.
- Risposte dinamiche: attiva questa opzione per stampare le risposte man mano che vengono generate.
- Soglia filtro di sicurezza: seleziona la soglia della probabilità di sono le risposte che potrebbero essere dannose.
- Abilita grounding: il grounding non è supportato per la modalità multimodale personalizzati.
Fai clic su Inserisci file multimediali e seleziona un'origine per il file.
Carica
Seleziona il file che vuoi caricare e fai clic su Apri.
Tramite URL
Inserisci l'URL del file che vuoi utilizzare e fai clic su Inserisci.
YouTube
Inserisci l'URL del video di YouTube che vuoi utilizzare e fai clic su Inserisci.
Puoi utilizzare qualsiasi video pubblico o un video di proprietà dell'account che utilizzato per accedere alla console Google Cloud.
Cloud Storage
Seleziona il bucket e poi il file al suo interno che vuoi importare e fai clic su Seleziona.
Google Drive
- Scegli un account e concedi il consenso a Vertex AI Studio per accedere al tuo account la prima volta che selezioni questa opzione. Puoi caricare più file che non superino i 10 MB totali. Un singolo file non può superare 7 MB
- Fai clic sul file che vuoi aggiungere.
Fai clic su Seleziona.
La miniatura del file viene visualizzata nel riquadro Prompt. Il totale di token. Se i dati del prompt superano il limite di token, i token vengono troncati e non sono inclusi nell'elaborazione dei dati.
Inserisci il prompt di testo nel riquadro Prompt.
(Facoltativo) Per visualizzare ID token in testo e ID token, fai clic sul conteggio token nel riquadro Prompt.
Fai clic su Invia.
(Facoltativo) Per salvare il prompt in I miei prompt, fai clic su
Salva.(Facoltativo) Per ottenere il codice Python o un comando curl per il prompt, fai clic su
Ricevi codice.
Video con audio
Di seguito viene mostrato come riassumere un file video con audio e restituire i capitoli con i timestamp. Questo esempio funziona con Solo Gemini 1.5 Pro.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI SDK for Python.
Risposte dinamiche e non dinamiche
Puoi scegliere se il modello genera risposte in streaming o non in streaming. Per le risposte dinamiche, ricevi ogni risposta non appena viene generato il token di output. Per le risposte non dinamiche, ricevi tutte le risposte dopo che sono stati generati tutti i token di output.
Per una risposta dinamica, utilizza il parametro stream
in
generate_content
.
response = model.generate_content(contents=[...], stream = True)
Per una risposta non in streaming, rimuovi il parametro o impostalo su
False
.
Codice di esempio
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Java Vertex AI per Gemini.
Per autenticarti in Vertex AI, configura le credenziali predefinite per l'applicazione. Per ulteriori informazioni, vedi Configurare l'autenticazione per un ambiente di sviluppo locale.
Risposte dinamiche e non dinamiche
Puoi scegliere se il modello genera risposte in streaming oppure risposte non in streaming. Per le risposte dinamiche, ricevi ogni risposta non appena viene generato il relativo token di output. Per le risposte non dinamiche, ricevi tutte le risposte dopo la generazione di tutti i token di output.
Per una risposta in modalità flusso, utilizza
generateContentStream
.
public ResponseStream<GenerateContentResponse> generateContentStream(Content content)
Per una risposta non in streaming, utilizza il metodo
generateContent
.
public GenerateContentResponse generateContent(Content content)
Codice di esempio
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida sull'IA generativa con l'SDK Node.js. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Node.js per Gemini.
Per autenticarti in Vertex AI, configura le credenziali predefinite per l'applicazione. Per ulteriori informazioni, consulta la sezione Configurazione per un ambiente di sviluppo locale.
Risposte dinamiche e non dinamiche
Puoi scegliere se il modello genera risposte in streaming o non in streaming. Per le risposte dinamiche, ricevi ogni risposta non appena viene generato il relativo token di output. Per le risposte non dinamiche, ricevi tutte le risposte dopo la generazione di tutti i token di output.
Per una risposta in modalità flusso, utilizza
generateContentStream
.
const streamingResp = await generativeModel.generateContentStream(request);
Per una risposta non in streaming, utilizza il metodo
generateContent
.
const streamingResp = await generativeModel.generateContent(request);
Codice di esempio
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida introduttiva di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Go di Vertex AI per Gemini.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta la sezione Configurazione per un ambiente di sviluppo locale.
Risposte dinamiche e non dinamiche
Puoi scegliere se il modello genera risposte in streaming oppure risposte non in streaming. Per le risposte dinamiche, ricevi ogni risposta non appena viene generato il relativo token di output. Per le risposte non dinamiche, ricevi tutte le risposte dopo che sono stati generati tutti i token di output.
Per una risposta in modalità flusso, utilizza
GenerateContentStream
.
iter := model.GenerateContentStream(ctx, genai.Text("Tell me a story about a lumberjack and his giant ox. Keep it very short."))
Per una risposta non in streaming, utilizza il metodo GenerateContent
.
resp, err := model.GenerateContent(ctx, genai.Text("What is the average size of a swallow?"))
Codice di esempio
C#
Prima di provare questo esempio, segui le istruzioni di configurazione C# in Vertex AI Guida rapida. Per ulteriori informazioni, consulta la sezione Vertex AI documentazione di riferimento C#.
Per autenticarti in Vertex AI, configura le credenziali predefinite per l'applicazione. Per ulteriori informazioni, consulta la sezione Configurazione per un ambiente di sviluppo locale.
Risposte dinamiche e non dinamiche
Puoi scegliere se il modello genera risposte in streaming o non in streaming. Per le risposte dinamiche, ricevi ogni risposta non appena viene generato il relativo token di output. Per le risposte non dinamiche, ricevi tutte le risposte dopo la generazione di tutti i token di output.
Per una risposta dinamica, utilizza il metodo
StreamGenerateContent
.
public virtual PredictionServiceClient.StreamGenerateContentStream StreamGenerateContent(GenerateContentRequest request)
Per una risposta non in streaming, utilizza il metodo
GenerateContentAsync
.
public virtual Task<GenerateContentResponse> GenerateContentAsync(GenerateContentRequest request)
Per ulteriori informazioni su come il server può trasmettere le risposte, consulta RPC dinamiche.
Codice di esempio
REST
Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt di testo. Il seguente esempio invia una richiesta all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
LOCATION
: la regione in cui elaborare la richiesta. Inserisci una regione supportata. Per l'elenco completo delle regioni supportate, consulta Località disponibili.Fai clic per espandere un elenco parziale delle regioni disponibili
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
PROJECT_ID
: il tuo ID progetto.FILE_URI
: l'URI o l'URL del file da includere nel prompt. I valori accettabili sono:- URI bucket Cloud Storage: l'oggetto deve essere leggibile pubblicamente o risiedere in lo stesso progetto Google Cloud che invia la richiesta.
- URL HTTP: l'URL del file deve essere pubblicamente leggibile. Puoi specificare un file video e fino a 10 file immagine per richiesta. I file e i documenti audio non possono superare i 15 MB.
- URL del video di YouTube:il video di YouTube deve essere di proprietà dell'account utilizzato per accedere alla console Google Cloud o se è pubblico. È supportato un solo URL video di YouTube per richiesta.
Quando specifichi un
fileURI
, devi specificare anche il tipo di media (mimeType
) del file.Se non hai un file video in Cloud Storage, puoi utilizzare quanto segue: file disponibile al pubblico:
gs://cloud-samples-data/generative-ai/video/pixel8.mp4
con un tipo MIMEvideo/mp4
. Per visualizzare questo video, apri il file MP4 di esempio.MIME_TYPE
: il tipo di media del file specificato nei campidata
ofileUri
. I valori accettabili sono:Fai clic per espandere i tipi MIME
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
image/webp
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
Le istruzioni testuali da includere nel prompt. Ad esempio:TEXT
Provide a description of the video. The description should also contain anything important which people say in the video.
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
cat > request.json << 'EOF' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } EOF
Quindi, esegui il seguente comando per inviare la richiesta REST:
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/gemini-1.5-flash:generateContent"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
@' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui il seguente comando per inviare la richiesta REST:
$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/gemini-1.5-flash:generateContent" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente.
Tieni presente quanto segue nell'URL di questo esempio:- Utilizza la
generateContent
per richiedere che la risposta venga restituita dopo la sua completa generazione. Per ridurre la percezione della latenza per un pubblico umano, trasmetti la risposta in tempo reale generati utilizzandostreamGenerateContent
. - L'ID del modello multimodale si trova alla fine dell'URL prima del metodo
(ad esempio
gemini-1.5-flash
ogemini-1.0-pro-vision
). Questo sample potrebbe supportare anche altri modelli.
Console
Per inviare un prompt multimodale utilizzando la console Google Cloud, esegui la seguenti:Nella sezione Vertex AI della console Google Cloud, vai alla pagina Vertex AI Studio.
Fai clic su Apri in formato libero.
(Facoltativo) Configura il modello e i parametri:
- Modello: seleziona un modello.
- Regione: seleziona la regione che vuoi utilizzare.
Temperatura: utilizza il dispositivo di scorrimento o la casella di testo per inserire un valore per la temperatura.
La temperatura viene utilizzata per il campionamento durante la generazione della risposta, che si verifica quando
topP
etopK
. La temperatura controlla il grado di casualità nella selezione dei token. Le temperature più basse sono ideali per prompt che richiedono una risposta meno aperta o creativa, mentre temperature più alte possono portare a risultati più diversificati o creativi. Una temperatura pari a0
significa che vengono sempre selezionati i token con la probabilità più alta. In questo caso, le risposte per un determinato sono per lo più deterministici, ma è ancora possibile una piccola variazione.Se il modello restituisce una risposta troppo generica, troppo breve o fornisce una risposta di riserva, prova ad aumentare la temperatura.
Limite di token di output: utilizza il cursore o la casella di testo per inserire un valore per il limite di output massimo.
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.
Aggiungi sequenza di interruzioni: facoltativo. Inserisci una sequenza di interruzioni, ovvero una serie di caratteri che include spazi. Se il modello rileva un una sequenza di interruzioni, la generazione della risposta si interrompe. La sequenza di fermate non è inclusa nella risposta e puoi aggiungere fino a cinque sequenze di fermate.
(Facoltativo) Per configurare parametri avanzati, fai clic su Avanzato e configurala come segue:
Fai clic per espandere le configurazioni avanzate
Top-K: utilizza il cursore o la casella di testo per inserire un valore per top-K. (non supportato per Gemini 1.5).
Top-K cambia il modo in cui il modello seleziona i token per l'output. Un top-K di1
significa che il successivo token selezionato è il più probabile tra tutti nel vocabolario del modello (chiamato anche decodifica greedy), mentre una top-K di3
significa che il token successivo viene selezionato tra i tre probabili token utilizzando la temperatura.Per ogni passaggio di selezione dei token, vengono mostrati i token top-K con il vengono campionate. Quindi i token vengono ulteriormente filtrati in base a top-p con il token finale selezionato utilizzando il campionamento della temperatura.
Specifica un valore più basso per risposte meno casuali e un valore più alto per più risposte risposte casuali.
- Top-P: utilizza il dispositivo di scorrimento o la casella di testo per inserire un valore per il top-P.
I token vengono selezionati dal più probabile al meno probabile fino alla somma dei loro
le probabilità equivalgono al valore di top-P. Per ottenere risultati meno variabili,
imposta top-P su
0
. - Risposte massime: utilizza il cursore o la casella di testo per inserire un valore per il numero di risposte da generare.
- Risposte dinamiche: attiva questa opzione per stampare le risposte man mano che vengono generate.
- Soglia filtro di sicurezza: seleziona la soglia della probabilità di sono le risposte che potrebbero essere dannose.
- Abilita grounding: il grounding non è supportato per la modalità multimodale personalizzati.
Fai clic su Inserisci file multimediali e seleziona un'origine per il file.
Carica
Seleziona il file che vuoi caricare e fai clic su Apri.
Tramite URL
Inserisci l'URL del file che vuoi utilizzare e fai clic su Inserisci.
YouTube
Inserisci l'URL del video di YouTube che vuoi utilizzare e fai clic su Inserisci.
Puoi utilizzare qualsiasi video pubblico o un video di proprietà dell'account che utilizzato per accedere alla console Google Cloud.
Cloud Storage
Seleziona il bucket e poi il file al suo interno che vuoi importare e fai clic su Seleziona.
Google Drive
- Scegli un account e concedi il consenso a Vertex AI Studio per accedere al tuo account la prima volta che selezioni questa opzione. Puoi caricare più file che non superino i 10 MB totali. Un singolo file non può superare 7 MB
- Fai clic sul file che vuoi aggiungere.
Fai clic su Seleziona.
La miniatura del file viene visualizzata nel riquadro Prompt. Il totale di token. Se i dati del prompt superano il limite di token, i token vengono troncati e non sono inclusi nell'elaborazione dei dati.
Inserisci il prompt di testo nel riquadro Prompt.
(Facoltativo) Per visualizzare ID token in testo e ID token, fai clic sul conteggio token nel riquadro Prompt.
Fai clic su Invia.
(Facoltativo) Per salvare il prompt in I miei prompt, fai clic su
Salva.(Facoltativo) Per ottenere il codice Python o un comando curl per il prompt, fai clic su
Ricevi codice.
Imposta parametri del modello facoltativi
Ogni modello ha un insieme di parametri facoltativi che puoi impostare. Per ulteriori informazioni, consulta Parametri di generazione dei contenuti.
Requisiti dei video
I modelli multimodali Gemini supportano i seguenti tipi MIME video:
Tipo MIME video | Gemini 1.5 Flash | Gemini 1.5 Pro | Gemini 1.0 Pro Vision |
---|---|---|---|
FLV - video/x-flv |
|||
MOV - video/quicktime |
|||
MPEG - video/mpeg |
|||
MPEGPS - video/mpegps |
|||
MPG - video/mpg |
|||
MP4 - video/mp4 |
|||
WEBM - video/webm |
|||
WMV - video/wmv |
|||
3GPP - video/3gpp |
Ecco il numero massimo di file video consentiti in una richiesta di prompt:
- Gemini 1.0 Pro Vision: 1 file video
- Gemini 1.5 Flash e Gemini 1.5 Pro: 10 file video
Ecco come vengono calcolati i token per i video:
- Tutti i modelli multimodali Gemini: i video vengono campionati a
1 frame al secondo (fps) . Ogni fotogramma video corrisponde a 258 token. - Gemini 1.5 Flash e
Gemini 1.5 Pro: la traccia audio è codificata.
con i fotogrammi video. Anche la traccia audio è suddivisa in
trunk di 1 secondo che rappresentano ciascuno 32 token. I frame video e i token audio vengono interlacciati insieme ai relativi timestamp. La sono rappresentati da sette token.
Best practice
Quando utilizzi i video, segui le best practice e le informazioni riportate di seguito per ottenere risultati ottimali:
- Se il prompt contiene un solo video, mettilo prima del testo richiesta.
- Se hai bisogno di localizzare il timestamp in un video con audio, chiedi al modello
per generare timestamp nel formato
MM:SS
in cui le prime due cifre rappresentano i minuti e le ultime due cifre rappresentano i secondi. Utilizza la nello stesso formato per le domande relative a un timestamp. Tieni presente quanto segue se utilizzi Gemini 1.0 Pro Vision:
- Non utilizzare più di un video per prompt.
- Il modello elabora solo le informazioni del video.
- Il modello elabora i video come frame di immagini non contigui del video. L'audio non è incluso. Se noti che al modello mancano alcuni contenuti del video, prova a renderlo più breve in modo che possa acquisire una porzione maggiore dei contenuti.
- Il modello non elabora informazioni audio o timestamp metadati. Per questo motivo, il modello potrebbe non funzionare correttamente nei casi d'uso che richiedono un input audio, come audio dei sottotitoli codificati o video informazioni come velocità o ritmo.
Limitazioni
Sebbene i modelli multimodali di Gemini siano efficaci in molti casi di utilizzo multimodale, è importante comprendere i loro limiti:
- Moderazione dei contenuti: i modelli si rifiutano di fornire risposte su video che violano le nostre norme sulla sicurezza.
- Riconoscimento dei suoni non vocali: i modelli che supportano l'audio potrebbe commettere errori nel riconoscere suoni diversi dalla voce.
- Movimento ad alta velocità: i modelli potrebbero commettere errori.
comprendere i movimenti ad alta velocità nei video grazie all'effetto
Frequenza di campionamento di
1 frame al secondo (f/s) . - Punteggiatura delle trascrizioni: (se utilizzi Gemini 1.5 Flash) I modelli potrebbero restituire trascrizioni che non includono punteggiatura.
Passaggi successivi
- Inizia a creare con i modelli multimodali Gemini. I nuovi clienti ricevono 300 $di crediti Google Cloud gratuiti per scoprire cosa possono fare con Gemini.
- Scopri come inviare richieste di prompt di chat.
- Scopri le best practice per l'AI responsabile e i filtri di sicurezza di Vertex AI.