Ключові принципи інженерії підказок

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

Fouad Trad

Machine Learning Engineer

Чіткі та точні підказки

Візуальна схема з пекарнею та будинком і двома маршрутами між ними. Один простий і короткий (ефективний), інший складний і довгий (неефективний).

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

Ключові принципи

 

  • 🎬 Доречні дієслова дії
  • 💬 Детальні й точні інструкції
  • ❗ Добре структуровані підказки з роздільниками
Інженерія підказок з OpenAI API

Використовуйте дієслова дії

  • Спрямуйте модель, що робити

Таблиця з дієсловами для використання: write, complete, explain, describe, evaluate.

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

Уникайте неоднозначних дієслів

  • Плутають розуміння моделі

Таблиця з дієсловами, які варто використовувати (write, complete, explain, describe, evaluate), і яких уникати (understand, think, feel, try, know).

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

Ефективна підказка з дієсловами

prompt = "Think about the issue of 
deforestation."
response = get_response(prompt)
print(response)
Deforestation is a significant 
environmental issue involving 
permanently removing
or destroying forests and woodlands. 
It has far-reaching impacts on the 
environment, ecosystems, wildlife, 
and human communities. [...]
prompt = "Propose strategies to 
reduce deforestation."
response = get_response(prompt)
print(response)
Reducing deforestation requires 
a comprehensive and multi-dimensional 
approach involving various stakeholders. 
Here are several strategies 
that can help address the issue:
Strengthen Forest Governance
Promote Sustainable Land Use [...]
Інженерія підказок з OpenAI API

Формулювання детальних інструкцій

 

Надавайте конкретні, описові та детальні інструкції щодо:

  • 📖 Контексту
  • 📏 Довжини виводу
  • 🖌 Формату та стилю
  • 👥👥 Аудиторії
Інженерія підказок з OpenAI API

Ефективна підказка з інструкціями

Неефективна підказка: "Tell me about dogs."

Ефективна підказка

prompt = "Write a descriptive paragraph about the behavior and characteristics of 
Golden Retrievers, highlighting their friendly nature, intelligence, 
and suitability as family pets."
print(get_response(prompt))
Golden Retrievers are beloved worldwide for their exceptional behavior, remarkable 
characteristics, and friendly nature. They are highly intelligent, trainable, and 
adaptable, making them great companions for families, including those with children.
Інженерія підказок з OpenAI API

Обмеження довжини виводу

max_tokens:

  • Обмеження кількості токенів
  • Вивід не може його оминути
  • Може призвести до урізаних відповідей

Підказка:

  • Обмеження на слова, речення або абзаци
  • Вивід може його оминути
  • Повні відповіді
Інженерія підказок з OpenAI API

Складники підказки

  • Інструкції та вхідні дані для роботи
  • Приклад: узагальнення тексту
    • Інструкція: узагальніть поданий текст
    • Вхідні дані: текст для узагальнення

Піктограма, що позначає задачу узагальнення тексту

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

Структурована підказка з роздільниками

  • Починайте підказку з інструкцій
  • Використовуйте роздільники (дужки, квадратні дужки, бектики тощо) для позначення частин вхідних даних
  • Зазначайте, які роздільники використано
prompt = """Summarize the text delimited by triple backticks into bullet points.
           ```TEXT GOES HERE```"""
response = get_response(prompt)
Інженерія підказок з OpenAI API

Використання форматованих рядків (f-strings)

  • Вставте визначений рядок в інший рядок
text = "This is a sample text to summarize"

prompt = f"""Summarize the text delimited by triple backticks into bullet points. ```{text}```"""
print(prompt)
Summarize the text delimited by triple backticks into bullet points.
```This is a sample text to summarize```
Інженерія підказок з OpenAI API

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

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

Preparing Video For Download...