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 |
|---|---|
Descrivi questa immagine. |
L'immagine mostra un tabellone di arrivi e partenze di un aeroporto. |
| Prompt aggiornato | Risposta migliorata |
|---|---|
Parse the time and city from the airport board shown in this image into a list. |
|
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 |
|---|---|
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.
|
città: Roma, punto di riferimento: il Colosseo. |
|
city: Beijing, landmark: Forbidden City |
|
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 |
|---|---|
Quando finirò la carta igienica? |
Presto ti rimarranno solo 3 tiri. |
| Prompt aggiornato | Risposta migliorata |
|---|---|
|
|
Anche i problemi di matematica o altri tipi di problemi con enunciato possono essere suddivisi in attività più piccole.
| Prompt | Risposta |
|---|---|
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 |
|---|---|
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$$
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 |
|---|---|
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 |
|---|---|
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 |
|---|---|
Fornisci un elenco di tutti i seguenti attributi: ingredienti, tipo di cucina, vegetariano o meno, in formato JSON |
|
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 |
|---|---|
Quanti giorni dureranno questi pannolini per un bambino? |
I pannolini dureranno 198 giorni prima di esaurirsi. |
| Prompt aggiornato | Risposta migliorata |
|---|---|
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 |
|---|---|
Cosa hanno in comune 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 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 |
|---|---|
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 |
|---|---|
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 |
|---|---|
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 |
|---|---|
Qual è uno snack che posso preparare in 1 minuto e che si abbina bene a questo? |
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 |
|---|---|
Qual è uno snack che posso preparare in 1 minuto e che si abbina bene a questo? |
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:
generateContente Agent Studio: Agent Platform accede agli oggettigs://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 URIgs://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.getutilizzando 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 URIgs://distinti nel turno corrente e in qualsiasi cronologiaprevious_interaction_idcollegata. 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:
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 ancheroles/storage.objectVieweral 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"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.objectViewerall'agente di servizio del progetto in cui viene avviata la richiesta della piattaforma dell'agente (e all'entità chiamante quando chiami l'API Interactions).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
- Prova un tutorial della guida rapida utilizzando l'API Agent Platform.
- Per iniziare a utilizzare l'API Gemini, consulta la guida rapida all'API Gemini.