Progetta prompt multimodali

L'API Gemini ti consente di includere input multimodali come testo, immagini e video come parte del prompt per i modelli Gemini. Questa pagina fornisce le best practice per la progettazione di prompt multimodali e su come risolvere i problemi se i prompt non funzionano come previsto. Per indicazioni generali sulla progettazione dei prompt, consulta le nostre strategie di progettazione dei prompt consigliate o l'elenco di best practice specifiche per la modalità multimodale riportato di seguito.

Concetti fondamentali sulla progettazione dei prompt

Le sezioni seguenti descrivono le best practice fondamentali per progettare prompt multimodali efficaci.

Utilizza istruzioni specifiche

I prompt chiari e dettagliati forniscono i risultati migliori. Se hai in mente un output specifico, includi questo requisito nel prompt per aumentare la probabilità di ottenere l'output corretto.

Anche quando un prompt sembra chiaro alla persona che lo ha scritto, potrebbe essere troppo generico. Per personalizzare il comportamento del modello, considera come potrebbe essere interpretato il prompt e assicurati che le istruzioni fornite siano specifiche e chiare.

Se hai incluso l'immagine di questo tabellone dell'aeroporto nel prompt, chiedendo al modello di "descrivere questa immagine" potresti generare una descrizione generale. Se hai bisogno che il modello analizzi l'ora e la città dall'immagine, includi questa richiesta direttamente nel prompt.

Prompt Risposta del modello
Un tabellone degli orari dell'aeroporto con orari e città.

Descrivi questa immagine.

L'immagine mostra un tabellone di arrivi e partenze di un aeroporto.

Prompt aggiornato Risposta migliorata
Un tabellone degli orari dell'aeroporto con orari e città.

Parse the time and city from the airport board shown in this image into a list.

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

Aggiungi esempi

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

Nell'esempio seguente, l'output iniziale è una frase completa che contiene anche il paese (Brasile). Se l'output preferito è solo la città, non il paese, l'aggiunta di esempi few-shot al prompt può guidare il modello a rispondere in quel formato.

Prompt Risposta del modello
La statua del Cristo Redentore a Rio de Janeiro, in Brasile.

Determina la città insieme al punto di riferimento.

Il punto di riferimento è la statua del Cristo Redentore a Rio de Janeiro, in Brasile.

Prompt aggiornato Risposta migliorata

Determina la città insieme al punto di riferimento.

Il Colosseo a Roma, Italia.

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

La Città Proibita di Pechino, in Cina.

city: Beijing, landmark: Forbidden City

La statua del Cristo Redentore a Rio de Janeiro, in Brasile.

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

Suddividi le attività complesse in attività più piccole

Per attività complesse, come quelle che richiedono sia la comprensione visiva che il ragionamento, suddividi l'attività in passaggi più piccoli e semplici o chiedi direttamente al modello di pensare passo passo nel prompt.

Prompt Risposta del modello
Un'immagine di tre rotoli di carta igienica.

Quando finirò la carta igienica?

Presto ti rimarranno solo 3 tiri.

Prompt aggiornato Risposta migliorata
Un'immagine di tre rotoli di carta igienica.
  1. Innanzitutto, conta quanti rotoli di carta igienica ci sono in questa immagine.
  2. Poi, determina quanta carta igienica usa una persona media al giorno.
  3. Calcola quanto dureranno questi rotoli di carta igienica.
  1. In questa immagine sono presenti 3 rotoli di carta igienica.
  2. Una persona media utilizza circa 20 fogli di carta igienica al giorno.
  3. Se ogni rotolo contiene 200 fogli, ogni rotolo durerà circa 10 giorni. Pertanto, i 3 rotoli dureranno circa un mese.

Anche i problemi di matematica o altri tipi di problemi con enunciato possono essere suddivisi in attività più piccole.

Prompt Risposta
Un'immagine della sequenza matematica b. b(1) = 15 e b(n) = b(n-1) * (-3).

Qual è il quarto termine della sequenza?

-135

La risposta del modello non è corretta. Prova a chiedere al modello di analizzare il problema prima di rispondere al prompt.

