Tecniche di progettazione delle richieste

Queste tecniche non sono consigliate per i modelli di ragionamento come i modelli gpt-5 e serie O.

La costruzione di prompt può essere difficile. In pratica, la richiesta agisce per aiutare il modello a completare l'attività desiderata, ma è più di un'arte che una scienza, spesso richiede esperienza e intuizione per creare una richiesta di successo. L'obiettivo di questo articolo è quello di iniziare a usare questo processo di apprendimento. Questo articolo tenta di acquisire concetti e modelli generali applicabili a tutti i modelli GPT. Tuttavia, è importante comprendere che ogni modello si comporta in modo diverso, quindi gli apprendimento potrebbero non essere applicabili ugualmente a tutti i modelli.

Nota

Per indicazioni ed esempi correnti sull'API, vedere Responses API e Azure OpenAI nel riferimento API ai modelli Foundry di Microsoft.

Fondamenti

Questa sezione illustra i concetti e gli elementi di base delle richieste GPT.

Le richieste di testo sono il modo in cui gli utenti interagiscono con i modelli GPT. Come per tutti i modelli linguistici generativi, i modelli GPT tentano di produrre la serie successiva di parole che probabilmente seguono dal testo precedente. È come se dicessimo Qual è la prima cosa che ti viene in mente quando dico <prompt>? Gli esempi seguenti illustrano questo comportamento. Data la prima parola del contenuto famoso, il modello è in grado di continuare con precisione il testo.

Prompt Completamento
Quel ramo del lago di Como che volge i padri hanno portato avanti in questo continente una nuova nazione, concepita nella libertà e impegnata a garantire che tutte le persone siano create uguali. […]
"Chiamami Ishmael." "Qualche anno fa—non importa quanto precisamente—avendo poco o nessun denaro nella mia tasca, e nulla di particolare ad attrarmi sulla terraferma, pensai di navigare un po' e vedere la parte acquatica del mondo."

Man mano che si sviluppano richieste più complesse, è utile tenere presente questo comportamento fondamentale. Indipendentemente dal prompt fornito, il modello risponde semplicemente a ciò che ritiene più probabile, in base ai dati di addestramento e agli obiettivi di addestramento. Se si pone una domanda nel prompt, il modello non segue un percorso di codice "Q&A" separato, ma sembra piuttosto rispondere alla domanda perché una risposta è il tipo di risposta più probabile per la domanda specificata come input.

Componenti del prompt

Quando si usa l'API Completamento e non esiste alcuna differenziazione tra parti diverse del prompt, può comunque essere utile per apprendere e discutere per identificare i componenti del prompt sottostanti. Con l'API Completamento chat, le sezioni distinte del prompt vengono inviate all'API come matrice di dizionari con ruoli associati: sistema, utente e assistente. Questa guida è incentrata più in generale su come considerare la costruzione di richieste anziché fornire indicazioni prescrittive specifiche per un'API rispetto a un'altra.

È inoltre importante comprendere che, anche se potrebbero esserci altri modi validi per sezionare i prompt, l'obiettivo di questa suddivisione è fornire un modo relativamente semplice per pensare alla costruzione dei prompt. Con l'API Completamento, tutti i componenti sono facoltativi, ma almeno uno deve essere presente e la maggior parte delle richieste include più componenti. Tra i componenti può essere presente anche un'area grigia. L'ordine presentato nella sezione seguente corrisponde approssimativamente alla modalità di utilizzo di ogni componente, dalla maggior parte al minimo.

Istruzioni

Le istruzioni sono probabilmente il componente prompt più comunemente usato. Le istruzioni sono semplicemente: istruzioni per il modello su cosa fare. Sebbene sia semplice nel concetto, possono essere complessi in pratica. La tabella seguente illustra questa complessità mostrando istruzioni semplici e più complesse, in due forme diverse.

Tipo di istruzione Prompt Completamento
Istruzioni semplici Scrivi un'introduzione per una newsletter settimanale. Benvenuti nella nostra newsletter settimanale. Questa settimana abbiamo un focus particolare sulla produttività. Condivideremo suggerimenti e trucchi su come essere produttivi in tutte le aree della tua vita. Speriamo che ti diverti e ti prego di condividere con i tuoi amici!
Istruzioni complesse Scrivere un'introduzione per una newsletter settimanale per la mia azienda chiamata Contoso. Dovrebbe menzionare la grande riunione plenaria che abbiamo avuto la scorsa settimana e ringraziare il team per tutto il loro duro lavoro nei mesi difficili passati. Benvenuti nella newsletter settimanale di Contoso. La settimana scorsa abbiamo avuto una riunione generale eccezionale e voglio ringraziare il team per tutto il loro duro lavoro negli ultimi mesi difficili. Non vediamo l'ora di un futuro luminoso e sono sicuro che con la dedizione e l'impegno del nostro team, otterremo grandi cose. Grazie per essere parte del nostro team e non vedo l'ora di lavorare con voi tutti nelle prossime settimane e mesi. Sinceramente, [Il tuo nome].
Istruzioni complesse Scrivi un'introduzione per una newsletter settimanale, tra cui le seguenti:
- La mia azienda è denominata contoso
- Un saluto esuberante
- Ringraziando il team per il loro duro lavoro in un paio di mesi difficili
- Prospettive positive per il prossimo trimestre
- Firmato da SLT
Ciao team Contoso! Volevo dedicarti un attimo a ringraziarti per tutto il tuo duro lavoro negli ultimi mesi. È stato un paio di mesi difficile, ma tutti ti sei unito e fatto un lavoro incredibile. Sono davvero orgoglioso di voi tutti. Guardando avanti al prossimo trimestre, mi sento davvero positivo. Penso che riusciremo a realizzare alcune cose grandiose. Grazie ancora, il team di leadership senior.

