IT & AI
February 19

Containers 4 ChatGPT

Руководство по использованию контейнеров для создания промптов ChatGPT

Это руководство описывает, как эффективно использовать предоставленные контейнеры для создания структурированных и эффективных промптов для ChatGPT. Правильное использование контейнеров поможет вам получать более точные, релевантные и желаемые результаты от модели.

1. <context> (Контекст):

  • Назначение: Предоставляет ChatGPT дополнительную информацию, необходимую для понимания запроса. Это может быть предыстория, описание ситуации, определение терминов или любая другая информация, которая может повлиять на ответ.
  • Пример: <context>Вы — исторический бот, специализирующийся на событиях Второй мировой войны.</context>
  • Советы: Чем подробнее контекст, тем лучше. Избегайте двусмысленности.

2. <text> (Текст):

  • Назначение: Содержит текст, который ChatGPT должен обработать. Это может быть статья, отрывок книги, стихотворение или любой другой текст.
  • Пример: <text>Четыре года длилась война...</text>
  • Советы: Указывайте источник текста, если необходимо.

3. <prohibited_words> (Запрещенные слова):

  • Назначение: Список слов или фраз, которые не должны встречаться в ответе ChatGPT.
  • Пример: <prohibited_words>война, насилие, кровь</prohibited_words>
  • Советы: Используйте этот контейнер для контроля тона и содержания ответа.

4. <user_query> (Запрос пользователя):

  • Назначение: Формулировка конкретного вопроса или запроса, который пользователь адресует ChatGPT. Это основной элемент промпта.
  • Пример: <user_query>Расскажи о Сталинградской битве.</user_query>
  • Советы: Будьте максимально точными и ясными в формулировке запроса.

5. <instructions> (Инструкции):

  • Назначение: Дополнительные указания о том, как ChatGPT должен обрабатывать запрос. Например, формат ответа, длина, стиль и т.д.
  • Пример: <instructions>Ответ должен быть кратким, не более 100 слов.</instructions>
  • Советы: Используйте императивные глаголы ("напиши", "сгенерируй", "классифицируй").

6. <examples> (Примеры):

  • Назначение: Примеры желаемого формата или содержания ответа. Помогает ChatGPT лучше понять, что от него требуется.
  • Пример: <examples><example>Сталинградская битва была одним из ключевых сражений...</example></examples>
  • Советы: Чем больше примеров, тем лучше.

7. <input> (Ввод):

  • Назначение: Данные, которые ChatGPT должен использовать в качестве входных. Может быть текстом, числом или другим форматом.
  • Пример: <input>1, 2, 3</input>

8. <output> (Вывод):

  • Назначение: Ожидаемый результат работы ChatGPT. Используется для обучения и оценки модели. В обычном использовании промптов этот контейнер не нужен.
  • Пример: <output>6</output>

9. <target_language> (Целевой язык):

  • Назначение: Язык, на котором должен быть предоставлен ответ.
  • Пример: <target_language>Русский</target_language>

10. <style> (Стиль):

  • Назначение: Указание на желаемый стиль ответа.
  • Пример: <style>Деловой</style> или <style>Юмористический</style>

11. <topic> (Тема):

  • Назначение: Тема, к которой относится запрос. Может помочь ChatGPT лучше понять контекст.
  • Пример: <topic>История</topic>

12. <task> (Задача):

  • Назначение: Конкретная задача, которую ChatGPT должен выполнить.
  • Пример: <task>Перевести текст на английский язык.</task>

13. <title> (Заголовок):

  • Назначение: Заголовок для текста, который должен сгенерировать ChatGPT.
  • Пример: <title>Анализ Сталинградской битвы</title>

14. <author> (Автор):

  • Назначение: Имя автора текста или запроса.
  • Пример: <author>Иван Иванов</author>

15. <date> (Дата):

  • Назначение: Дата создания текста или запроса.
  • Пример: <date>2023-10-27</date>

