Chattroller och systemmeddelanden

Arbeta med OpenAI API

James Chapman

Curriculum Manager, DataCamp

Chattavslut

 

Enkelvändiga uppgifter

  • Textgenerering
  • Texttransformering
  • Klassificering

En enkelvändig uppgift med en prompt och ett svar.

Arbeta med OpenAI API

Chattavslut

 

Enkelvändiga uppgifter

  • Textgenerering
  • Texttransformering
  • Klassificering

 

Flervändiga konversationer

→ Bygger vidare på tidigare prompter och svar

En flervändig uppgift med flera prompter och svar.

Arbeta med OpenAI API

Roller

 

  • System: styr assistentens beteende
  • User: instruerar assistenten
  • Assistant: svar på användarens instruktion
    • Kan även skrivas av utvecklaren för att ge exempel

De tre rollerna i en chattinteraktion: systemet, användaren och assistenten.

Arbeta med OpenAI API

Konfigurera förfrågan

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

Konfigurera prompten

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?"}]
Arbeta med OpenAI API

Skicka en förfrågan

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)
Arbeta med OpenAI API

Svaret

Mutable objects can be changed after creation, while immutable objects cannot be
modified once they are created.
Arbeta med OpenAI API

Motverka missbruk

 

  • Systemmeddelande: Kan innehålla skyddsräcken
    • Begränsningar för modellens utdata

guardrails.jpg

En finansiell tutoringchattbot och en finansiell rådgivningschattbot.

Arbeta med OpenAI API

Motverka missbruk med systemmeddelanden

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.
"""
Arbeta med OpenAI API

Motverka missbruk med systemmeddelanden

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.
Arbeta med OpenAI API

Nu kör vi en övning!

Arbeta med OpenAI API

Preparing Video For Download...