Prompt Risposta
Un'immagine della sequenza matematica b. b(1) = 15 e b(n) = b(n-1) * (-3).

Analizza prima la formula nell'immagine.

Poi, in base alla formula, rispondi alla domanda "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:

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

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

  2. Non conosciamo il valore di b(3), quindi sostituiamo n = 3 nella formula:

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

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

  3. Non conosciamo il valore di b(2), quindi sostituiamo n = 2 nella formula:

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

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

  4. Sappiamo che il valore di b(1) è 15, quindi sostituiscilo nella formula:

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

    $$b(2) = -45$$

  5. Ora che conosciamo il valore di b(2), sostituiscilo nella formula per b(3):

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

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

    $$b(3) = 135$$

  6. Ora che conosciamo il valore di b(3), sostituiscilo nella formula per b(4):

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

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

    $$b(4) = -405$$

Pertanto, il quarto termine della sequenza è -405.

Per rendere la risposta ancora più semplificata, puoi chiedere al modello di riflettere sul prompt passo dopo passo.

Prompt aggiornato Risposta migliorata
Un'immagine della sequenza matematica b. b(1) = 15 e b(n) = b(n-1) * (-3).

Qual è il quarto termine della sequenza? Ragiona 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.

Specifica il formato di output

Quando è richiesto un determinato formato, puoi indicare al modello di utilizzarlo per l'output.

Prompt Risposta del modello
L'immagine di un foglio di lavoro in Excel.

Analizza la tabella in questa immagine in formato Markdown

| Subject   | Status      | Time    | Start date | Due on     |
|-----------|-------------|---------|------------|------------|
| Math      | Done        | 1.5 hrs | 11/29/2023 | 12/1/2023  |
| Geography | Done        | 30 min  | 12/2/2023  | 12/4/2023  |
| Physics   | In progress | 2 hrs   | 12/3/2023  | 12/5/2023  |
| Biology   | Not started | 6 hrs   | 11/2/2016  | 12/6/2023  |
        
Prompt Risposta del modello
Un'immagine di un piatto con gamberi, vongole e altri ingredienti.

Fornisci un elenco di tutti i seguenti attributi:

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


        {
          "ingredients": [
            "rice",
            "shrimp",
            "clams",
            "mussels",
            "peas",
            "tomatoes",
            "onions",
            "garlic",
            "olive oil",
            "paprika",
            "salt",
            "pepper"
          ],
          "type of cuisine": "Spanish",
          "vegetarian": false
        }
        

Risolvi i problemi di un prompt multimodale

La risoluzione dei problemi di un prompt può comportare il miglioramento del linguaggio del prompt, la focalizzazione del prompt o l'ottimizzazione dei parametri. Questi diversi approcci possono portare a risultati migliori, soprattutto dopo aver determinato la causa principale del problema.

Concentrati sulla parte pertinente di un'immagine

Per migliorare la risposta, indica quali parti dell'immagine sono più pertinenti al prompt.

Prompt Risposta del modello
Un'immagine del lato di una confezione di pannolini; sulla confezione è scritto il numero 198.

Quanti giorni dureranno questi pannolini per un bambino?

I pannolini dureranno 198 giorni prima di esaurirsi.

Prompt aggiornato Risposta migliorata
Un'immagine del lato di una confezione di pannolini; sulla confezione è scritto il numero 198.

Quanto dureranno questi pannolini prima che finiscano?

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

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

La confezione contiene 198 pannolini. Sulla confezione è indicato che i pannolini sono per un bambino di peso compreso tra 10 e 17 kg.

In media, un bambino in questa fascia di peso ha un'età compresa tra 1 e 2 anni.

Un bambino di 2 anni consuma in genere 6 pannolini al giorno, quindi i pannolini dureranno circa 33 giorni (198/6).

Personalizza la risposta del modello all'input

Chiedi al modello di descrivere le immagini prima di eseguire l'attività nel prompt.

Prompt Risposta del modello
Un'immagine di una persona che prepara una valigia. Un'immagine di un corridoio vuoto in un centro commerciale. Un'immagine di tre rotoli di carta igienica. Un'immagine di nuvole scure che si aprono sul mare.