Contenuto primario

Il contenuto primario fa riferimento al testo elaborato o trasformato dal modello. In genere, si usa il contenuto principale con le istruzioni. Un semplice esempio è la traduzione della lingua. Nell'esempio seguente il testo inglese è il contenuto principale e "Translate to French:" è un'istruzione.

Prompt Completamento
Puoi dirmi come arrivare al museo?
Tradurre in francese:
Pouvez-vous s'il vous plaît me dire comment aller au musée?

Il contenuto principale può anche essere molto più lungo. Nell'esempio seguente, il contenuto principale è la sezione introduttiva della voce wikipedia sulla complessità del tempo, che è lunga quasi 300 parole. Questo contenuto è abbreviato nella tabella per semplificare la visualizzazione.

Prompt Completamento
Nell'informatica, la complessità del tempo è la complessità computazionale che descrive la quantità di tempo necessario per l'esecuzione di un algoritmo. La complessità temporale è comunemente stimata da [...]
Riepilogare il testo precedente in alcune frasi:
La complessità del tempo è una misura del tempo necessario per l'esecuzione di un algoritmo. In genere viene espresso come funzione delle dimensioni dell'input. La misura più comune è la complessità del tempo peggiore, ovvero la quantità massima di tempo necessaria per gli input di una determinata dimensione.
Nell'informatica, la complessità del tempo è la complessità computazionale che descrive la quantità di tempo necessario per l'esecuzione di un algoritmo. La complessità temporale è comunemente stimata da [...]
TL;DR (Troppo lungo da leggere)
La complessità temporale di un algoritmo è la quantità di tempo impiegato per eseguire un algoritmo. La complessità temporale viene in genere stimata conteggiando il numero di operazioni elementari eseguite dall'algoritmo, presupponendo che ogni operazione elementare richiede una quantità fissa di tempo. La complessità temporale viene in genere espressa come funzione delle dimensioni dell'input.

I modelli GPT possono anche gestire il contenuto primario strutturato. Nell'esempio seguente, una TSV relativa alle birre in Belgio (abbreviata per la visualizzazione in questo articolo) fa parte del prompt. Il modello può interpretare correttamente il contenuto e rispondere alle domande sui dati.

Prompt Completamento
Belgian Beer Brands
Beer name Beer style color ABV Brewery
"Chimay Gold: ""Doree""" trappist pale ale gold 4.80% Chimay Brewery (official trappist)
"Chimay Blue: ""Grande Reserve""" trappist dark ale dark 9.00%
[…]
Fare riferimento alla tabella precedente, quante birre hanno un ABV inferiore al 6%?
Nella tabella sono presenti 10 birre inferiori a 6% ABV.

Esempi

Le richieste corrette spesso si basano sulla pratica dell'apprendimento "one-shot" o "few-shot". Questa procedura prevede l'inclusione di uno o più esempi del comportamento desiderato del modello, in genere includendo coppie di input e output. Questo approccio non costituisce apprendimento nel senso che il modello venga modificato in modo permanente; piuttosto, gli esempi indirizzano meglio il modello a rispondere nel modo desiderato solo per l'inferenza in corso. L'uso di richieste senza esempi viene talvolta definito apprendimento "zero-shot". Si noti che con l'API di completamento chat, in genere si aggiungono esempi di apprendimento "Few-shot" alla matrice messages sotto forma di interazioni utente/assistente di esempio dopo il messaggio di sistema iniziale.

Tipo di apprendimento Prompt Completamento
Zero-shot Titolo: Il coach è fiducioso che l'infortunio non fermerà i Warriors
Argomento:
L'allenatore è sicuro che l'infortunio non rallierà la stagione dei Warriors. Il team è ancora incentrato sui loro obiettivi e che continueranno a lavorare duramente per raggiungerli.
Few-shot Titolo: Correa dei Twins eserciterà la clausola di uscita e testerà la free agency
Argomento: Baseball
Titolo: I mondiali del Qatar avranno aree per smaltire la sbornia
Argomento: Calcio
Titolo: Yates: Consigli per il fantasy football per la settimana 6
Argomento: Calcio
Titolo: Il coach è fiducioso che l'infortunio non fermerà i Warriors
Argomento:
Basket

L'esempio precedente illustra l'utilità dell'apprendimento con pochi scatti. Senza gli esempi, il modello sembra indovinare il comportamento desiderato, mentre gli esempi mostrano correttamente il funzionamento del modello. In questo esempio viene inoltre illustrata la potenza del modello. Può dedurre la categoria di etichetta richiesta, anche senza un'etichetta "pallacanestro" negli esempi.

Segnale

I segnali fungono da "jumpstart" per l'output del modello, consentendo di indirizzare il modello all'output desiderato. Spesso si tratta di un prefisso su cui il modello può essere compilato. Nell'esempio seguente, il segnale indirizza la storia in modo da includere elementi chiave. Spesso si usano segnali insieme alle istruzioni, ma non sempre. Negli esempi seguenti viene usato il modello per riepilogare un messaggio di posta elettronica di annuncio lungo. Un segnale viene usato in un caso per concentrarsi sull'output del modello e suggerire un formato di output specifico (punti elenco).

Nel contesto dell'API di completamento chat, le istruzioni assumono la forma di un messaggio di sistema e gli esempi few-shot sono indicati con una serie di interazioni esemplificative tra utente e assistente per preparare il modello.

