Few-shot prompting

Разработка промптов с OpenAI API

Fouad Trad

Machine Learning Engineer

Few-shot prompting

  • Модели предоставляются примеры (пары вопрос–ответ)

Наглядное представление few-shot промпта: его структура с примерами вопросов и ответов, а также вопрос, на который модель должна ответить.

Разработка промптов с OpenAI API

Few-shot prompting

  • Модели предоставляются примеры (пары вопрос–ответ)

Схема, показывающая, как few-shot промпт отправляется в LLM.

Разработка промптов с OpenAI API

Few-shot prompting

  • Модели предоставляются примеры (пары вопрос–ответ)

Схема, показывающая, как few-shot промпт отправляется в LLM и как модель возвращает ответ.

Разработка промптов с OpenAI API

Few-shot prompting

  • Модели предоставляются примеры (пары вопрос–ответ)

Схема, показывающая, как few-shot промпт отправляется в 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

Few-shot prompting

  • Более одного примера
  • Эффективно для задач, требующих контекста
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

Few-shot prompting

  • Более одного примера
  • Эффективно для задач, требующих контекста
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

Few-shot prompting с чат-моделью

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...