Progetta prompt multimodali

L'API Gemini ti consente di inviare prompt multimodali al modello Gemini. Le modalità supportate includono testo, immagini e video.

Per linee guida generali per la progettazione dei prompt, consulta l'articolo Strategie di progettazione dei prompt.

Modelli supportati

I seguenti modelli supportano le risposte ai 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 di base sulla progettazione dei prompt

  • Scrivi istruzioni specifiche: crea istruzioni chiare e concise che lascino il minimo spazio a possibili interpretazioni errate.
  • Aggiungi alcuni esempi al prompt:utilizza esempi realistici con poche foto per spiegare ciò che vuoi ottenere.
  • Suddividi il modello passo dopo passo: dividi le attività complesse in sottoobiettivi gestibili, guidando il modello attraverso il processo.
  • Specifica il formato di output: nel prompt, chiedi che l'output sia nel formato che preferisci, ad esempio markdown, JSON, HTML e altro ancora.
  • Metti l'immagine al primo posto per i prompt con una singola immagine: anche se Gemini può gestire l'input di immagini e testo in qualsiasi ordine, per i prompt contenenti una singola immagine, potrebbe avere un rendimento migliore se l'immagine (o il video) viene posizionato prima del prompt di testo. Tuttavia, per i prompt che richiedono che le immagini siano fortemente interlacciate con testi per avere senso, usa l'ordine più naturale.

Risoluzione dei problemi relativi al prompt multimodale

  • Se il modello non sta estraendo informazioni dalla parte pertinente dell'immagine: inserisci i suggerimenti con gli aspetti dell'immagine da cui vuoi che il prompt tragga informazioni.
  • Se l'output del modello è troppo generico (non sufficientemente personalizzato per l'input dell'immagine/video): all'inizio del prompt, prova a chiedere al modello di descrivere l'immagine o il video prima di fornire l'istruzione oppure prova a chiedere al modello di fare riferimento ai contenuti dell'immagine.
  • Per risolvere il problema relativo a quale parte non è riuscita, chiedi al modello di descrivere l'immagine o di spiegare il suo ragionamento per valutare la comprensione iniziale del modello.
  • Se il prompt genera contenuti allucinati: prova a ridurre l'impostazione della temperatura o a chiedere al modello descrizioni più brevi in modo da ridurre le probabilità di estrapolare dettagli aggiuntivi.
  • Ottimizzazione dei parametri di campionamento:sperimenta diverse impostazioni di temperatura e selezioni top-k per modificare la creatività del modello.

Concetti di base sulla progettazione dei prompt

Questa sezione illustra le best practice elencate nella sezione precedente.

Nota: i risultati del modello dei seguenti esempi di Gemini possono variare a seconda dell'esecuzione.

Usa istruzioni specifiche

I prompt sono più efficaci se sono chiari e dettagliati. Se hai in mente un output specifico, è meglio includere questo requisito nel prompt per assicurarti di ottenere l'output desiderato.

A volte, l'intento di un prompt può sembrare chiaro alla persona che lo ha scritto, ma in realtà è sottospecificato. Per personalizzare il comportamento del modello, valuta come potrebbe essere interpretato (erroneamente) il tuo prompt e assicurati che le istruzioni fornite siano specifiche e chiare. Ricordati di lasciare un margine minimo per possibili interpretazioni errate.

Per questa immagine di un aeroporto, chiedere al modello di "descrivere l'immagine" potrebbe generare una descrizione generale. Se hai bisogno che il modello analizzi l'ora e la città dell'immagine, puoi includere la richiesta direttamente nel prompt.

Prompt Risposta del modello

Descrivi questa immagine.

L'immagine mostra un tabellone degli arrivi e delle partenze dell'aeroporto.

Prompt aggiornato Risposta migliorata
Orario di viaggio