16. <summary> (Краткое изложение):

  • Назначение: Запрос на создание краткого изложения текста.
  • Пример: <summary>Кратко изложите основные события Сталинградской битвы.</summary>

17. <section> (Раздел):

  • Назначение: Указание на конкретный раздел текста или темы.
  • Пример: <section>Ход битвы</section>

18. <note> (Примечание):

  • Назначение: Дополнительная информация или комментарии к запросу.
  • Пример: <note>Обратите внимание на роль авиации в битве.</note>

19. <references> (Ссылки):

  • Назначение: Список ссылок на источники информации.
  • Пример: <references><reference>https://ru.wikipedia.org/wiki/Сталинградская_битва</reference></references>

20. <list> (Список):

  • Назначение: Запрос на создание списка.
  • Пример: <list><item>Пункт 1</item><item>Пункт 2</item></list>

21. <quote> (Цитата):

  • Назначение: Запрос на поиск или анализ цитаты.
  • Пример: <quote>Найдите цитату Жукова о Сталинградской битве.</quote>

22. <link> (Ссылка):

  • Назначение: Запрос на поиск ссылки на определенный ресурс.
  • Пример: <link>Дайте ссылку на статью о плане "Уран".</link>

Атрибуты: Можно расширить контейнеры, добавив к ним атрибуты, например, <link href="url">...</link>.

Иерархия: Можно создавать вложенные контейнеры, чтобы отражать более сложную структуру данных.

Собственный формат: Вы можете разработать свой собственный формат на основе этих контейнеров.

Пример промта с использованием контейнеров <user_query>, <instructions> и <context>:

<context>
Ты — креативный писатель-фантаст.
</context>

<instructions>
Напиши короткий рассказ в стиле киберпанк.
Главный герой должен быть хакером-одиночкой, 
живущим в антиутопическом городе будущего.
Рассказ должен быть атмосферным и динамичным, 
с элементами экшена и драмы.
Объем текста — не более 500 слов.
</instructions>

<user_query>
Опиши историю хакера по имени Нео, 
который пытается взломать систему 
мегакорпорации "Кибердайн".
</user_query>

Разберем этот пример:

  • <context>: Мы задаем контекст, указывая, что ChatGPT должен выступать в роли креативного писателя-фантаста. Это помогает модели выбрать нужный стиль и тон повествования.
  • <instructions>: Здесь мы даем подробные инструкции о том, каким должен быть рассказ:Жанр: киберпанк.
  • Главный герой: хакер-одиночка, живущий в антиутопическом городе.
  • Стиль: атмосферный, динамичный, с элементами экшена и драмы.
  • Объем: не более 500 слов.
  • <user_query>: Непосредственно запрос пользователя: описать историю хакера Нео, пытающегося взломать систему мегакорпорации "Кибердайн".

Как это работает:

ChatGPT, получив такой промт, сначала "ознакомится" с контекстом, затем выполнит инструкции и, наконец, ответит на запрос пользователя, создав рассказ в соответствии с заданными параметрами.

Преимущества использования контейнеров:

  • Структурированность: Контейнеры делают промт более структурированным и понятным для модели.
  • Контроль: С помощью контейнеров можно точно задать желаемые параметры текста, такие как стиль, объем, жанр и т.д.
  • Эффективность: Правильно составленный промт помогает получить более точный и релевантный результат.

Этот пример демонстрирует, как с помощью трех основных контейнеров можно создать достаточно сложный и детализированный промт для ChatGPT. В дальнейшем, добавляя другие контейнеры, вы сможете еще больше контролировать процесс генерации текста и получать именно то, что вам нужно.

Используя эти контейнеры, вы сможете создавать более сложные и точные промпты, что приведет к более качественным и релевантным ответам от ChatGPT. Экспериментируйте с разными комбинациями контейнеров, чтобы найти оптимальный подход для ваших задач.