Numero di segnali Prompt Completamento
0 Le revisioni delle prestazioni sono un componente fondamentale dell'approccio performance &development di Contoso. […]
Riepilogare il messaggio di posta elettronica precedente:
Lo scopo di questo messaggio di posta elettronica è informare i dipendenti delle modifiche recenti apportate all'esperienza di revisione delle prestazioni, che fa parte dell'approccio di Sviluppo e prestazioni di Contoso. Le modifiche includono una struttura migliorata, l'esperienza utente aggiornata nell'applicazione, e richieste mirate. Inoltre, è ora disponibile una sezione facoltativa di Conversation Starters per i dipendenti per contrassegnare gli argomenti che vogliono discutere con i manager.
1 Le revisioni delle prestazioni sono un componente fondamentale dell'approccio performance &development di Contoso. […]
Riepilogare il messaggio di posta elettronica precedente:
Il punto chiave del messaggio è
Che Contoso sta migliorando l'esperienza di revisione delle prestazioni, rendendolo più incentrato sulle priorità di base, le aspettative e l'impatto. Inoltre, stanno aggiornando l'esperienza utente in-tool con suggerimenti, risorse e indicazioni. Infine, aggiungono indicazioni su come attivare le priorità principali a livello aziendale.
2 Le revisioni delle prestazioni sono un componente fondamentale dell'approccio performance &development di Contoso. […]
Riepilogare il messaggio di posta elettronica precedente:
Punti chiave:
Contoso introduce modifiche all'esperienza di revisione delle prestazioni, in base al feedback dei dipendenti.
• Le modifiche includono un nuovo focus sulle priorità principali, sulle aspettative e sull'impatto; un'esperienza utente aggiornata; e nuove linee guida sulle priorità principali a livello aziendale.
• Le revisioni delle prestazioni sono un momento per riflettere sulle prestazioni passate e sull'apprendimento, nonché per pianificare le priorità future e le opportunità di crescita.
• I dipendenti e i responsabili devono scrivere commenti prima della riunione di revisione delle prestazioni.
• Ci dovrebbero essere almeno due revisioni delle prestazioni all'anno.
• L'investimento di tempo per ogni revisione deve rimanere circa lo stesso.

Contenuto di supporto

Il supporto del contenuto è costituito da informazioni che il modello può usare per influenzare l'output. Differisce dal contenuto principale in quanto non è la destinazione principale dell'attività, ma viene in genere usata insieme al contenuto primario. Esempi comuni includono informazioni contestuali, ad esempio la data corrente, il nome dell'utente, le preferenze utente e così via. L'esempio seguente usa il contenuto di supporto per organizzare un set di workshop pianificati per l'utente. Senza il contenuto di supporto (argomenti importanti), il modello elenca semplicemente i workshop (troncati per la visualizzazione). Quando il modello viene informato dei miei temi importanti, raggruppa accuratamente le riunioni.

Contenuto di supporto Prompt Completamento
Senza Elenco degli workshop
Descrizione titolo
Inizio del Workshop di Pianificazione Siete invitati a unirvi a noi per dare il via al nostro workshop! Ascoltate dai nostri leader le priorità e gli insegnamenti tra i gruppi per l'anno a venire. L'invito a questo evento è già stato inviato a tutti in [...]
Riepilogare i workshop precedenti, raggruppati in base all'argomento:
Elenco dei workshop:
Inizio del workshop di pianificazione
-Conclusione del Workshop di Pianificazione
- Core MeetUp
- Prospettive basate sui clienti
-Impatto e Aree Chiave di Interesse
-Procedure consigliate
-Accelerazione dell'adozione di app [...]
Con Elenco dei workshop:
Descrizione titolo
Inizio del Workshop di Pianificazione Siete invitati a unirvi a noi per dare il via al nostro workshop! Ascoltate dai nostri leader le priorità e gli insegnamenti tra i gruppi per l'anno a venire. L'invito a questo evento è già stato inviato a tutti in [...]
I miei argomenti importanti: progettazione dei prompt, ricerca, modelli GPT
Riepilogare i workshop precedenti, raggruppati in base ai miei importanti argomenti:
1. Progettazione prompt:
- Nuovi suggerimenti per la progettazione dei prompt
- L'arte di progettare i prompt
2. Ricerca:
-Intro alla ricerca vettoriale con incorporamento
3. Modelli GPT:
- Introduzione a GPT-4
- Analisi approfondita di GPT-35-Turbo.

Linee guida specifiche per scenario

Le tecniche descritte in questa sezione illustrano le strategie per aumentare l'accuratezza e la base delle risposte generate con un modello linguistico di grandi dimensioni (LLM). Tuttavia, è importante ricordare che anche quando si usa la progettazione prompt in modo efficace, è comunque necessario convalidare le risposte generate dai modelli. Solo perché una richiesta accuratamente creata funzionava bene per uno scenario specifico non significa necessariamente che generalizzerà più su larga scala per determinati casi d'uso. Comprendere le limitazioni degli LLM è importante tanto quanto capire come sfruttarne i punti di forza.

Questa guida non illustra in modo approfondito i meccanismi alla base della struttura dei messaggi per i completamenti della chat. Se non si ha familiarità con l'interazione con i modelli di completamento chat a livello di codice, è consigliabile leggere prima la guida pratica sull'API completamento chat.

Nota

