Chatrollen en systeemberichten

Werken met de OpenAI API

James Chapman

Curriculum Manager, DataCamp

Chat Completions

 

Single-turn taken

  • Tekstgeneratie
  • Teksttransformatie
  • Classificatie

Een single-turn taak met één prompt en één antwoord.

Werken met de OpenAI API

Chat Completions

 

Single-turn taken

  • Tekstgeneratie
  • Teksttransformatie
  • Classificatie

 

Multi-turn gesprekken

→ Bouwen voort op eerdere prompts en antwoorden

Een multi-turn taak met meerdere prompts en antwoorden.

Werken met de OpenAI API

Rollen

 

  • System: stuurt het gedrag van de assistant
  • User: instrueert de assistant
  • Assistant: antwoord op de user-instructie
    • Kan ook door de developer worden geschreven om voorbeelden te geven

De drie rollen in een chatinteractie: het systeem, de gebruiker en de assistant.

Werken met de OpenAI API

Verzoek instellen

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": prompt}]
)
Werken met de OpenAI API

Prompt instellen

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?"}]
Werken met de OpenAI API

Een verzoek doen

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)
Werken met de OpenAI API

Het antwoord

Mutable objecten kun je na creatie wijzigen; immutable objecten niet.
Werken met de OpenAI API

Misbruik beperken

 

  • System message: Kan guardrails bevatten
    • Beperkingen op modeluitvoer

guardrails.jpg

Een financiële tutor-chatbot en een financiële adviseur-chatbot.

Werken met de OpenAI API

Misbruik beperken met systeemberichten

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.
"""
Werken met de OpenAI API

Misbruik beperken met systeemberichten

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.
Werken met de OpenAI API

Laten we oefenen!

Werken met de OpenAI API

Preparing Video For Download...