Introduzione al prompt engineering

Prompt Engineering con l'API di OpenAI

Fouad Trad

Machine Learning Engineer

Cos'è il prompt engineering?

Progettare prompt o istruzioni per LLM per ottenere risposte desiderate

Immagine di un ingegnere che introduce la terminologia del prompt engineering.

Prompt Engineering con l'API di OpenAI

Il prompt engineering è come creare una ricetta

Immagine di uno chef che prepara un piatto.

Prompt Engineering con l'API di OpenAI

Perché il prompt engineering?

  Diagramma che mostra che prompt di alta qualità portano a risposte di alta qualità

Prompt Engineering con l'API di OpenAI

Perché il prompt engineering?

  Diagramma che mostra come la qualità delle risposte dipende dalla qualità dei prompt in input. Prompt di alta qualità portano a risposte di alta qualità, prompt scarsi portano a risposte scarse.

Prompt Engineering con l'API di OpenAI

Ripasso: OpenAI API

  • Consente l'interazione con i modelli OpenAI
  • Già configurata in questo corso
  • Accesso all'endpoint Chat Completions

Logo di ChatGPT bianco.

Prompt Engineering con l'API di OpenAI

Ripasso: ruoli dei messaggi

Ogni messaggio ha uno di tre ruoli

Immagine con un'icona per il ruolo user.

Prompt Engineering con l'API di OpenAI

Ripasso: ruoli dei messaggi

Ogni messaggio ha uno di tre ruoli

Immagine con icone per due ruoli: user e assistant.

Prompt Engineering con l'API di OpenAI

Ripasso: ruoli dei messaggi

Ogni messaggio ha uno di tre ruoli

Immagine con un'icona per ciascuno dei tre ruoli: user, system e assistant

Prompt Engineering con l'API di OpenAI

Ripasso: ruoli dei messaggi

Ogni messaggio ha uno di tre ruoli

Immagine con un'icona per ciascuno dei tre ruoli, con una freccia di comunicazione tra system e assistant per inviare i messaggi di system.

  • System message: guida il comportamento del modello
Prompt Engineering con l'API di OpenAI

Ripasso: ruoli dei messaggi

Ogni messaggio ha uno di tre ruoli

Immagine con un'icona per ciascuno dei tre ruoli, con una freccia tra system e assistant per inviare i messaggi di system, e una freccia tra user e assistant per inviare un prompt.

  • System message: guida il comportamento del modello
  • User message: prompt dell'utente
Prompt Engineering con l'API di OpenAI

Ripasso: ruoli dei messaggi

Ogni messaggio ha uno di tre ruoli

Immagine con un'icona per ciascuno dei tre ruoli, con una freccia tra system e assistant per inviare i messaggi di system, una tra user e assistant per inviare un prompt, e una tra assistant e user per inviare la risposta.

  • System message: guida il comportamento del modello
  • User message: prompt dell'utente
  • Assistant message: risposta al prompt
Prompt Engineering con l'API di OpenAI

Ripasso: parametri di controllo

Immagine con un'icona a termometro con valori tra 0 e 2: 0 nessuna casualità, 2 massima casualità.

  • temperature: controlla la casualità della risposta
Prompt Engineering con l'API di OpenAI

Ripasso: parametri di controllo

Immagine con un'icona a termometro con valori tra 0 e 2 (0 nessuna casualità, 2 massima) e un'icona slider che rappresenta max_tokens: valori più bassi danno risposte più brevi.

  • temperature: controlla la casualità della risposta
  • max_tokens: controlla la lunghezza della risposta
Prompt Engineering con l'API di OpenAI

Ripasso: comunicare con l'API OpenAI

prompt = "What is prompt engineering?"

client = OpenAI(api_key="api_key")
response = client.chat.completions.create(
model = "gpt-4o-mini",
messages = [{"role": "user", "content": prompt}],
temperature = 0 )
print(response.choices[0].message.content)
Il prompt engineering è il processo di progettazione e affinamento di prompt o 
istruzioni forniti a un modello linguistico come ChatGPT per ottenere le 
risposte o i comportamenti desiderati. Comporta la formulazione di linee guida 
o indizi specifici per orientare l'output del modello verso l'esito voluto.
Prompt Engineering con l'API di OpenAI

Creare la funzione get_response()

def get_response(prompt):

response = client.chat.completions.create( model = "gpt-4o-mini", messages = [{"role": "user", "content": prompt}], temperature = 0 )
return response.choices[0].message.content

Uso

response = get_response("What is prompt engineering?")
print(response)
Il prompt engineering è il processo di progettazione e affinamento di prompt o istruzioni forniti a un modello 
linguistico come ChatGPT per ottenere risposte o comportamenti desiderati. Comporta la formulazione di linee guida 
o indizi specifici per orientare l'output del modello verso l'esito voluto.
Prompt Engineering con l'API di OpenAI

Migliorare il prompt

prompt = "What is prompt engineering? Explain it in terms that can be understood 
by a 5-year-old"
response = get_response(prompt)
print(response)
Immagina di avere un'amica molto intelligente che capisce e risponde a tante 
domande. A volte però potrebbe non capire cosa vuoi o dare la risposta sbagliata. 
Il prompt engineering è come darle istruzioni o indizi molto chiari per aiutarla 
a darti la migliore risposta possibile.
Prompt Engineering con l'API di OpenAI

Ayo berlatih!

Prompt Engineering con l'API di OpenAI

Preparing Video For Download...