Использование роли ассистента

Работа с OpenAI API

James Chapman

Curriculum Manager, DataCamp

Завершение чата для однократных задач

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: управляет поведением ассистента
  • User: инструктирует ассистента
  • Assistant: ответ на запрос пользователя
Работа с OpenAI API

Предоставление примеров

 

  • Направляет модель в нужную сторону
  • Сообщения ассистента — более структурированная форма few-shot-промптинга
  • Пример: репетитор по Python
    • Примеры вопросов и ответов пользователя

Сова — эксперт по науке о данных.

Работа с OpenAI API

Предоставление примеров

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?"}] )
Работа с OpenAI API

Ответ модели

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).
  • Экспериментируйте с количеством примеров
Работа с OpenAI API

System vs. assistant vs. user

System → важное форматирование шаблона

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

Assistant → примеры диалогов

User → контекст для нового запроса (обычно однократный)

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

Job Title: Data Engineer
...
Работа с OpenAI API

Давайте потренируемся!

Работа с OpenAI API

Preparing Video For Download...