Tutti gli esempi in questa sezione della guida sono stati testati su un modello GPT-4 di base in inglese. Alcune tecniche possono produrre risultati diversi con modelli più recenti, ad esempio gpt-4.1, e gpt-4.5. Se si legge una versione localizzata di questo articolo in un'altra lingua, queste risposte rappresentano una traduzione localizzata dei risultati in inglese. Per altre informazioni sulle potenziali limitazioni a seconda del linguaggio usato per richiedere un modello, vedere la nota sulla trasparenza dell'intelligenza artificiale responsabile.

Apprendimento a pochi esempi

Un modo comune per adattare i modelli linguistici alle nuove attività consiste nell'usare l'apprendimento con pochi scatti. Nell'apprendimento few-shot viene fornito un set di esempi di training come parte del prompt per fornire contesto aggiuntivo al modello.

Quando si usa l'API Completamento chat, una serie di messaggi tra l'utente e l'assistente (scritti nel nuovo formato di prompt), possono fungere da esempi per l'apprendimento few-shot. Questi esempi possono essere usati per istruire il modello per rispondere in un certo modo, emulare comportamenti specifici e inserire risposte iniziali alle domande comuni.

Messaggio di sistema Esempi few-shot
Assistant è un chatbot intelligente progettato per aiutare gli utenti a rispondere alle domande relative alle imposte.
Istruzioni
- Rispondere solo alle domande relative alle imposte.
- Se non si è certi di una risposta, è possibile dire "Non so" o "Non sono sicuro" e consigliare agli utenti di andare al sito Web IRS per altre informazioni.
Utente : "Quando devo presentare le mie imposte?"
Assistente - "Nel 2023, dovrai presentare le tue imposte entro il 18 aprile. La data cade dopo la consueta scadenza del 15 aprile perché il 15 aprile cade il sabato nel 2023. Per altre informazioni, vedere https://www.irs.gov/filing/individuals/when-to-file "

Utente : "Come posso controllare lo stato del rimborso fiscale?"
Assistente - "È possibile controllare lo stato del rimborso fiscale visitando https://www.irs.gov/refunds "

La tabella precedente descrive la struttura di richiesta di base, ma per una spiegazione dettagliata del formato esatto della richiesta è necessario fare riferimento alla guida completamento chat.

Scenari non di chat

Anche se l'API completamento chat è ottimizzata per lavorare con conversazioni a più turni, può essere usata anche per scenari non di chat. Ad esempio, per uno scenario di analisi del sentiment, è possibile usare il prompt seguente:

Messaggio di sistema Utente Assistente
Sei un assistente progettato per analizzare il sentimento dai dati vocali. Gli utenti incolleranno una stringa di testo e si risponderà con una valutazione della risposta del parlante. Valuta su una scala da 1 a 10 (10 essendo la più alta). Spiegare perché questa classificazione è stata assegnata. buongiorno grazie per avere chiamato contoso pharmacy, con chi parlo capisco la tua frustrazione maria ehm mi puoi dire descrivere esattamente la tua richiesta OK bene posso verificare subito un momento per favore leggo qui che usavi una versione generica di Lipitor è corretto OK vedo che il tuo medico ha smesso di prescrivere il farmaco nel duemilaeventi in realtà OK sì posso controllare perché a volte ci sono discrepanze nel sistema e non vengono segnalate, lasciami dare un'occhiata qui solo un momento vedo qui che il tuo medico ti aveva prescritto li farmaco dal duemilaedodici al duemilaeventuno sì secondo i dati più recenti forniti dall'ambulatorio medico ora sei su un altro farmaco, metformina vuoi procedere con questa prescrizione per ritirare cinquecento milligrammi prego maria facci sapere se c'è qualcos'altro che possiamo fare per te. Valutazione del sentiment: 8
Il relatore in questo testo sembra essere educato, utile e paziente mentre affronta le preoccupazioni del cliente. Richiedono il tempo necessario per controllare le informazioni, fornire spiegazioni chiare e offrire assistenza. Tuttavia, la valutazione non è un 10 perché c'è ancora un suggerimento di incertezza in alcune parti della conversazione, che potrebbe non trasmettere fiducia completa al cliente.

Iniziare con istruzioni chiare

Le informazioni della sequenza vengono visualizzate nella materia del prompt. Ciò è dovuto al fatto che i modelli di stile GPT vengono compilati in un determinato modo che definisce il modo in cui elaborano l'input. La ricerca suggerisce che indicare al modello l'attività che si vuole eseguire all'inizio della richiesta, prima di condividere informazioni contestuali aggiuntive o esempi, può contribuire a produrre output di qualità superiore.

Nota

Anche se seguendo questa tecnica è comunque consigliata in genere, a differenza delle versioni precedenti del modello (GPT-3 e precedenti), i test hanno dimostrato che la risposta del modello con i modelli ChatGPT e GPT-4 era la stessa indipendentemente dal fatto che venga usata la tecnica. In questo esempio, vediamo che aggiungendo la dichiarazione "Diverse origini ... eruzione" all'inizio o alla fine della richiesta non ha causato alcuna modifica nella risposta finale del modello.

Messaggio di sistema Utente Assistente
Si è un assistente di intelligenza artificiale che consente agli utenti di trovare informazioni. L'attività consiste nel verificare se l'affermazione "Diverse fonti indicano una possibilità di un'altra eruzione di grandi dimensioni" è supportata da una citazione specifica del set di frammenti seguente.
---
FRAMMENTI
C'è il 14% di probabilità che un mega-terremoto colpisca Seattle, secondo gli esperti.
SEATTLE - C'è una probabilità del 14% di un terremoto di grandezza 9 Cascadia che colpisce Seattle nei prossimi 50 anni, le stime dell'U.S. Geological Survey. "Sfortunatamente, non siamo in grado di...

