Підказування з кількома прикладами

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

Fouad Trad

Machine Learning Engineer

Підказування з кількома прикладами

  • Модель отримує приклади (пари запитання–відповідь)

Візуальна схема підказки з кількома прикладами: структура з прикладами запитань і відповідей та фінальним запитанням для моделі.

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

Підказування з кількома прикладами

  • Модель отримує приклади (пари запитання–відповідь)

Візуальна діаграма, що показує, як ми надсилаємо підказку з кількома прикладами до LLM.

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

Підказування з кількома прикладами

  • Модель отримує приклади (пари запитання–відповідь)

Візуальна діаграма, що показує, як ми надсилаємо підказку з кількома прикладами до LLM і отримуємо відповідь.

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

Підказування з кількома прикладами

  • Модель отримує приклади (пари запитання–відповідь)

Візуальна діаграма, що показує, як ми надсилаємо підказку з кількома прикладами до LLM і отримуємо відповідь.

  • Кількість прикладів:
    • Нуль → zero-shot prompting
    • Один → one-shot prompting
    • Більше одного → few-shot prompting
Інженерія підказок з OpenAI API

Zero-shot prompting

  • Підказка без прикладів
  • Модель генерує відповіді на основі наявних знань
  • Ідеально для швидких і простих завдань
prompt = "What is prompt engineering?"
print(get_response(prompt))
Prompt engineering refers to designing and refining prompts or instructions given 
to a language model like ChatGPT to elicit desired responses or behaviors. It 
involves formulating specific guidelines or hints to guide the model's output 
towards a desired outcome.
Інженерія підказок з OpenAI API

One-shot prompting

  • Дайте моделі один приклад
  • Корисно для узгодженого формату чи стилю
prompt =  """ 
Q: Sum the numbers 3, 5, and 6. A: 3+5+6=14
Q: Sum the numbers 2, 4, and 7. A: 
"""
print(get_response(prompt))
2+4+7=13
Інженерія підказок з OpenAI API

One-shot prompting

prompt = """
Q: Sum the numbers 3, 5, and 6. A: The sum of 3, 5, and 6 is 14
Q: Sum the numbers 2, 4, and 7. A: 
"""
print(get_response(prompt))
The sum of 2, 4, and 7 is 13
Інженерія підказок з OpenAI API

Підказування з кількома прикладами

  • Наведіть більше ніж один приклад
  • Потужний підхід для контекстних завдань
prompt = """
Text: Today the weather is fantastic -> Classification: positive
Text: The furniture is small -> Classification: neutral
Text: I don't like your attitude -> Classification: negative

"""

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

Підказування з кількома прикладами

  • Наведіть більше ніж один приклад
  • Потужний підхід для контекстних завдань
prompt = """
Text: Today the weather is fantastic -> Classification: positive
Text: The furniture is small -> Classification: neutral
Text: I don't like your attitude -> Classification: negative
Text: That shot selection was awful -> Classification: 
"""
print(get_response(prompt))
negative
Інженерія підказок з OpenAI API

Підказування з кількома прикладами в чат-моделі

response = client.chat.completions.create(
  model = "gpt-4o-mini",

messages = [{"role": "user", "content": "Today the weather is fantastic"},
{"role": "assistant", "content": "positive"},
{"role": "user", "content": "I don't like your attitude"}, {"role": "assistant", "content": "negative"},
{"role": "user", "content": "That shot selection was awful"} ], temperature = 0 )
print(response.choices[0].message.content)
negative
Інженерія підказок з OpenAI API

На що зважати

  • Обирайте кількість прикладів за складністю завдання
    • Менше прикладів → базові завдання
    • Різноманітні приклади → складні завдання

Зображення людини, яка ставить собі запитання.

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

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

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

Preparing Video For Download...