Utilizing the assistant role

Working with the OpenAI API

James Chapman

Curriculum Manager, DataCamp

Chat completions for single-turn tasks

response = client.chat.completions.create(
  model="gpt-4o-mini",
  messages=[{"role": "system",
             "content": "You are a data science tutor."},
            {"role": "user",
             "content": "What is the difference between mutable and immutable objects?"}]
)
  • System: controls assistant's behavior
  • User: instruct the assistant
  • Assistant: response to user instruction
Working with the OpenAI API

Providing examples

 

  • Steer model in the right direction
  • Providing assistant messages is a more structured form of shot-prompting
  • Example: Python Programming Tutor
    • Example user questions and answers

A data science owl.

Working with the OpenAI API

Providing examples

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": "How do you define a Python list?"},
{"role": "assistant", "content": "Lists are defined by enclosing a comma-separated sequence of objects inside square brackets [ ]."},
{"role": "user", "content": "What is the difference between mutable and immutable objects?"}] )
Working with the OpenAI API

The response

print(response.choices[0].message.content)
Mutable objects can be changed after creation (e.g., lists, dictionaries). Immutable objects
cannot be altered once created (e.g., strings, tuples).
  • Experiment with the number of examples
Working with the OpenAI API

System vs. assistant vs. user

System → important template formatting

Output the information in this format:
name | age | occupation

Assistant → example conversations

User → context required for the new input (often single-turn)

Create a job advert for an AI Engineer. Use this job advert as a template:

Job Title: Data Engineer
...
Working with the OpenAI API

Let's practice!

Working with the OpenAI API

Preparing Video For Download...