[2] Gli esperti di terremoti hanno presentato le più recenti previsioni per quanto riguarda il 'grande terremoto' di Seattle.
"Diciamo che c'è una probabilità di circa il 14% che si verifichi un altro terremoto di magnitudo 9 circa nei prossimi 50 anni", ha detto un geofisico dell'Università di Washington...
---
L'affermazione "Diverse fonti menzionano una possibilità di un'altra eruzione di grandi dimensioni" è direttamente implicata o dichiarata dai frammenti?
No, l'istruzione non è direttamente implicita o dichiarata dai frammenti di codice. I frammenti menzionano la possibilità di un "megaquake" e di un terremoto di "magnitudo 9 della Cascadia" che colpisce Seattle nei prossimi 50 anni, ma non menzionano la possibilità di un'altra grande eruzione.

Ripetere le istruzioni alla fine

I modelli possono essere soggetti a distorsioni di recency, che in questo contesto indicano che le informazioni alla fine della richiesta potrebbero avere un'influenza più significativa sull'output rispetto alle informazioni all'inizio della richiesta. Pertanto, vale la pena provare a ripetere le istruzioni alla fine della richiesta e valutare l'impatto sulla risposta generata.

Approntare l'output

Questo si riferisce all'inclusione di alcune parole o frasi alla fine del prompt per ottenere una risposta del modello che segue il modulo desiderato. Ad esempio, l'uso di un segnale come “Here’s a bulleted list of key points:\n- ” può essere utile per assicurarsi che l'output sia formattato come elenco puntato.

Messaggio di sistema Utente Assistente
Si è un assistente di intelligenza artificiale che consente agli utenti di trovare informazioni. Rispondere nel minor numero possibile di parole. John Smith è sposato con Lucy Smith. Hanno cinque figli, e lavora come ingegnere software presso Microsoft. Quali query di ricerca è consigliabile eseguire per verificarne i fatti? ## Una possibile query di ricerca è: "John Smith è sposato con Lucy Smith e insieme hanno cinque figli; è un ingegnere del software presso Microsoft."

Nel prompt precedente, il testo Una possibile query di ricerca è: prepara il modello per produrre un singolo output. Senza questo segnale il modello produce diverse query di ricerca come output.

Aggiungere una sintassi chiara

Usare una sintassi chiara per il prompt per comunicare la finalità e semplificare l'analisi degli output.

Nell'esempio seguente sono stati aggiunti separatori (--- in questo caso) tra origini diverse di informazioni o passaggi. Ciò consente l'uso di --- come condizione di arresto per la generazione. Inoltre, le intestazioni di sezione o le variabili speciali vengono presentate in lettere maiuscole per distinguerle.

Messaggio di sistema Utente Assistente
Si è un assistente di intelligenza artificiale che consente agli utenti di trovare informazioni. Si leggerà un paragrafo e quindi si eseguiranno query a un motore di ricerca per verificarlo. Spiegare inoltre le query.
---
PARAGRAFO
John Smith è sposato con Lucy Smith. Hanno cinque figli, e lavora come ingegnere software presso Microsoft. Quali query di ricerca è consigliabile eseguire per verificarne i fatti?
---
QUERY
1. "John Smith Microsoft" - Per verificare se John Smith è effettivamente impiegato in Microsoft.
2. "John Smith Lucy Smith" - Per verificare se John Smith è sposato con Lucy Smith.
3. "John Smith children" - Per verificare se John Smith ha cinque figli.

Se non si è certi della sintassi da usare, è consigliabile usare Markdown o XML. I modelli sono stati sottoposti a training su una grande quantità di contenuto Web in XML e Markdown, che potrebbe offrire risultati migliori.

Suddividere il compito in parti più piccole

I modelli di linguaggio di grandi dimensioni spesso offrono prestazioni migliori se l'attività è suddivisa in passaggi più piccoli. Ad esempio, nella richiesta di query di ricerca a cui si fa riferimento in precedenza, il prompt può essere ristrutturato in modo che il modello venga prima richiesto di estrarre i fatti rilevanti e quindi di generare query di ricerca che possono essere usate per verificare tali fatti.

Messaggio di sistema Utente Assistente
Si è un assistente di intelligenza artificiale che consente agli utenti di trovare informazioni. Si leggerà un paragrafo e quindi si eseguiranno query a un motore di ricerca per verificarlo.
---
PARAGRAFO
John Smith è sposato con Lucy Smith. Hanno cinque figli, e lavora come ingegnere software presso Microsoft. Quali query di ricerca è consigliabile eseguire per verificarne i fatti?
---
A questo punto estrarrai affermazioni fattuali e emetterai query per verificarle. Quando si esegue una query, usare la funzione SEARCH("query")

AFFERMAZIONI EFFETTIVE
1. John Smith è sposato con Lucy Smith
2. Hanno cinque figli
3. Lavora come software engineer presso Microsoft

QUERY
SEARCH("John Smith sposò Lucy Smith")
SEARCH("John Smith dimensione della famiglia")
SEARCH("John Smith Microsoft ingegnere del software")

Si noti l'uso di una sintassi chiara per distinguere le sezioni e preparare l'output. In questo semplice esempio, suddividere l'attività da uno a due passaggi non è molto drammatica, ma quando si tenta di eseguire questa operazione per una parte più grande di testo con molte affermazioni effettive, l'interruzione dell'attività può fare una differenza significativa.

Uso degli inviti

