Fornire esempi (few-shot prompting)
Tramite l’inclusione di alcuni esempi relativi all’attività nel prompt, puoi creare un modello strutturato che Amazon Nova deve seguire. In questo modo, è possibile ridurre l’ambiguità e migliorare la precisione e la qualità dell’output. La tecnica che consiste nel fornire esempi chiari per rendere le risposte del modello più vicine al risultato desiderato si chiama few-shot prompting.
Il few-shot prompting consiste nel fornire al modello linguistico alcuni esempi (shot) dell’attività, insieme al formato di input e output, e quindi chiedergli di generare l’output per un nuovo input basato sugli esempi forniti. Questo metodo è utile anche per chiarire istruzioni o attività complesse, affinché sia più facile per Amazon Nova comprendere e interpretare ciò che viene richiesto.
Come può aiutare l’aggiunta di esempi al prompt:
L’aggiunta di esempi può aiutare il modello a produrre:
-
risposte coerenti e uniformi allo stile degli esempi;
-
risposte efficienti grazie alla diminuzione della probabilità di interpretare erroneamente le istruzioni e alla riduzione al minimo delle allucinazioni.
La portata del miglioramento delle prestazioni del modello tramite il few-shot prompting dipenderà dalla qualità e dalla diversità degli esempi scelti. I seguenti elementi illustrano quali sono le caratteristiche di buoni shot nel prompt:
-
Selezione di esempi diversificati: gli esempi scelti devono rappresentare la distribuzione dell’input/output previsto in termini di diversità (dai casi d’uso comuni ai casi limite) per coprire adeguatamente i casi d’uso pertinenti. È importante evitare qualsiasi bias negli esempi, poiché un bias negli input può causare bias anche negli output.
-
Livelli di complessità corrispondenti: la complessità degli esempi forniti deve essere in linea con l’attività o lo scenario di destinazione. È importante assicurarsi che il grado di complessità sia mappato tra l’input previsto e l’esempio scelto nel prompt.
-
Pertinenza garantita: gli esempi selezionati devono essere direttamente pertinenti al problema o all’obiettivo in questione. Ciò garantisce la coerenza e l’uniformità delle risposte.
Suggerimento
Se i suggerimenti precedenti non funzionano, consigliamo di creare un sistema basato su generazione potenziata da recupero dati (RAG) che migliori il prompt con una selezione dinamica di shot basata sulle analogie tra la query di input dell’utente e un pool di shot disponibile.
In questo caso, l’utente sta cercando di classificare i ticket di assistenza clienti in entrata in categorie predefinite. Puoi fornire alcuni esempi di ticket classificati correttamente ai modelli Amazon Nova per migliorare la comprensione delle categorie e del linguaggio utilizzato nei ticket. Gli esempi devono essere concisi e rappresentare tutte le attività previste dall’applicazione. Se esiste un nome di campo specifico significativo per le attività, come Ticket o Category in questo esempio, l’utente può utilizzare tali campi seguiti direttamente dai due punti ":".
Ruolo |
Prompt 0-shot |
Prompt 3-shot |
|---|---|---|
Utente |
Classifica i seguenti ticket di assistenza clienti in una di queste categorie: “problema tecnico”, “domanda di fatturazione” o “richiesta generale”. Ticket: “Puoi spiegarmi perché la mia ultima fattura è più alta del solito? Non ho cambiato piano”. |
Classifica i seguenti ticket di assistenza clienti in una di queste categorie: “problema tecnico”, “domanda di fatturazione” o “richiesta generale”. Usa questi esempi per orientare la classificazione:
Ora, classifica il seguente ticket: Ticket: “Puoi spiegarmi perché la mia ultima fattura è più alta del solito? Non ho cambiato piano”. |
Assistente |
Il ticket di assistenza clienti deve essere classificato come “domanda di fatturazione”. Ecco il ragionamento:
|
Categoria: domanda di fatturazione Spiegazione: il ticket chiede una spiegazione relativa al cambiamento dell’importo della fattura; ricade quindi nella categoria di fatturazione poiché riguarda domande su addebiti o pagamenti. |
In questo caso, gli esempi vengono forniti come turni, un turno per esempio, in cui il ruolo User contiene l’input e il ruolo Assistant contiene l’output previsto per tale esempio.
Ruolo |
Prompt 0 |
Prompt 3-shot (come turni) |
|---|---|---|
Sistema |
Il tuo compito è classificare i seguenti testi nelle categorie adeguate. Le categorie per la classificazione sono: Categories
|
Il tuo compito è classificare i seguenti testi nelle categorie adeguate. Le categorie per la classificazione sono: Categories
|
Utente |
Adoro mangiare la pizza. |
|
Assistente |
Cibo |
|
Utente |
Mi piace guardare film. |
|
Assistente |
Intrattenimento |
|
Utente |
Quando ho finito andrò in palestra. |
|
Assistente |
Integrità |
|
Utente |
Ho 20 USD in tasca. |
Ho 20 USD in tasca. |
Assistente |
Categoria: ricchezza. Spiegazione: il testo indica un importo di denaro specifico, che rientra nella categoria della ricchezza. La presenza di un valore monetario è direttamente correlata alla situazione finanziaria o all’aspetto economico. |
Ricchezza |
In questo caso, puoi specificare una sezione “Esempi” e poi elencare una serie di esempi all’interno del prompt di sistema. Questa modalità di fornire esempi nel prompt è particolarmente utile se gli esempi sono lunghi e complessi e aiuta il modello a individuare gli shot di esempio.
Ruolo |
Prompt 0-shot |
Prompt 2-shot |
|---|---|---|
Sistema |
Sei un assistente IA che aiuta a redigere report professionali per stakeholder aziendali. Assicurati che il report sia formattato in rich text con titoli, elenchi puntati e attività importante evidenziate. |
Sei un assistente IA che aiuta a redigere report professionali per stakeholder aziendali. Di seguito sono riportati alcuni esempi di report di aggiornamento dei progetti ben formattati per orientare la risposta.
Report di aggiornamento del progetto Data: 15 gennaio 2023 Traguardi di progetto raggiunti:
Attività completate:
Piani futuri:
Preparato da: [Nome] [Ruolo] [Informazioni di contatto]
Report di aggiornamento del progetto Data: 20 febbraio 2023 Traguardi di progetto raggiunti:
Attività completate:
Piani futuri:
Preparato da: [Nome] [Ruolo] [Informazioni di contatto] |
Utente |
Redigi un report di aggiornamento del progetto dettagliato per i nostri stakeholder, riassumendo i traguardi di progetto raggiunti, le attività completate e i piani futuri. |
Redigi un report di aggiornamento del progetto dettagliato per i nostri stakeholder, riassumendo i traguardi di progetto raggiunti, le attività completate e i piani futuri. |
Assistente |
|
Report di aggiornamento del progetto Data: 5 ottobre 2023 Traguardi di progetto raggiunti:
Attività completate:
Piani futuri:
Preparato da: [Nome] [Ruolo] [Informazioni di contatto] Questo report dettagliato offre una panoramica chiara e concisa dell’avanzamento del progetto ed evidenzia i traguardi raggiunti, le attività completate e i piani futuri. Assicura che gli stakeholder siano ben informati e possano prendere decisioni strategiche in base allo stato attuale del progetto. |