Ruoli della chat e messaggi di sistema

Lavorare con l'API di OpenAI

James Chapman

Curriculum Manager, DataCamp

Chat Completions

 

Attività a singolo turno

  • Generazione di testo
  • Trasformazione di testo
  • Classificazione

Un'attività a singolo turno con un prompt e una risposta.

Lavorare con l'API di OpenAI

Chat Completions

 

Attività a singolo turno

  • Generazione di testo
  • Trasformazione di testo
  • Classificazione

 

Conversazioni multi-turno

→ Si basano su prompt e risposte precedenti

Un'attività multi-turno con più prompt e risposte.

Lavorare con l'API di OpenAI

Ruoli

 

  • System: controlla il comportamento dell'assistente
  • User: istruisce l'assistente
  • Assistant: risponde all'utente
    • Può anche essere scritto dallo sviluppatore per fornire esempi

I tre ruoli in una chat: system, user e assistant.

Lavorare con l'API di OpenAI

Impostazione della richiesta

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": prompt}]
)
Lavorare con l'API di OpenAI

Impostazione del prompt

messages=[{"role": "system",
           "content": "You are a Python programming tutor who speaks concisely."},
          {"role": "user",
           "content": "What is the difference between mutable and immutable objects?"}]
Lavorare con l'API di OpenAI

Inviare una richiesta

response = client.chat.completions.create(
  model="gpt-4o-mini",
  messages=[{"role": "system",
             "content": "You are a Python programming tutor who speaks concisely."},
            {"role": "user",
             "content": "What is the difference between mutable and immutable objects?"}]
)

print(response.choices[0].message.content)
Lavorare con l'API di OpenAI

La risposta

Gli oggetti mutabili possono essere cambiati dopo la creazione, mentre quelli immutabili non possono essere
modificati una volta creati.
Lavorare con l'API di OpenAI

Ridurre gli abusi

 

  • Messaggio di sistema: può includere guardrail
    • Restrizioni sulle uscite del modello

barriere di sicurezza.jpg

Un chatbot tutor finanziario e un chatbot consulente finanziario.

Lavorare con l'API di OpenAI

Ridurre gli abusi con messaggi di sistema

sys_msg = """
You are finance education assistant that helps students study for exams.

If you are asked for specific, real-world financial advice with risk to their
finances, respond with:

I'm sorry, I am not allowed to provide financial advice.
"""
Lavorare con l'API di OpenAI

Ridurre gli abusi con messaggi di sistema

response = client.chat.completions.create(
  model="gpt-4o-mini",
  messages=[{"role": "system",
             "content": sys_msg},
            {"role": "user",
             "content": "Which stocks should I invest in?"}]
)

print(response.choices[0].message.content)
I'm sorry, I am not allowed to provide financial advice.
Lavorare con l'API di OpenAI

Passiamo alla pratica !

Lavorare con l'API di OpenAI

Preparing Video For Download...