A volte possiamo fare in modo che il modello utilizzi un affordance invece di fare affidamento sui propri parametri per ottenere informazioni e risposte. La ricerca, ad esempio, può fungere da supporto per mitigare le risposte fabbricate e ottenere informazioni aggiornate.

Un modo semplice per utilizzare un'affordance consiste nell'interrompere la generazione una volta che le chiamate di affordance vengono generate dal modello, quindi reinserire i risultati nel prompt. Di seguito è riportato un esempio di ciò che la chiamata di completamento potrebbe essere dopo aver eseguito le chiamate SEARCH precedenti. Si noti come i risultati della ricerca sono stati incollati nel prompt e sostituiti le chiamate SEARCH precedenti.

Messaggio di sistema Utente Assistente
Si è un assistente di intelligenza artificiale che consente agli utenti di trovare informazioni. Si leggerà un paragrafo, si estrarranno le attestazioni effettive e quindi si useranno i risultati del motore di ricerca per controllarli
---
PARAGRAFO
John Smith è sposato con Lucy Smith. Hanno cinque figli, e lavora come ingegnere software presso Microsoft. Quali query di ricerca è consigliabile eseguire per verificarne i fatti?
---
AFFERMAZIONI EFFETTIVE
- John Smith è sposato con Lucy Smith
- John e Lucy hanno cinque figli
- John lavora come software engineer presso Microsoft
---
Di seguito sono riportate varie query di ricerca eseguite per eseguire ricerche sulle attestazioni precedenti:
QUERY DI RICERCA
- John Smith sposato con Lucy Smith
- John Smith numero di figli
- John Smith, ingegnere del software presso Microsoft
---
Ecco alcuni frammenti dei risultati della ricerca:
FRAMMENTI:
[1] … Il matrimonio di John Smith è stato il 25 settembre 2012...
[2] … John Smith fu accompagnato dalla moglie Lucy a una festa
[3]John fu accompagnato alla partita di calcio dalle sue due figlie e tre figlie
[4] … Dopo aver trascorso 10 anni a Microsoft, Smith fondò la sua startup, Tailspin Toys
John M è lo smith della città e si sposa con Fiona. Hanno una figlia di nome Lucy
---
In base ai frammenti di codice, verificare di fatto ognuna delle affermazioni effettive sopra riportate:
- John Smith è sposato con Lucy Smith: confermato. Frammento [1] e [2] entrambi menzionano la moglie di John Smith come Lucy.

- John e Lucy hanno cinque figli: Confermato. Frammento [3] cita che John era accompagnato dalle sue due figlie e tre figli.

- John lavora come software engineer presso Microsoft: Parzialmente confermato. Frammento [4] afferma che John ha trascorso 10 anni a Microsoft, ma non afferma esplicitamente che attualmente lavora lì. Potrebbero essere necessarie ulteriori ricerche per confermare lo stato di occupazione attuale.

Catena di richieste di pensiero

Importante

Questa tecnica è applicabile solo ai modelli non di ragionamento. Il tentativo di estrarre il ragionamento del modello tramite metodi diversi dal parametro di riepilogo del ragionamento non è supportato, può violare i criteri di utilizzo accettabili e può comportare limitazioni o sospensioni quando viene rilevato.

Si tratta di una variante della tecnica di interruzione dell'attività . Invece di suddividere un'attività in passaggi più piccoli, in questo approccio, la risposta del modello viene indicata per procedere passo passo e presentare tutti i passaggi coinvolti. In questo modo si riduce la possibilità di imprecisione dei risultati e semplifica la valutazione della risposta del modello.

Messaggio di sistema Utente Assistente
Si è un assistente di intelligenza artificiale che consente agli utenti di trovare informazioni. Chi è stato l'atleta individuale più decorato, con il massimo numero di medaglie, ai Giochi Olimpici che si sono tenuti a Sydney? Adottare un approccio dettagliato nella risposta, citare le origini e dare un ragionamento prima di condividere la risposta finale nel formato seguente: ANSWER è: <name> Passo 1: Determinare l'anno dei giochi olimpici di Sydney. I giochi olimpici di Sydney si sono disputati nell'anno 2000.

Passo 2: Trovare una lista di atleti singoli che hanno vinto più medaglie nelle Olimpiadi di Sydney 2000.

Secondo il sito ufficiale dei Giochi Olimpici, ci sono stati diversi atleti individuali che hanno vinto più medaglie nelle Olimpiadi di Sydney del 2000. Alcuni dei nomi rilevanti includono:
• Ian Thorpe (Australia) - 3 oro, 2 argento, 0 bronzo
• Pieter van den Hoogenband (Paesi Bassi) - 2 oro, 0 argento, 2 bronzo
• Lenny Krayzelburg (USA) - 3 oro, 0 argento, 0 bronzo
• Inge de Bruijn (Paesi Bassi) - 3 oro, 1 argento, 0 bronzo

Passo 3: Determinare l'atleta con la maggior parte delle medaglie. Dopo aver esaminato l'elenco dei singoli atleti che hanno vinto più medaglie nelle Olimpiadi di Sydney del 2000, possiamo vedere che l'atleta con la maggior parte delle medaglie è Ian Thorpe dall'Australia, che ha vinto un totale di 5 medaglie (3 oro e 2 argento).

Pertanto, la RISPOSTA è: Ian Thorpe.

Specifica della struttura di output

L'uso del prompt per specificare la struttura dell'output può avere un effetto significativo sulla natura e sulla qualità dei risultati. A volte gli input dei messaggi di sistema come "scrivono solo fatti veri" o "non fabbricano informazioni" potrebbero non essere misure di mitigazione adeguate. Chiedere invece la risposta del modello per includere anche citazioni può contribuire a ridurre la prevalenza delle risposte errate.

