Вступ до prompt engineering

Інженерія підказок з OpenAI API

Fouad Trad

Machine Learning Engineer

Що таке prompt engineering?

Створення підказок або інструкцій для LLM, щоб отримати бажані відповіді

Зображення інженера, який пояснює терміни prompt engineering.

Інженерія підказок з OpenAI API

Prompt engineering — як створення рецепта

Зображення шефа, який готує страву.

Інженерія підказок з OpenAI API

Навіщо prompt engineering?

  Схема, що показує: якісні підказки дають якісні відповіді

Інженерія підказок з OpenAI API

Навіщо prompt engineering?

  Схема, що показує, як якість відповідей залежить від якості підказок. Якісні підказки — якісні відповіді; неякісні підказки — неякісні відповіді.

Інженерія підказок з OpenAI API

Підсумок: OpenAI API

  • Дозволяє взаємодіяти з моделями OpenAI
  • Уже налаштовано в цьому курсі
  • Доступ до Chat Completions endpoint

chatgpt_logo_white.png

Інженерія підказок з OpenAI API

Підсумок: ролі повідомлень

Кожне повідомлення має одну з трьох ролей

Значок для ролі користувача.

Інженерія підказок з OpenAI API

Підсумок: ролі повідомлень

Кожне повідомлення має одну з трьох ролей

Значки для двох ролей: користувач і асистент.

Інженерія підказок з OpenAI API

Підсумок: ролі повідомлень

Кожне повідомлення має одну з трьох ролей

Значки для трьох ролей: користувач, system і асистент

Інженерія підказок з OpenAI API

Підсумок: ролі повідомлень

Кожне повідомлення має одну з трьох ролей

Значки для трьох ролей, зі стрілкою між system і асистентом для надсилання системних повідомлень.

  • System message: задає поведінку моделі
Інженерія підказок з OpenAI API

Підсумок: ролі повідомлень

Кожне повідомлення має одну з трьох ролей

Значки для трьох ролей, зі стрілкою між system і асистентом для системних повідомлень, та стрілкою між користувачем і асистентом для підказки.

  • System message: задає поведінку моделі
  • User message: підказка від користувача
Інженерія підказок з OpenAI API

Підсумок: ролі повідомлень

Кожне повідомлення має одну з трьох ролей

Значки для трьох ролей, зі стрілкою між system і асистентом для системних повідомлень, стрілкою між користувачем і асистентом для підказки, та стрілкою між асистентом і користувачем для відповіді.

  • System message: задає поведінку моделі
  • User message: підказка від користувача
  • Assistant message: відповідь на підказку користувача
Інженерія підказок з OpenAI API

Підсумок: керувальні параметри

Іконка термометра зі значеннями від 0 до 2: 0 — без випадковості, 2 — найвища випадковість.

  • temperature: керує випадковістю відповіді
Інженерія підказок з OpenAI API

Підсумок: керувальні параметри

Іконка термометра зі значеннями 0–2 (0 — без випадковості, 2 — найвища) та повзунок для параметра max_tokens: менше — коротші відповіді.

  • temperature: керує випадковістю відповіді
  • max_tokens: керує довжиною відповіді
Інженерія підказок з OpenAI API

Підсумок: взаємодія з OpenAI API

prompt = "What is prompt engineering?"

client = OpenAI(api_key="api_key")
response = client.chat.completions.create(
model = "gpt-4o-mini",
messages = [{"role": "user", "content": prompt}],
temperature = 0 )
print(response.choices[0].message.content)
Prompt engineering — це процес створення та вдосконалення підказок чи інструкцій для мовної моделі на кшталт ChatGPT, щоб отримати бажані відповіді або поведінку. Він передбачає формулювання чітких настанов чи підказок, які спрямовують результат моделі до потрібної мети.
Інженерія підказок з OpenAI API

Створення функції get_response()

def get_response(prompt):

response = client.chat.completions.create( model = "gpt-4o-mini", messages = [{"role": "user", "content": prompt}], temperature = 0 )
return response.choices[0].message.content

Використання

response = get_response("What is prompt engineering?")
print(response)
Prompt engineering — це процес створення та вдосконалення підказок чи інструкцій для мовної моделі 
на кшталт ChatGPT, щоб отримати бажані відповіді або поведінку. Він передбачає формулювання чітких настанов чи підказок, 
щоб спрямувати результат моделі до потрібної мети.
Інженерія підказок з OpenAI API

Поліпшення підказки

prompt = "What is prompt engineering? Explain it in terms that can be understood 
by a 5-year-old"
response = get_response(prompt)
print(response)
Уявіть, що у вас є дуже розумний друг, який розуміє й відповідає на безліч 
питань. Але іноді він може не зовсім збагнути, що саме вам потрібно, або дати 
неправильну відповідь. Тож prompt engineering — це як дати другові дуже чіткі 
інструкції чи підказки, щоб він зміг дати вам якнайкращу відповідь.
Інженерія підказок з OpenAI API

Давайте потренуємось!

Інженерія підказок з OpenAI API

Preparing Video For Download...