Prompt e istruzioni di sistema di PaliGemma

Questa pagina descrive la formattazione dei prompt e le istruzioni di sistema per i modelli PaliGemma. Queste varianti del modello Gemma utilizzano la stessa formattazione generale dei modelli di base Gemma e supportano anche una sintassi speciale per attività specifiche relative alle immagini.

Formato del prompt

I modelli PaliGemma utilizzano la stessa formattazione dei prompt dei modelli di base Gemma su cui si basano. Tuttavia, i modelli PaliGemma supportano anche una sintassi delle attività speciale, descritta nella sezione successiva. Per maggiori informazioni sulla formattazione dei prompt di Gemma, consulta le istruzioni del sistema e del prompt di Gemma.

Ordine dei dati di testo e delle immagini

Quando fornisci i prompt ai modelli PaliGemma con dati di testo e immagini, i dati delle immagini devono essere sempre forniti prima, seguiti dai dati dei prompt di testo. Se inverti l'ordine dei dati dei prompt di testo e immagine o se li mescoli, tipicamente genererai risposte inutilizzabili.

Sintassi del prompt dell'attività

I modelli PaliGemma vengono addestrati con pattern e sintassi di prompt specifici per compiti come l'identificazione di oggetti e la descrizione di immagini. Puoi utilizzare questa sintassi della richiesta di compito per richiedere un comportamento specifico ai modelli PaliGemma, come segue:

  • "cap {lang}\n": didascalia breve molto grezza (da WebLI-alt)
  • "caption {lang}\n": brevi didascalie di buona qualità, simili a quelle di COCO
  • "describe {lang}\n": sottotitoli codificati leggermente più lunghi e descrittivi
  • "ocr": riconoscimento ottico dei caratteri
  • "answer {lang} {question}\n": risposta alle domande sui contenuti delle immagini
  • "question {lang} {answer}\n": generazione di domande per una determinata risposta
  • "detect {object} ; {object}\n": individua gli oggetti elencati in un'immagine e restituisce le relative caselle delimitanti
  • "segment {object}\n": individua l'area occupata dall'oggetto in un'immagine per creare una segmentazione dell'immagine per quell'oggetto

Le opzioni {lang} sono per i codici lingua. Con questa opzione, PaliGemma supporta il riconoscimento della lingua per 34 lingue diverse per i prompt delle attività. Puoi trovare l'elenco delle lingue supportate su GitHub.

Per esempi di codice dettagliati che mostrano come utilizzare questa sintassi, consulta il tutorial su come generare l'output di PaliGemma con Keras.

Comandi prompt raggruppati

Puoi fornire più di un comando prompt all'interno di un singolo prompt come batch di istruzioni. Ogni comando prompt deve terminare con un carattere \n. L'esempio seguente mostra come strutturare il testo del prompt per fornire più istruzioni.

prompts = [
    'answer en where is the cow standing?\n',
    'answer en what color is the cow?\n',
    'describe en\n',
    'detect cow\n',
    'segment cow\n',
]
images = [cow_image, cow_image, cow_image, cow_image, cow_image]
outputs = paligemma.generate(
    inputs={
        "images": images,
        "prompts": prompts,
    }
)
for output in outputs:
    print(output)

Istruzioni di sistema

I modelli PaliGemma non supportano istruzioni di sistema aggiuntive oltre alle istruzioni di sistema di Gemma dei modelli di base su cui si basano.