Se si istruisce il modello di citare il materiale di origine quando fa delle affermazioni, tali affermazioni sono molto più verificate. La richiesta di citazioni lo rende in modo che il modello debba fare due errori ogni volta che genera una risposta: il primo errore è la risposta creata e il secondo è la citazione errata. Si noti che più la citazione è vicina al testo che supporta, meno il modello deve anticipare la citazione, il che suggerisce che le citazioni in linea sono una migliore mitigazione per la generazione di contenuti falsi rispetto alle citazioni poste alla fine del contenuto.

Analogamente, se si chiede al modello di estrarre istruzioni effettive da un paragrafo, è possibile estrarre istruzioni composte, ad esempio "X sta facendo Y AND Z" (che può essere più difficile da verificare). Questa operazione può essere evitata specificando una struttura di output, ad esempio (entity1, relationship, entity2).

In questo esempio viene illustrato l'uso di citazioni e la risposta del modello per adattarsi a una struttura definita.

Messaggio di sistema Utente Assistente
Si è un assistente di intelligenza artificiale che aiuta le persone a trovare informazioni Elencare i diversi comportamenti mostrati dall'agente del supporto tecnico nella conversazione seguente.
---
buongiorno grazie per avere chiamato contoso pharmacy, con chi parlo capisco la tua frustrazione maria ehm mi puoi dire descrivere esattamente la tua richiesta OK bene posso verificare subito un momento per favore leggo qui che usavi una versione generica di Lipitor è corretto OK vedo che il tuo medico ha smesso di prescrivere il farmaco nel duemilaeventi in realtà OK sì posso controllare perché a volte ci sono discrepanze nel sistema e non vengono segnalate, lasciami dare un'occhiata qui solo un momento vedo qui che il tuo medico ti aveva prescritto li farmaco dal duemilaedodici al duemilaeventuno sì secondo i dati più recenti forniti dall'ambulatorio medico ora sei su un altro farmaco, metformina vuoi procedere con questa prescrizione per ritirare cinquecento milligrammi prego maria facci sapere se c'è qualcos'altro che possiamo fare per te.
---
Come è stata la risposta dell'agente del supporto tecnico?
Classificare ed elencare i diversi comportamenti e citare il motivo alla base della classificazione, usando il formato BEHAVIOR("reason")
1. Saluto Educato BEHAVIOR("L'agente inizia la conversazione con un saluto educato e chiede il nome del chiamante")
2. Comportamento empatico("Agente riconosce la frustrazione di Maria e cerca di comprendere la sua preoccupazione")
3. Comportamento attento("Agente ascolta il problema del cliente e chiede altri dettagli")
4. Comportamento proattivo ("Agente offre di controllare il problema per conto del cliente")
5. Comportamento informativo("Agente fornisce le informazioni pertinenti sulla cronologia delle prescrizioni del cliente")
6. Comportamento accurato("Agente verifica eventuali lacune nel sistema e fornisce una risposta completa")
7. COMPORTAMENTO confermativo ("L'agente conferma il farmaco corrente con il cliente")
8. Comportamento orientato alla soluzione ("L'agente si offre di preparare la nuova prescrizione per il cliente")
9. Comportamento cortese("L'agente ringrazia il cliente e offre ulteriore assistenza, se necessario")
Messaggio di sistema Utente Assistente
Si è un assistente di intelligenza artificiale che consente agli utenti di trovare informazioni. Raggruppare i titoli delle notizie seguenti in categorie di argomenti in base ai modelli visualizzati all'interno del testo. Menzionare anche il ragionamento alla base del modo in cui queste categorie sono state definite.
Formato di output:
{
"TOPIC_NAME": "",
"TITOLI": [],
"RAGIONAMENTO": ""
}

Titoli di notizie in ingresso
Dai libri alle presentazioni in 10 secondi con AR + ML
2. "Demo del 1993 di Yann LeCun trentaduenne che mostra la prima rete convoluzionale al mondo per il riconoscimento del testo"
3. "First Order Motion Model applicato nell'animazione di dipinti"
4. "Robinhood e altri broker bloccano letteralmente l'acquisto di $GME, $NOK, $BB, $AMC; consenti vendite"
5. "Le azioni di United Airlines in calo di oltre il 5% nel trading premarket"
Output:

{
"INTELLIGENZA_ARTIFICIALE": {
"TITOLI": [
Dai libri alle presentazioni in 10 secondi con AR + ML
"Demo del 1993 di Yann LeCun trentaduenne che mostra la prima rete convoluzionale al mondo per il riconoscimento del testo,"
"Il modello di movimento del primo ordine applicato per animare i dipinti"
],
"RAGIONAMENTO": "Questi titoli sono correlati all'intelligenza artificiale, all'apprendimento automatico e alle relative applicazioni in vari campi".
},
"FINANCIAL_MARKETS": {
"TITOLI": [
Robinhood e altri broker bloccano letteralmente l'acquisto di $GME, $NOK, $BB, $AMC; consentono le vendite.
Le azioni di United Airlines sono in calo di oltre il 5% nelle contrattazioni pre-mercato.
"Bitcoin era quasi $ 20.000 un anno fa oggi"
],
"RAGIONAMENTO": "Questi titoli sono correlati a mercati finanziari, azioni, criptovalute e piattaforme di trading."
}
}

I parametri di temperatura e di Top_p