Cosa hanno in comune queste immagini?

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

Prompt aggiornato Risposta migliorata
Un'immagine di una persona che prepara una valigia. Un'immagine di un corridoio vuoto in un centro commerciale. Un'immagine di tre rotoli di carta igienica. Un'immagine di nuvole scure che si aprono sul mare.

Innanzitutto, descrivi in dettaglio i contenuti di ogni immagine. Cosa hanno in comune queste immagini?

La prima immagine mostra una persona che prepara una valigia. La seconda immagine mostra un corridoio vuoto in un centro commerciale. La terza immagine mostra un rotolo di carta igienica. La quarta immagine mostra un mare scuro e in tempesta.

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

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

La quarta immagine mostra il mare in una condizione intermedia tra calmo e in tempesta.

Gli spazi liminali possono essere sia entusiasmanti che inquietanti. Possono essere un luogo di nuovi inizi o di conclusioni. Possono essere un luogo di riflessione o un luogo di azione.

Puoi chiedere esplicitamente al modello di fare riferimento ai contenuti dell'immagine.

Prompt aggiornato Risposta migliorata
Un'immagine di una persona che prepara una valigia. Un'immagine di un corridoio vuoto in un centro commerciale. Un'immagine di tre rotoli di carta igienica. Un'immagine di nuvole scure che si aprono sul mare.

Cosa hanno in comune queste immagini? Fai riferimento ai contenuti 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 in 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é rappresentano tutte cose di cui le persone hanno bisogno o che utilizzano quando viaggiano. La prima immagine mostra una persona che prepara una valigia, un'azione che le persone compiono quando stanno per partire per un viaggio. La seconda immagine mostra un corridoio vuoto in un centro commerciale, un luogo in cui le persone si recano spesso per acquistare articoli per i loro viaggi. La terza immagine mostra una pila di carta igienica, un oggetto che le persone usano spesso quando viaggiano. La quarta immagine mostra un mare scuro e in tempesta, una situazione che le persone incontrano spesso quando viaggiano.

Gli stessi suggerimenti sono validi per l'output creativo. Chiedi esplicitamente al modello di includere aspetti dell'immagine; questo può migliorare l'output.

Prompt Risposta del modello
L'immagine di un coniglio marrone.

Puoi scrivermi una poesia su questa immagine?

Little bunny, so soft and brown,
        Hopping through the field, up and down.
        Your ears so long, your tail so small,
        You're the cutest creature of them all.
You nibble on the grass, so green and sweet,
        And hop away when you see me.
        But I'll always be your friend,
        Little bunny, until the very end.
Prompt aggiornato Risposta migliorata
L'immagine di un coniglio marrone.

Puoi scrivermi una poesia descrittiva e drammatica su questa immagine e includere la località?

Little bunny on the green,
        Ears so long, so keen.
        What do you see out there,
        In the distance, where you stare?
Is it the ocean blue,
        Sparkling in the sun's hue?
        Or the waves that crash and roar,
        A rhythm that you adore?
Little bunny, tell me true,
        What captures your attention so?
        Is it the salty breeze,
        Or the seagulls' cries that please?
Perhaps it's the vastness of it all,
        A world so big and small.
        A place where dreams can roam,
        And adventures can be sown.
Little bunny, I wonder what you dream,
        As you sit on the grass, so serene.
        Do you yearn to explore the deep,
        Or stay on land, where you can leap?
Whatever it may be, little bunny,
        Keep that spark of wonder burning brightly.
        For in your dreams and aspirations,
        Lies a world waiting for your creation.

Determina il motivo per cui il prompt non è riuscito

Un prompt può non riuscire perché il modello non ha compreso l'immagine o perché non ha eseguito i passaggi di ragionamento corretti in seguito. Per distinguere tra questi motivi, chiedi al modello di descrivere cosa c'è nell'immagine.

In questo esempio, se il modello risponde con uno snack che sembra sorprendente se abbinato al tè (come i popcorn), determina innanzitutto se il modello ha riconosciuto che l'immagine contiene tè.

Prompt Prompt per la risoluzione dei problemi
Un'immagine di un set da tè.

