Progettazione dei prompt per l'IA generativa

Il prompt engineering è l'arte di porre la domanda giusta per ottenere il miglior output da un LLM. Consente l'interazione diretta con l'LLM utilizzando solo prompt in un linguaggio semplice.

In passato, lavorare con i modelli di machine learning richiedeva in genere una profonda conoscenza di set di dati, statistiche e tecniche di modellazione. Oggi, gli LLM possono essere "programmato" in inglese, così come altre lingue.

Essere un ottimo prompt engineer non richiede esperienza di programmazione. Creatività e la persistenza ti darà grandi benefici nel tuo viaggio, Continua a leggere per apprendere alcune utili tecniche di prompt.

Best practice per i prompt

  1. Comunica chiaramente quali contenuti o informazioni sono più importanti.

  2. Struttura il prompt: inizia a definirne il ruolo, fornisci dati di contesto/input quindi fornire le istruzioni.

  3. Utilizza esempi diversi e specifici per aiutare il modello a restringere il suo obiettivo e generare risultati più precisi.

  4. Utilizza i vincoli per limitare l'ambito dell'output del modello. In questo modo eviterai sfuggendo alle istruzioni in inesattezze oggettive.

  5. Suddividi attività complesse in una sequenza di prompt più semplici.

  6. Chiedi al modello di valutare o verificare le sue risposte prima di produrre che li rappresentano. ("Assicurati di limitare la risposta a 3 frasi", "Valuta il tuo lavoro su una scala da 1 a 10 per la brevità", "Pensi che sia corretto?").

E forse la cosa più importante:

Dai sfogo alla tua creatività! Più creativo e di apertura, migliori saranno i risultati. LLM e prompt sono ancora agli inizi e si evolvono quotidianamente.

Tipi di prompt

Prompt diretti (zero-shot)

Prompt diretti (noti anche come zero-shot) sono il tipo più semplice di prompt. it non fornisce esempi al modello, ma solo le istruzioni. Puoi anche formulare l'istruzione sotto forma di domanda o assegnare un "ruolo" al modello come abbiamo visto nel secondo di esempio qui sotto.

Fornisci:

  1. Istruzione
  2. Un po' di contesto

Generazione di idee:

Prompt: Can you give me a list of ideas for blog posts for tourists visiting
New York City for the first time?

Prompt dei ruoli:

Prompt: You are a mighty and powerful prompt-generating robot. You need to
understand my goals and objectives and then design a prompt. The prompt should
include all the relevant information context and data that was provided to you.
You must continue asking questions until you are confident that you can produce
the best prompt for the best outcome. Your final prompt must be optimized for
chat interactions. Start by asking me to describe my goal, then continue with
follow-up questions to design the best prompt.

Organizzazione dati:

Prompt: Create a four-column spreadsheet of 10 highly-rated science fiction
movies, year of release, average audience rating, and top 3 keywords from
audience reviews.

Make sure to cite the source of the audience rating.

Prompt con esempi (One-po, few-shot e Multi-Shot)

Prompt one-shot che mostrano al modello un esempio chiaro e descrittivo di cosa che vorresti imitare.

Generazione di idee utilizzando un esempio:

Prompt:

Come up with a list of ideas for blog posts for tourists visiting
New York City for the first time.

1. Fuggedaboutit! Where to Stay in New York City On Your First Visit

Prompt few-shot e multi-shot che mostrano al modello più esempi di ciò che si vuole da fare. Funziona meglio della modalità zero-shot per attività più complesse in cui o quando è necessario che l'output sia strutturato in un in un modo specifico difficile da descrivere.

Classificazione del sentiment few-shot:

Prompt:

Great product, 10/10: Positive
Didn't work very well: Negative
Super helpful, worth it: Positive
It doesn't work!:

Quando viene eseguito questo prompt, la risposta del modello sarà "Non "lavoro" positivo o negativo, come mostrato negli esempi.

Previsioni della risposta con emoji a scatto multiplo:

Prompt: Predict up to 5 emojis as a response to a text chat message. The output
should only include emojis.

input: The new visual design is blowing my mind 🤯
output: ➕,💘, ❤‍🔥

input: Well that looks great regardless
output: ❤️,🪄

input: Unfortunately this won't work
output: 💔,😔

input: sounds good, I'll look into that
output: 🙏,👍

input: 10hr cut of jeff goldblum laughing URL
output: 😂,💀,⚰️

input: Woo! Launch time!

Lo stesso processo in questo caso, ma poiché il prompt è più complesso, il modello è stato vengono forniti altri esempi da emulare.

Prompt Chain-of-Thought

La generazione di prompt di Chain of Thought (CoT) incoraggia l'LLM a spiegare il suo ragionamento. Combinalo con prompt few-shot per ottenere risultati migliori in attività più complesse che richiedono un ragionamento prima di una risposta.

Prompt:

The odd numbers in this group add up to an even number: 4, 8, 9, 15, 12, 2, 1.
A: Adding all the odd numbers (9, 15, 1) gives 25. The answer is False.
The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1.
A:

Lettino per bambini zero-shot

Ricordando i prompt zero-shot di prima, questo approccio adotta e aggiunge l'istruzione: "Pensiamo passo dopo passo". L'LLM è in grado di generano una catena di riflessione a partire da questa istruzione e di solito un modello risposta. È un ottimo approccio per far sì che gli LLM generino ad esempio problemi con enunciato.

Prompt:

I went to the market and bought 10 apples. I gave 2 apples to the neighbor and
2 to the repairman. I then went and bought 5 more apples and ate 1. How many
apples was I left with?

Let's think step by step.

Strategie di iterazione dei prompt

Impara ad amare la realtà della riscrittura di prompt diversi (forse decine) di volte. Ecco alcune idee per perfezionare i prompt in caso di problemi:

Nota: queste strategie possono diventare meno utili o necessarie nel tempo in quanto di machine learning migliorano.

  1. Ripeti parole chiave, frasi o idee

  2. Specifica il formato di output desiderato (CSV, JSON e così via)

  3. Usa tutte lettere maiuscole per sottolineare punti o istruzioni importanti. Puoi anche provare esagerazioni o linguaggio iperbolico; ad esempio: "La spiegazione deve essere è assolutamente impossibile interpretare in modo errato. Ogni singola parola deve trasudare chiarezza!"

  4. Utilizza sinonimi o frasi alternative (ad es. anziché "Riassumi", prova aggiungendo "tldr" a un testo di input). Usa parole o frasi diverse e documenta quali funzionano meglio e quali peggiori.

  5. Prova la tecnica a panino con prompt lunghi: aggiungi la stessa affermazione in luoghi diversi.

  6. Usa una raccolta di prompt per trarre ispirazione. hero del prompt e questa galleria di prompt sono due ottimi punti di partenza.

Risorse aggiuntive

Best practice per i prompt

Scopri come usare i prompt (esterno)