La modifica del parametro temperature modifica l'output del modello. Il parametro temperature può essere impostato tra 0 e 2. Un valore superiore, ad esempio 0,7 rende l'output più casuale e produce risposte più divergenti, mentre un valore inferiore, ad esempio. 0.2, rende l'output più mirato e concreto. Una storia fittizia potrebbe essere generata usando una temperatura più elevata. Mentre per generare un documento legale è consigliabile usare una temperatura molto inferiore. Top_probability è un altro parametro ed è simile a Temperature in quanto controlla anche la casualità della risposta del modello, ma lo fa in modo diverso. La raccomandazione generale consiste nel modificare uno di questi due parametri alla volta, non entrambi.

Fornire il contesto di base

Uno dei modi più efficaci per fornire risposte affidabili consiste nel fornire al modello dati da cui trarre le sue risposte (dati di riferimento). Se il caso d'uso si basa su informazioni aggiornate e affidabili e non è puramente uno scenario creativo, raccomandiamo fortemente di fornire dati concreti. In generale, più vicino è possibile ottenere il materiale di origine alla forma finale della risposta desiderata, minore è il lavoro necessario per il modello, il che significa che c'è meno opportunità di errore. Ecco un esempio in cui viene fornito al sistema un blog che descrive il lancio di GPT-4 in Azure OpenAI in Microsoft Foundry Models e gli viene chiesto di assegnare un nome ad alcuni dei suoi primi clienti.

Messaggio di sistema Utente Assistente
Si è un assistente di intelligenza artificiale che consente agli utenti di trovare informazioni. Le risposte verranno fornite esclusivamente dal testo seguente e dovranno essere contenute in 100 parole o meno.
"A Microsoft, stiamo costantemente scoprendo nuovi modi per scatenare creatività, sbloccare la produttività e aumentare le competenze in modo che più persone possano trarre vantaggio dall'uso dell'IA. Questo consente ai nostri clienti di ...

… riducendo così la probabilità che il modello generi una risposta dannosa". 1

Rispondere in 100 parole o meno. Utilizzare elenchi puntati laddove possibile.
Chi sono alcuni dei primi clienti dei modelli Azure OpenAI GPT-4? Ecco alcuni dei primi clienti dei modelli Azure OpenAI GPT-4:
- Epic Healthcare: prevede di usare GPT-4 per aiutare medici e infermieri a dedicare meno tempo all'ingresso e all'indagine dei dati.
- Coursera: usano Azure OpenAI con GPT-4 per creare una nuova esperienza di apprendimento basata sull'intelligenza artificiale sulla piattaforma.
- Coca-Cola: stanno usando Azure OpenAI per creare un knowledge hub e pianificare di sfruttare le funzionalitàmultidimensionali di GPT-4 per marketing, pubblicità, pubbliche relazioni e relazioni con i clienti.
- Altre aziende di tutte le dimensioni usano Azure'intelligenza artificiale per migliorare le esperienze dei clienti, riepilogare contenuti in formato lungo, contribuire a scrivere software e ridurre i rischi stimando i dati fiscali corretti.

1 Testo dal blog di lancio di OpenAI GPT-4 su Azure.

Procedure consigliate

  • Essere specifici. Lascia il meno possibile all'interpretazione. Limitare lo spazio operativo.
  • Sii descrittivo. Usare analogie.
  • Ribadire. A volte potresti dover ripetere quello che hai detto al modello. Fornire istruzioni prima e dopo il contenuto principale, usare un'istruzione e un segnale e così via.
  • L'ordine è importante. L'ordine in cui sono presenti informazioni al modello potrebbe influire sull'output. Se si inseriscono istruzioni prima del contenuto ("riepiloga quanto segue...") o dopo ("riepilogare quanto sopra...") può fare la differenza nell'output. Anche l'ordine degli esempi few-shot può essere importante. Questa differenza viene chiamata recency bias.
  • Dare al modello un'uscita. A volte può essere utile assegnare al modello un percorso alternativo se non è in grado di completare l'attività assegnata. Ad esempio, quando si pone una domanda su una parte di testo, è possibile includere qualcosa come "rispondere con "non trovato" se la risposta non è presente". Questa aggiunta consente al modello di evitare di generare risposte false.

Efficienza dello spazio

Mentre le dimensioni di input aumentano con ogni nuova generazione di modelli GPT, è comunque possibile riscontrare scenari che forniscono più dati rispetto al modello può gestire. I modelli GPT suddivideno le parole in "token". Anche se le parole multisyllable comuni sono spesso un singolo token, le parole meno comuni sono suddivise in sillabe. I token possono talvolta essere controintuitivi, come illustrato nell'esempio seguente, che illustra i limiti dei token per formati di data diversi. In questo caso, scrivere per intero il nome del mese occupa meno spazio rispetto a usare una data completamente numerica.

Screenshot di una stringa di testo con colori evidenziati che delineano i limiti del token.

Dato questo spazio limitato, è importante usarlo nel modo più efficiente possibile.

  • Tabelle: come illustrato negli esempi della sezione precedente, i modelli GPT possono facilmente comprendere i dati in formato tabulare. Questo formato può essere un modo efficiente per includere i dati, anziché precedere ogni campo con un nome, ad esempio con JSON.
  • Spazio vuoto: gli spazi vuoti consecutivi vengono considerati come token separati, che possono sprecare spazio. Gli spazi che precedono una parola, d'altra parte, vengono in genere considerati come parte dello stesso token della parola. Prestare molta attenzione all'uso degli spazi e non usare la punteggiatura quando basta uno spazio.