Analizza l'ora e la città dal pannello dell'aeroporto mostrata in questa immagine in un elenco.

  • 10:50 Mosca
  • 11:05 Edimburgo
  • 11:05 Londra
  • 11:10 Bucarest
  • 11:30 Kiev
  • 11:35 Dublino
  • 11:45 Midlands Orientali
  • 12:15 Sofia
  • 12:30 Londra
  • 12:30 Newcastle
  • 12:40 San Pietroburgo
  • 12:40 Londra
  • 12:45 Manchester
  • Aggiungi alcuni esempi

    Il modello Gemini può accettare più input che possono utilizzare come esempi per comprendere l'output desiderato. L'aggiunta di questi esempi può aiutare il modello a identificare i pattern e ad applicare la relazione tra le immagini e le risposte date al nuovo esempio. Questo è anche chiamato apprendimento "few-shot".

    Nell'esempio riportato di seguito, l'output iniziale è scritto in forma di frase e contiene anche il paese (Brasile). Supponiamo di volere l'output in un formato o uno stile diverso e di voler solo la città, non il paese. L'aggiunta di esempi few-shot al prompt può portare il modello a rispondere nel modo che vuoi.

    Prompt Risposta del modello
    Orario di viaggio

    Stabilire la città e il punto di riferimento.

    Il monumento è la statua del Cristo Redentore a Rio de Janeiro, in Brasile.

    Prompt aggiornato Risposta migliorata

    Stabilire la città e il punto di riferimento.

    colosseo

    città: Roma, punto di riferimento: il Colosseo.

    Città proibita

    città: Pechino, punto di riferimento: Città Proibita

    città proibita

    città: Rio de Janeiro, punto di riferimento: statua del Cristo Redentore

    Analizzalo dettagliatamente

    Per attività complesse come quelle che richiedono sia la comprensione visiva che il ragionamento, può essere utile suddividere l'attività in passaggi più piccoli e più semplici. In alternativa, puoi chiedere al modello di "pensare passo dopo passo" nel prompt.

    Prompt Risposta del modello

    Quando avrò finito la carta igienica?

    A breve ti restano solo 3 lanci.

    Prompt aggiornato Risposta migliorata

      1. Innanzitutto, conta quanti rotoli di carta igienica ci sono in questa foto.
      2. Quindi, determina quanta carta igienica utilizza una persona tipica al giorno.
      3. Calcola la durata di questi rotoli di carta igienica.

      1. In questa foto ci sono 3 rotoli di carta igienica.
      2. Una persona di solito usa circa 20 fogli di carta igienica al giorno.
      3. Se ogni rotolo contiene 200 fogli, ogni rotolo durerà circa 10 giorni. Pertanto, i 3 lanci dureranno circa un mese.

    I problemi di matematica o altri tipi di problemi con enunciato sono ottimi candidati per chiedere al modello di pensare passo dopo passo.

    Prompt Risposta

    Qual è il quarto termine della sequenza?

    -135

    La risposta del modello non è corretta. Alcuni modi per migliorare questo risultato sono 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 $$

    1. Sostituisci n = 4 nella formula:
    2. $$ b(4) = b(4-1) * (-3) $$

      $$ b(4) = b(3) * (-3) $$

    3. Non conosciamo il valore di b(3), quindi sostituisci n = 3 nella formula:
    4. $$ b(3) = b(3-1) * (-3) $$

      $$ b(3) = b(2) * (-3) $$

    5. Non conosciamo il valore di b(2), quindi sostituisci n = 2 nella formula:
    6. $$ b(2) = b(2-1) * (-3) $$

      $$ b(2) = b(1) * (-3) $$

    7. Sappiamo che il valore di b(1) è 15, quindi sostituiscilo con la formula:
    8. $$ b(2) = 15 * (-3) $$

      $$ b(2) = -45 $$

    9. Ora che conosciamo il valore di b(2), sostituiscilo con la formula di b(3):
    10. $$ b(3) = b(2) * (-3) $$

      $$ b(3) = -45 * (-3) $$

      $$ b(3) = 135 $$

    11. Ora che conosciamo il valore di b(3), sostituiscilo con la formula di b(4):
    12. $$ b(4) = b(3) * (-3) $$

      $$ b(4) = 135 * (-3) $$

      $$ b(4) = -405 $$

    Pertanto, il quarto termine nella sequenza è -405.

    Questa risposta del modello è corretta: ora, per rendere la risposta ancora più semplice, puoi chiedere al modello di pensare passo passo.

    Prompt aggiornato Risposta migliorata

    Qual è il quarto termine della sequenza? Pensa passo 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 in formato markdown

    | Oggetto | Stato | Ora | Data di inizio | Scadenza |

    | ------- | ------ | ---- | --------- | ------ |

    | Matematica | Fatto | 1,5 h | 29/11/2023 | 1/12/2023 |

    | Geografia | Fatto | 30 min | 2/12/2023 | 4/12/2023 |

    | Fisica | In corso | 2 ore | 3/12/2023 | 5/12/2023 |

    | Biologia | Non iniziato | 6 ore | 2/11/2016 | 06/12/2023 |

    Prompt Risposta del modello

    Fornisci un elenco di tutti i seguenti attributi:

    ingredienti, tipo di cucina, vegetariano o meno, in formato JSON

    ```json```

    {

    "ingredients": [

    "rice",

    "shrimp",

    "clams",

    "mussels",

    "peas",

    "tomatoes",

    "onions",

    "garlic",

    "olive oil",

    "paprika",

    "salt",

    "pepper"

    ],

    "type of cuisine": "Spanish",

    "vegetarian": false

    Metti l'immagine al primo posto per i prompt con una singola immagine

    Gemini può interpretare immagini e testo in qualsiasi ordine all'interno di un prompt, ma posizionare una singola immagine prima del prompt di testo potrebbe portare a risultati migliori. Negli esempi riportati di seguito, noterai che l'immagine o il video vengono visualizzati prima del testo di ogni richiesta.

    Risoluzione dei problemi del prompt multimodale

    Se non ricevi una risposta utile, potrebbe essere necessario risolvere i problemi del tuo prompt. Ecco alcune strategie che puoi provare a utilizzare.

    Se il modello non trae informazioni dalla parte pertinente dell'immagine

    Per ottenere una risposta più specifica, puoi indicare da quali aspetti dell'immagine vuoi che il prompt tragga informazioni per orientare la sua risposta.

    Prompt Risposta del modello

    Quanti giorni dureranno questi pannolini a un bambino?

    I pannolini dureranno 198 giorni prima di esaurirsi.

    Prompt aggiornato Risposta migliorata

    Quanto dureranno questi pannolini prima di esaurirmi?

    Utilizza il peso indicato sulla confezione per determinare l'età del bambino e utilizza il numero totale di pannolini inclusi nella confezione.

    Dividi il numero totale per il numero di pannolini che il bambino passa al giorno.

    La confezione contiene 198 pannolini. La confezione indica che i pannolini sono per un bambino di peso compreso tra 22 e 37 libbre.

    Il bambino medio di questo intervallo di peso ha probabilmente tra 1 e 2 anni.

    Un bambino di 2 anni di solito passa attraverso 6 pannolini al giorno, quindi i pannolini dureranno circa 33 giorni (198/6).

    Se l'output del modello è troppo generico e non sufficientemente adatto all'input dell'immagine o del video

    Per consentire al modello di personalizzare la risposta alle immagini, prova a chiedergli di descrivere le immagini prima di eseguire il ragionamento.

    Prompt Risposta del modello

    Cosa c'è in comune tra queste immagini?

    Tutte e quattro le immagini sono esempi di fotografia di paesaggi.

    Prompt aggiornato Risposta migliorata

    Innanzitutto, descrivi in dettaglio i contenuti di ogni immagine. Cosa c'è in comune tra queste immagini?

    La prima immagine mostra una persona che prepara una 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 in tempesta.

    La caratteristica in comune tra queste immagini è che sono tutte esempi di spazi liminali. Gli spazi liminali sono luoghi o situazioni che si trovano tra due altri luoghi o situazioni. Spesso sono caratterizzati da un senso di incertezza o ambiguità.

    La prima immagine mostra la persona tra una casa e un viaggio. La seconda immagine mostra il corridoio tra due negozi. La terza immagine è di carta igienica, che può rappresentare un bagno. Un bagno è uno spazio di transizione tra l'area privata e quella pubblica. È un luogo in cui ci prepariamo a entrare o uscire dal mondo esterno.

    La quarta immagine mostra il mare tra la calma e il temporale.

    Gli spazi liminali possono essere emozionanti e inquietanti. Possono essere un luogo di un nuovo inizio o di finali. 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

    Cosa c'è in comune tra queste immagini? Fai riferimento a cosa c'è nelle immagini nella risposta.

    Tutte le immagini sono relative ai viaggi. La prima immagine mostra una persona che prepara una valigia, la seconda immagine un corridoio vuoto in un centro commerciale, la terza immagine mostra una pila di carta igienica e la quarta immagine mostra 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 prepara una valigia, cosa che le persone fanno durante un viaggio. La seconda immagine mostra un corridoio vuoto in un centro commerciale, un luogo in cui le persone spesso si recano a comprare articoli per i loro 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 tempestoso, qualcosa che le persone incontrano spesso quando viaggiano.

    Gli stessi suggerimenti valgono per la creatività generata da immagini o video. Nell'esempio seguente con il coniglio, chiedere esplicitamente al modello di includere aspetti dell'immagine può migliorare l'output.

    Prompt Risposta del modello

    Puoi scrivermi una poesia su questa immagine?

    Un coniglietto così morbido e marrone,
    saltellando per i campi, su e giù.
    Le tue orecchie così lunghe, la tua coda così piccola,
    Sei la creatura più carina di tutte.

    Mangia l'erba così verde e dolce,
    E salti via quando mi vedi.
    Ma sarò sempre un tuo amico,
    Coniglietto, fino alla fine.

    Prompt aggiornato Risposta migliorata

    Puoi scrivermi una poesia descrittiva e drammatica su questa immagine e includere il luogo?

    Coniglietto sul verde,
    Orecchie così lunghe, intensa.
    Cosa vedi là fuori,
    in lontananza, dove guardi?

    È blu dell'oceano,
    scintillante nella tonalità del sole?
    O le onde che si infrangono e ruggiscono,
    Un ritmo che adori?

    Coniglietto, dimmi vero,
    Cosa attira così la tua attenzione?
    È la brezza salata
    O le pianti dei gabbiani che ti prego?

    Forse è la vastità di tutto,
    Un mondo così grande e piccolo.
    Un luogo dove i sogni possono vagare
    E le avventure possono essere seminate.

    Coniglietto, mi chiedo cosa tu sogni.
    Mentre sei sull'erba in un modo tranquillo.
    Desideri esplorare gli abissi
    O rimanere sulla terraferma, dove puoi saltare?

    Qualunque cosa sia, coniglietto,
    Tieni quella scintilla di stupore che brucia intensamente.
    Nei tuoi sogni e nelle tue aspirazioni,
    C'è un mondo che attende la tua creazione.

    Risolvere i problemi relativi alla parte del prompt non riuscita

    Può essere difficile capire se un prompt ha esito negativo perché il modello non ha compreso l'immagine all'inizio o se ha compreso l'immagine ma in seguito non ha eseguito i passaggi di ragionamento corretti.

    Per distinguerli, 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 a tè (ad es. popcorn), puoi prima risolvere i problemi per determinare se il modello ha riconosciuto correttamente che l'immagine contiene tè.

    Prompt Richiesta di risoluzione dei problemi

    Quale spuntino in 1 minuto può andare bene?

    Descrivi cosa c'è in questa immagine.

    Un'altra strategia consiste nel chiedere al modello di spiegare il suo ragionamento. Questo può aiutarti a restringere l'eventuale parte del ragionamento eventualmente interrotta.

    Prompt Richiesta di risoluzione dei problemi

    Quale spuntino in 1 minuto può andare bene?

    Quale spuntino in 1 minuto può andare bene? Spiega perché.

    Ottimizzazione dei parametri di campionamento

    In ogni richiesta non invii solo il prompt multimodale, ma anche un set di parametri di campionamento al modello. Il modello può generare risultati diversi a seconda dei valori parametro. Sperimenta 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, prova a iniziare 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 (chiamato anche decodifica greedy). Un top-K pari a 3 indica invece che il token successivo viene selezionato tra i tre token più probabili utilizzando la 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 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. 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 probabilità non corrisponde al 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 seleziona 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