L'API Gemini consente di inviare prompt multimodali al modello Gemini. Le modalità supportate includono testo, immagine e video.
Per indicazioni generali sulla progettazione dei prompt, consulta Strategie di progettazione dei prompt.
Modelli supportati
I seguenti modelli supportano risposte di prompt multimodali.
- Gemini 1.5 Flash (anteprima)
- Gemini 1.5 Pro (anteprima)
- Gemini 1.0 Pro Vision
Puoi migliorare i prompt multimodali seguendo queste best practice:
Concetti fondamentali sulla progettazione dei prompt
- Fornisci istruzioni specifiche: crea istruzioni chiare e concise che lascino lo spazio minimo a possibili interpretazioni errate.
- Aggiungi alcuni esempi al prompt:utilizza esempi realistici a pochi scatti per spiegare gli obiettivi che vuoi ottenere.
- Suddividono le attività passo passo: suddividi le attività complesse in obiettivi secondari gestibili in modo da guidare il modello attraverso il processo.
- Specifica il formato di output: nel prompt, chiedi che l'output sia nel formato desiderato, ad esempio markdown, JSON, HTML e altro ancora.
- Inserisci l'immagine all'inizio per i prompt con immagine singola: sebbene Gemini sia in grado di gestire gli input di testo e immagine in qualsiasi ordine, per i prompt contenenti una singola immagine potrebbe funzionare meglio se l'immagine (o il video) viene posizionata prima del prompt di testo. Tuttavia, per i prompt che richiedono un'elevata interleaving tra i testi per avere senso, utilizza l'ordine più naturale.
Risolvere i problemi relativi al prompt multimodale
- Se il modello non ricava informazioni dalla parte pertinente dell'immagine:rilascia i suggerimenti in merito agli aspetti dell'immagine da cui vuoi che vengano recuperate le informazioni.
- Se l'output del modello è troppo generico (non sufficientemente personalizzato per l'input dell'immagine o del video): all'inizio del prompt prova a chiedere al modello di descrivere l'immagine o il video prima di fornire l'istruzione dell'attività oppure prova a chiedere al modello di fare riferimento a ciò che contiene.
- Per risolvere i problemi relativi alla parte in errore: chiedi al modello di descrivere l'immagine o di spiegarne il ragionamento per valutare la sua comprensione iniziale.
- Se il tuo prompt genera contenuti allusi: prova a ridurre l'impostazione della temperatura o a chiedere al modello descrizioni più brevi in modo che sia meno probabile che vengano estrapolati ulteriori dettagli.
- Ottimizzazione dei parametri di campionamento: sperimenta con diverse impostazioni di temperatura e selezioni di top-k per modificare la creatività del modello.
Concetti fondamentali sulla progettazione dei prompt
Questa sezione approfondisce le best practice elencate nella sezione precedente.
Nota: i risultati dei modelli dei seguenti esempi Gemini possono variare da un'esecuzione all'altra.
Fornisci istruzioni specifiche
I prompt hanno più successo quando sono chiari e dettagliati. Se hai in mente un output specifico, è meglio includere questo requisito nel prompt per assicurarti di ottenere l'output che ti interessa.
A volte, l'intento di un prompt può sembrare chiaro per la persona che lo ha scritto, ma in realtà è sotto specificato. Per personalizzare il comportamento del modello, considera come potrebbe essere interpretata (errata) la tua richiesta e assicurati che le istruzioni fornite siano specifiche e chiare. Ricordati di lasciare il minimo spazio a possibili interpretazioni errate
Per questa immagine del tabellone di un aeroporto, chiedere al modello di "descrivere questa immagine" potrebbe generare una descrizione generale. Se hai bisogno che il modello analizzi l'ora e la città dall'immagine, puoi includere questa richiesta direttamente nel prompt.
Prompt | Risposta del modello |
---|---|
Descrivi questa immagine. |
L'immagine mostra il tabellone degli arrivi e delle partenze di un aeroporto. |
Prompt aggiornato | Risposta migliorata |
---|---|
Analizza l'ora e la città dal tabellone dell'aeroporto mostrati in questa immagine per creare un elenco. |
Aggiungi alcuni esempi
Il modello Gemini può accettare più input, da utilizzare come esempi per comprendere l'output desiderato. L'aggiunta di questi esempi può aiutare il modello a identificare i pattern e applicare la relazione tra le immagini specificate e le risposte al nuovo esempio. Questo processo è anche chiamato apprendimento "few-shot".
Nell'esempio seguente, l'output iniziale è scritto in forma di frase e contiene anche il paese (Brasile). Supponi di volere l'output in un formato o stile diverso e di voler solo la città, non il paese. L'aggiunta di esempi few-shot al prompt può indirizzare il modello a rispondere nel modo desiderato.
Prompt | Risposta del modello |
---|---|
Determinare la città e il punto di riferimento. |
Il punto di riferimento è la statua del Cristo Redentore a Rio de Janeiro, in Brasile. |
Prompt aggiornato | Risposta migliorata |
---|---|
Determinare la città e il punto di riferimento. |
city: Roma, punto di riferimento: il Colosseo. |
città: Pechino, punto di riferimento: Città Proibita |
|
città: Rio de Janeiro, punto di riferimento: statua del Cristo Redentore |
Scomponi la procedura passo dopo passo
Per attività complesse come quelle che richiedono una comprensione e un ragionamento sia visivi che di ragionamento, può essere utile suddividere l'attività in passaggi più piccoli e più semplici. Oppure, potrebbe essere efficace anche chiedendo direttamente al modello di "pensare passo dopo passo" nel prompt.
Prompt | Risposta del modello |
---|---|
Quando finirò la carta igienica? |
A breve ti restano solo 3 lanci. |
Prompt aggiornato | Risposta migliorata |
---|---|
|
|
I problemi matematici o altri tipi di problemi con enunciato sono ottimi candidati per chiedere al modello di pensare in modo dettagliato.
Prompt | Risposta |
---|---|
Qual è il quarto termine nella sequenza? |
-135 |
La risposta dal modello è errata. Un modo per migliorare questo comportamento consiste nel chiedere al modello di analizzare il problema prima di rispondere al prompt.
Prompt | Risposta |
---|---|
Analizza prima la formula nell'immagine. Quindi, in base alla formula, rispondi "Qual è il quarto termine della sequenza?". |
Fai clic per espandere il risultato$$ b(n) = b(n-1) * (-3) $$ $$ b(1) = 15 $$
$$ b(4) = b(4-1) * (-3) $$ $$ b(4) = b(3) * (-3) $$ $$ b(3) = b(3-1) * (-3) $$ $$ b(3) = b(2) * (-3) $$ $$ b(2) = b(2-1) * (-3) $$ $$ b(2) = b(1) * (-3) $$ $$ b(2) = 15 * (-3) $$ $$ b(2) = -45 $$ $$ b(3) = b(2) * (-3) $$ $$ b(3) = -45 * (-3) $$ $$ b(3) = 135 $$ $$ b(4) = b(3) * (-3) $$ $$ b(4) = 135 * (-3) $$ $$ b(4) = -405 $$ Di conseguenza, il quarto termine nella sequenza è -405. |
La risposta del modello è corretta: ora, per rendere la risposta ancora più semplice, puoi chiedere al modello di pensare passo dopo passo.
Prompt aggiornato | Risposta migliorata |
---|---|
Qual è il quarto termine nella sequenza? Pensa passo dopo passo. |
Il primo termine è 15. Il secondo termine è b(1) * (-3) = 15 * (-3) = -45. Il terzo termine è b(2) * (-3) = -45 * (-3) = 135. Il quarto termine è b(3) * (-3) = 135 * (-3) = -405. |
Prova a specificare il formato di output
Un problema comune è la necessità che l'output del modello sia in un determinato formato (ad es. markdown, JSON, HTML), soprattutto se l'output del modello deve essere importato da un'attività downstream. Puoi provare a produrre un output in quel formato indicando al modello di farlo all'interno del prompt. Di seguito sono riportati due esempi:
Prompt | Risposta del modello |
---|---|
Analizza la tabella in questa immagine nel formato markdown |
| Oggetto | Stato | Ora | Data di inizio | Scadenza | | ------- | ------ | ---- | --------- | ------ | | Matematica | Completato | 1,5 h | 29/11/2023 | 1/12/2023 | | Geografia | Completato | 30 min | 2/12/2023 | 4/12/2023 | | Fisica | In corso | 2 h | 3/12/2023 | 5/12/2023 | | Biologia | Non iniziata | 6 ore | 2/11/2016 | 6/12/2023 | |
Prompt | Risposta del modello |
---|---|
Fornisci un elenco di tutti i seguenti attributi: ingredienti, tipo di cucina, vegetariana o meno, in formato JSON |
|
Metti l'immagine al primo posto per prompt con una singola immagine
Sebbene Gemini sia in grado di interpretare l'immagine e il testo in qualsiasi ordine all'interno di un prompt, posizionare una singola immagine prima del prompt di testo può portare a risultati migliori. Negli esempi riportati di seguito, noterai che l'immagine o il video precede il testo di ogni prompt.
Risoluzione dei problemi del prompt multimodale
Se non ricevi una risposta utile, potresti dover risolvere i problemi che hai inviato. Ecco alcune strategie che puoi provare.
Se il modello non ricava informazioni dalla parte pertinente dell'immagine
Per ottenere una risposta più specifica, puoi indicare da quali aspetti dell'immagine vuoi che il prompt estragga informazioni per informare la sua risposta.
Prompt | Risposta del modello |
---|---|
Quanti giorni dureranno un bambino con questi pannolini? |
I pannolini dureranno per 198 giorni prima di finire. |
Prompt aggiornato | Risposta migliorata |
---|---|
Quanto dureranno questi pannolini prima che io esaurisca? Utilizza il peso mostrato sulla confezione per determinare l'età del bambino e il numero totale di pannolini contenuti nella confezione. Dividi il numero totale per il numero di pannolini che il bambino usa al giorno. |
La confezione contiene 198 pannolini. La confezione indica che i pannolini sono per un bambino che pesa 22-37 libbre. Il bambino medio in questo intervallo di peso ha probabilmente un'età compresa tra 1 e 2 anni. Un bambino di 2 anni in genere passa attraverso 6 pannolini al giorno, pertanto i pannolini dureranno circa 33 giorni (198/6). |
Se l'output del modello è troppo generico e non è sufficientemente personalizzato per l'input dell'immagine o del video
Per aiutare il modello a personalizzare la sua risposta alle immagini, prova a chiedergli di descrivere le immagini prima di eseguire il ragionamento.
Prompt | Risposta del modello |
---|---|
Cos'è in comune tra queste immagini? |
Tutte e quattro le immagini sono esempi di fotografie di paesaggi. |
Prompt aggiornato | Risposta migliorata |
---|---|
Prima di tutto, descrivi nel dettaglio cosa c'è in ogni immagine. Cosa c'è in comune tra queste immagini? |
La prima immagine mostra una persona che va in valigia. La seconda immagine mostra un corridoio vuoto di un centro commerciale. La terza immagine mostra un rotolo di carta igienica. La quarta immagine mostra un mare scuro e tempestoso. La cosa comune tra queste immagini è che sono tutte esempi di spazi liminali. Gli spazi Liminal sono luoghi o situazioni che si trovano tra due altri luoghi o situazioni. Sono spesso caratterizzati da un senso di incertezza o ambiguità. La prima immagine mostra la persona che si trova a casa durante un viaggio. La seconda immagine mostra l'ingresso tra due negozi. La terza immagine mostra la carta igienica, che può rappresentare un bagno. Il bagno è uno spazio di transizione tra regni privato e pubblico. È un luogo in cui ci prepariamo a entrare o a uscire dal mondo esterno. La quarta immagine mostra il mare, a metà strada tra la calma e la tempesta. Gli spazi Liminal possono essere emozionanti e inquietanti. Possono essere un luogo di nuovo inizio o di arrivo. Possono essere un luogo di riflessione o di azione. |
Puoi anche provare a chiedere esplicitamente al modello di fare riferimento ai contenuti dell'immagine.
Prompt aggiornato | Risposta migliorata |
---|---|
Cos'è in comune tra queste immagini? Fai riferimento al contenuto delle immagini nella tua risposta. |
Tutte le immagini sono correlate ai viaggi. La prima immagine mostra una persona che prepara una valigia, la seconda un corridoio vuoto di un centro commerciale, la terza una pila di carta igienica e la quarta un mare scuro e in tempesta. Queste immagini sono tutte correlate ai viaggi perché sono tutto ciò di cui le persone hanno bisogno o utilizzano quando viaggiano. La prima immagine mostra una persona che va in valigia, azione che si svolgono durante un viaggio. La seconda immagine mostra un corridoio vuoto di un centro commerciale, dove le persone spesso vanno a fare acquisti per i propri viaggi. La terza immagine mostra una pila di carta igienica, che le persone usano spesso quando sono in viaggio. La quarta immagine mostra un mare scuro e in tempesta, che le persone spesso si imbattono durante i viaggi. |
Gli stessi suggerimenti funzionano anche per lo sviluppo creativo di immagini o video. Nell'esempio seguente, chiedere esplicitamente al modello di includere aspetti dell'immagine per migliorare l'output.
Prompt | Risposta del modello |
---|---|
Puoi scrivermi una poesia su questa immagine? |
Un coniglietto morbido e marrone che Scaldi l'erba verde e dolce |
Prompt aggiornato | Risposta migliorata |
---|---|
Puoi scrivermi una poesia descrittiva e drammatica su questa immagine includendo il luogo? |
Coniglietto sul verde, È blu oceano, Coniglietto, dimmi il vero, Forse è la vastità di tutto, Coniglietto piccolo, mi chiedo cosa sogni. Comunque sia, coniglietto, |
Risolvere i problemi relativi a quale parte della richiesta non è andata a buon fine
Può essere difficile capire se un prompt ha avuto esito negativo perché il modello non ha compreso l'immagine all'inizio o se ha capito l'immagine, ma non ha eseguito i passaggi di ragionamento corretti in seguito.
Per chiarire questi motivi, chiedi al modello di descrivere cosa c'è nell'immagine.
Nell'esempio riportato di seguito, se il modello risponde con uno snack che sembra sorprendente quando abbinato al tè (ad es. i popcorn), puoi prima risolvere il problema per determinare se il modello ha riconosciuto correttamente che l'immagine contiene tè.
Prompt | Richiesta di risoluzione dei problemi |
---|---|
Qual è uno spuntino che posso preparare in un minuto che vada bene? |
Descrivi cosa c'è in questa immagine. |
Un'altra strategia è chiedere al modello di spiegare il suo ragionamento. Questo può aiutarti a restringere la fase del ragionamento, se presente.
Prompt | Richiesta di risoluzione dei problemi |
---|---|
Qual è uno spuntino che posso preparare in un minuto che vada bene? |
Qual è uno spuntino che posso preparare in un minuto che vada bene? Spiega il motivo. |
Ottimizzazione dei parametri di campionamento
In ogni richiesta, invii al modello non solo il prompt multimodale, ma un insieme di parametri di campionamento. Il modello può generare risultati diversi a seconda dei valori parametro. Fai degli esperimenti con i diversi parametri per ottenere i valori migliori per l'attività. I parametri regolati più di frequente sono i seguenti:
- Temperatura
- top-P
- top-k
Temperatura
La temperatura viene utilizzata per il campionamento durante la generazione della risposta, che si verifica quando vengono applicati top-P e top-K.
La temperatura controlla il grado di casualità nella selezione dei token. Le temperature più basse sono ideali per prompt che richiedono risposte più deterministiche e meno aperte o creative, mentre le temperature più alte possono portare a risultati più diversificati o creativi. Una temperatura pari a 0 è deterministica, il che significa che viene sempre selezionata la risposta con la probabilità più alta.
Per la maggior parte dei casi d'uso, inizia con una temperatura di 0,4. Se hai bisogno di risultati più creativi, prova ad aumentare la temperatura. Se noti allucinazioni chiare, prova a ridurre la temperatura.
Top-K
Top-K cambia il modo in cui il modello seleziona i token per l'output. Un top-K pari a 1 indica che il token successivo selezionato è il più probabile tra tutti i token nel vocabolario del modello (detta anche decodifica greedy), mentre un top-K pari a 3 indica che il token successivo viene selezionato tra i tre token più probabili in base alla temperatura.
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 ai valori top-p e il token finale viene selezionato utilizzando il campionamento della temperatura.
Specifica un valore più basso per risposte meno casuali e un valore più alto per risposte più casuali. Il valore predefinito di top-K è 32.
Top-P
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,6, 0,3, 0,1 e il valore di top-P è 0,9, il modello selezionerà A o B come token successivo utilizzando la temperatura ed esclude C come candidato.
Specifica un valore più basso per risposte meno casuali e un valore più alto per risposte più casuali. Il valore predefinito di top-P è 1,0.
Passaggi successivi
- Prova un tutorial di avvio rapido con Generative AI Studio o l'API Vertex AI.
- Per iniziare, consulta Inviare richieste di prompt multimodali.
- Scopri di più sulle limitazioni multimodali