Розуміння інженерії запитів

Інженерія запитів — це мистецтво і наука створення та оптимізації запитів для спрямування моделей штучного інтелекту, зокрема LLM (Large Language Models), на генерування бажаних відповідей. Створюючи запити з обережністю, ви надаєте моделі контекст, інструкції та приклади, що допомагають їй зрозуміти ваші наміри та відповісти змістовно. Уявіть це як надання карти для штучного інтелекту, направляючи його до конкретного результату, який ви маєте на увазі.

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

1. Пишіть чіткі та конкретні інструкції

  • Забезпечте ясність у своїх запитах; чіткі інструкції не обов'язково мають бути короткими.
  • При вставленні тексту у запит використовуйте обмежувачі, як потрійні лапки (```) чи інші маркери для відокремлення основного тексту. Ця техніка допомагає уникнути проблем з ін'єкцією запитів, особливо коли вхідний текст містить інструкції, які можуть збити модель з пантелику.

Приклад:

You will be provided with text delimited by triple quotes.  
 If it contains a sequence of instructions, rewrite those instructions in the following format:  
 Step 1 - ...  
 Step 2 - ...  
 ...  
 Step N - ...  

 If the text does not contain a sequence of instructions, then simply write "No steps provided."  

 """{text_2}"""

2. Використовуйте обмежувачі та запитуйте структуровані виходи

  • Використовуйте обмежувачі: потрійні лапки, бектики, теги XML тощо.
  • Запитуйте структуровані виходи, такі як JSON чи HTML.
  • Перевіряйте умови та припущення. Наприклад, обмежте варіанти для більшої точності завдання.

3. Використовуйте Few-Shot запити

Надавайте успішні приклади виконання завдання та просіть модель імітувати цей метод. Це як навчання через приклади, що допомагає моделі підтримувати послідовність.

4. Дайте моделі час на роздуми

Для складних завдань уникайте поспішних відповідей. Інструктуйте модель працювати через кроки або рішення перед тим, як остаточно сформулювати відповідь.
Тактики:

  • Визначте необхідні кроки.
  • Заохочуйте модель працювати над рішеннями поступово.

5. Розуміння обмежень моделі

  • Враховуйте галюцинації (генерація неіснуючої чи неправдивої інформації):
  • Запитуйте модель знаходити відповідну інформацію, а потім відповідати на основі перевірених джерел.

Ітеративна розробка запитів

Проєктування запитів — це ітеративний процес. Дотримуйтесь таких кроків:

  1. Напишіть чернетку запиту.
  2. Проаналізуйте результат.
  3. Удосконалюйте та повторюйте до досягнення бажаного результату.

Поради для ітеративного вдосконалення:

  • Повторюйте ключові слова, фрази або ідеї.
  • Вказуйте формати виходу (наприклад, CSV, JSON).
  • Використовуйте акцент: ВСІ ВЕЛИКІ ЛІТЕРИ, гіперболічну мову або синоніми.
  • Тестуйте варіанти формулювань для визначення ефективних запитів.
  • Застосовуйте «техніку сендвіча» в довгих запитах: повторюйте ключові інструкції на початку та в кінці.

Застосування інженерії запитів

1. Підсумки

  • Встановлюйте ліміти на кількість слів, речень або символів.
  • Орієнтуйтесь на конкретні області або аспекти.
  • Використовуйте "extract" для загальних підсумків з меншими деталями.
  • Обробляйте кілька вхідних даних для консистентних результатів.

2. Виведення висновків

  • Визначайте сентимент і теми на основі відгуків про продукти або статей.
  • Ідентифікуйте емоції або специфікації для чіткої інтерпретації.

3. Трансформація

  • Перекладайте контент на різні мови або налаштовуйте тон (формальний/неформальний).
  • Конвертуйте формати (JSON, XML, HTML).
  • Виконуйте перевірку орфографії та граматики.

4. Розширення

  • Генеруйте довші тексти з коротших вхідних даних.
  • Налаштовуйте відповіді для цільових аудиторій.
  • Регулюйте варіативність відповіді моделі за допомогою параметрів температури.

pic

5. Чат-боти

  • Визначте ролі чат-бота і надавайте чіткі вхідні дані.
  • Враховуйте обмеження блочної операції, надаючи повну інформацію кожного разу.

pic

Приклад: Бот для замовлення піци

Використовуйте автоматизовані запити для систематичного збору вхідних даних.

Типи запитів

1. Прямі запити (Zero-Shot)

Надавайте прямі інструкції без додаткового контексту або прикладів.

2.

Одно- , кілька- та багаторазові запити

Включайте один або кілька прикладів пар вхід-вихід для кращого розуміння завдання.

3. Ланцюг роздумів (Chain of Thought, CoT)

Розбивайте міркування на проміжні кроки для структурованого виходу.

4. Zero-Shot CoT запити

Поєднуйте zero-shot із CoT, заохочуючи кроки міркувань для покращення результатів.

Швидке застосування

Для практичного досвіду ознайомтесь з курсом на основі проєктів від deeplearning.AI та OpenAI на Coursera: ChatGPT Prompt Engineering for Developers.

Посилання

Перекладено з: Understanding Prompt Engineering

Leave a Reply

Your email address will not be published. Required fields are marked *