Qual è uno snack che posso preparare in 1 minuto e che si abbina bene a questo?

Un'immagine di un set da tè.

Descrivi i contenuti di questa immagine.

Chiedere al modello di spiegare il suo ragionamento può aiutare a restringere il campo della parte del ragionamento che non ha funzionato, se presente.

Prompt Prompt per la risoluzione dei problemi
Un'immagine di un set da tè.

Qual è uno snack che posso preparare in 1 minuto e che si abbina bene a questo?

Un'immagine di un set da tè.

Qual è uno snack che posso preparare in 1 minuto e che si abbina bene a questo? Spiega perché.

Risolvi i problemi di accesso e autorizzazioni di Cloud Storage

Il modo in cui Agent Platform autentica e limita gli URI Cloud Storage (gs://) dipende dall'endpoint API:

  • generateContent e Agent Studio: Agent Platform accede agli oggetti gs:// utilizzando l'agente di servizio Agent Platform (service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com) del progetto chiamante, non le tue credenziali utente personali, e supporta gli URI gs:// fino ai limiti degli elementi del modello per modalità (3000 immagini e PDF combinati, 1000 file audio, 10 video e fino a 6500 file multimodali combinati se includi file di testo normale, fino a 2 GiB meno 500 KiB per file).
  • API Interactions: le richieste di interazione con il modello controllano le autorizzazioni storage.objects.get utilizzando le credenziali del chiamante come passaggio di preflight prima che l'agente di servizio della piattaforma agente del progetto chiamante recuperi l'oggetto da Cloud Storage. Per i bucket Cloud Storage tra progetti o i bucket Cloud Storage con policy IAM personalizzate, sia il chiamante autenticato sia l'agente di servizio devono disporre dell'accesso in lettura. Le richieste supportano fino a 100 URI gs:// distinti nel turno corrente e in qualsiasi cronologia previous_interaction_id collegata. Per la configurazione dell'API Interactions e la gestione degli errori, consulta Accedi ai file Cloud Storage caricati.

Se una richiesta non va a buon fine con un errore di autorizzazione durante l'accesso a un file di input di Cloud Storage (HTTP 403), verifica quanto segue:

  1. Concedi il ruolo Storage Object Viewer sul bucket Cloud Storage: assicurati che l'agente di servizio della piattaforma agente del progetto chiamante abbia il ruolo Storage Object Viewer (roles/storage.objectViewer) sul bucket Cloud Storage contenente i file (e per le richieste dell'API Interactions, concedi anche roles/storage.objectViewer al principal chiamante autenticato):

    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
      --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com" \
      --role="roles/storage.objectViewer"
    
  2. Accesso al bucket Cloud Storage tra progetti: se il bucket Cloud Storage si trova in un progetto Google Cloud diverso da quello della piattaforma dell'agente, concedi roles/storage.objectViewer all'agente di servizio del progetto in cui viene avviata la richiesta della piattaforma dell'agente (e all'entità chiamante quando chiami l'API Interactions).

  3. Compatibilità di grounding e strumenti: assicurati che il grounding con la Ricerca Google sia disabilitato nel riquadro di configurazione durante l'elaborazione degli input multimediali di Cloud Storage o verifica la compatibilità degli strumenti con la versione del modello selezionata.

Ottimizza i parametri di campionamento

In ogni richiesta, invii al modello non solo il prompt multimodale, ma anche un insieme di parametri di campionamento. A seconda dei valori parametro, il modello può generare risultati diversi. Sperimenta con i diversi parametri per ottenere i valori migliori per l'attività. I parametri modificati più di frequente sono i seguenti:

Temperatura

La temperatura viene utilizzata per il campionamento durante la generazione della risposta, che avviene quando vengono applicati top-P e top-K. La temperatura controlla il grado di casualità nella selezione dei token. Le temperature 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 è più probabile che venga 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, aumenta la temperatura. Se osservi allucinazioni evidenti, riduci la temperatura.

Top-P

Top-P cambia il modo in cui il modello seleziona i token per l'output. I token vengono selezionati dal più probabile 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 e 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