Полезные советы по работе с GPT моделями

Зайчатки разума

Записная книжка айтишника

Полезные советы по работе с GPT моделями

2024-08-22 16:44:04 — Evgeniy Shumilov

GPT модели — это мощные инструменты, способные генерировать текст и код на основе предоставленного промта. Составление эффективных промтов — ключевой фактор для получения желаемых результатов.

Для эффективного взаимодействия с GPT требуется:

  • понимание функциональных возможностей текущего используемого инструмента;
  • использование нескольких сервисов и нейросетей для получения наиболее релевантного результата;
  • соблюдение основных принципов построения промтов;
  • использование простых стратегий для достижения результата;
  • применение так называемых tricks (фокусов/уловок).

Хорошим вариантом повышения эффективности работы с GPT моделями будет хранение полезных и/или часто используемых промтов в отдельном документе с возможностью быстрого доступа и поиска.


Проверка фактов

Необходимо отметить, что идеальных GPT моделей не существует, и всё, что мы получаем в результате работы модели, необходимо воспринимать как гипотезу, а не как факт. В зависимости от специфики вопроса, контекста и датасета, на котором обучалась модель, вы можете получить как результат, соответствующий реальности, так и результат, который ей не соответствует. Например, имя автора литературного произведения может оказаться неверным, или дата его рождения будет ошибочной. Попросив написать код приложения, вы можете получить результат, схожий с рабочим кодом, но в нем могут быть библиотеки и методы, которые никогда не существовали. GPT модели достаточно хорошо справляются с простыми и типовыми задачами, такими как «hello world» или чем-то немного более сложным, что мог бы выполнить начинающий разработчик. Однако когда появляется специфическая задача или уровень сложности возрастает, код может оказаться нерабочим, и может потребоваться множество итераций для достижения положительного результата. В общем, всё, что вы получили в результате работы нейросетей, требует ручной проверки и, вероятно, корректировки, как вручную, так и путем изменения использованного промта. Также часто используется вариант, когда результат работы нейросети корректируется вручную и затем отправляется для дальнейшей доработки в новый чат.

Базовые возможности большинства распространённых GPT/LLM инструментов

Ответы на вопросы

Одна из основных функций ChatGPT и других GPT моделей — предоставление ответов на вопросы пользователей. Они могут обрабатывать запросы разной сложности и на различные темы, от простых фактов до сложных концепций.

Пример запроса: «Кто и когда открыл Америку?»

Генерация текста

GPT модели могут генерировать текст на основе предоставленного промта. Это может включать написание статей, блог-постов, рецензий, рассказов, стихов и других видов контента.

Пример запроса: «Напиши письмо партнёрам в официальном стиле с извинениями за неработоспособность сервиса <подставьте имя сервиса> в период с 12:00 до 13:00 01.02.2024. Добавь подпись: Менеджер по работе с партнёрами <подставьте ФИО>. Текст должен занимать не более 250 слов».

Перевод и локализация

Хотя GPT модели не являются специализированными системами машинного перевода, они могут выполнять перевод текста и адаптировать его для определённых локалей.

Пример запроса: «Не отвечай на данное сообщение, для каждого следующего текста на языке, отличном от русского, сделай перевод на русский язык».

Резюмирование и извлечение ключевых моментов

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

Пример запроса: «Составь краткое резюме по тексту, выдели основные моменты».

Классификация и анализ текста

GPT модели могут классифицировать текст по различным критериям, таким как тон, эмоциональная окраска, намерение автора и другие. Они также способны выполнять анализ текста, выделяя сущности, отношения и другие лингвистические особенности.

Пример запроса: «Определи тон следующего текста: <здесь следует добавить текст>».

Работа с таблицами

GPT модели могут обрабатывать табличные данные и генерировать таблицы в формате CSV, TSV, Markdown. Это одна из полезных возможностей, но используется нечасто.

Пример запроса: «Составь таблицу со списком библиотек для iOS и Android, обеспечивающих возможность работы с видеоданными. В колонках таблицы приведи рейтинг, название библиотеки, платформу, ссылку на репозиторий, краткое описание, поддерживаемые форматы видео, лицензию и стоимость лицензии, если библиотека платная. Отсортируй по рейтингу, результат выведи в формате CSV».

Пример запроса: «Ниже будет приведена таблица, содержащая данные о библиотеках для мобильной разработки. Оставь только записи для Android и которые подразумевают возможность бесплатного использования в коммерческих целях. Удали столбец iOS/Android и выведи результат в формате таблицы markdown.

<ниже содержимое таблицы из предыдущего примера>».

Работа с объектами данных

В большинстве языков программирования есть поддержка форматов JSON, YAML, XML, TOML и других для сериализации/десериализации данных. Эти форматы также хорошо понимают многие GPT модели. В качестве примера можно использовать формат OpenAPI и попросить его модифицировать.

Пример запроса: «Ниже я приведу содержимое файла в формате OpenAPI. Необходимо для всех path, у которых в поле description есть текст 'старый метод', добавить в начало path текст '/oldapi' и для всех параметров запроса указать required: true <содержимое в формате OpenAPI>».

Диалоговые системы и чат-боты

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

Пример запроса: «Отвечай как эксперт в области компьютерных сетей».

Поддержка многоязычности

GPT модели могут работать с текстовыми данными на разных языках, что делает их полезными инструментами для международного сотрудничества и обмена информацией.

Пример запроса: «Как сказать "спасибо" на японском языке?»

Получение транскрипции видео

Существуют инструменты, которые позволяют получить достаточно качественную транскрипцию видео/аудио. Например, Whisper JAX, доступный на данный момент (2024.07.18) бесплатно по адресу https://huggingface.co/spaces/sanchit-gandhi/whisper-jax?ref=paxi. Также возможен запуск на собственной инфраструктуре при наличии выделенных TPU/GPU.

Пример использования: копировать ссылку на видео на YouTube, вставить видео в поле на вкладке YouTube в Whisper JAX, нажать submit, ждать обработки, копировать полученную транскрипцию в GPT с просьбой перевести на русский язык, сократить или составить список плюсов/минусов описываемого в видео решения и т. д.

Творческое использование

GPT модели могут использоваться для создания различных видов творческого контента, такого как музыка, искусство и дизайн. Например, они могут генерировать идеи для дизайна, создавать концепт-арты или даже сочинять музыку, однако возможности в этой области мы рассматривать не будем.

Пример запроса: «Предложи идею для дизайна футболки с единорогом и радугой».

Использование различных нейросетей для получения наиболее релевантного результата

Функциональность и релевантность результатов работы GPT/LLM инструментов определяются несколькими факторами: алгоритмами обучения и набором данных, на которых была обучена нейросеть, а именно — объёмом модели, спецификой содержимого и качеством разметки данных. Существуют как универсальные модели, предназначенные для ответа на любой вопрос пользователя, так и специфические модели, для обучения которых использовался специфический набор данных. Например, доступна модель DeepSeek Coder, обученная на программном коде свободных проектов. Она плохо подходит для ответов на произвольные вопросы, но в некоторых случаях способна генерировать программный код лучше других открытых моделей. Идентичный промт имеет смысл отправить в несколько GPT инструментов, затем проанализировать результаты и выбрать наиболее релевантный для ваших целей.

Также для генерации изображений существует множество инструментов, однако результаты, полученные по одному и тому же промту, могут значительно различаться: Кандинский от Сбербанка понимает национальную специфику, у Deep Fusion есть множество плагинов и т. д. Чтобы получить более качественный результат, следует периодически пробовать новые инструменты и сравнивать результаты их работы в равных условиях. Существуют сервисы подбора инструментов, основанные на нейросетях для конкретных задач, такие как https://theresanaiforthat.com/.

Базовые принципы построения промтов и работы с результатами

Конфиденциальность

Ни в коем случае не отправляйте в GPT любые чувствительные данные, начиная от паролей и заканчивая адресами и номерами телефонов! Инвалидируйте подобные данные, используйте вымышленные пароли, токены и адреса.

Контекст и ясность

При составлении промтов важно предоставить достаточный контекст и четко сформулировать запрос. Общайтесь с GPT моделью так, как будто общаетесь с не очень умным, но исполнительным техником, который воспринимает всё буквально. Ошибки в промте могут привести к неверным или неточным ответам.

Ролевое обращение

Если нужна консультация в определённой области, начните промт с фразы «Отвечай как специалист в области X», где X — требуемая область. Например: «Ты — профессиональный шеф-повар. Расскажи, как приготовить идеальное рагу».

Рекомендуется добавлять роль также для потребителя контента для донесения информации до разных целевых аудиторий.

Использование примеров

Если у вас есть примеры, соответствующие вашему представлению о результате, передайте их нейросети.

Пример: «Ниже таблица с входными данными и пример документа, созданного с использованием данных из третьей строки таблицы. Требуется создать документы, используя данные следующих строк, начиная с четвёртой. Таблица: <содержимое таблицы> Документ: <содержимое документа>».

Ограничение длины ответа

Чтобы контролировать длину ответа, укажите требуемую длину в промте в количестве знаков/слов/абзацев/страниц. Затем можно попросить сократить или более подробно расписать конкретный абзац или весь результат.

Специфический синтаксис запросов

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

Промт: «Есть ли какой-то дополнительный синтаксис для использования в промтах, который позволяет определить исключения, альтернативные варианты и т. п.? Приведи примеры».

Доступный объём контекста и влияние контекста

Основное правило: новая предметная область — новый контекст. Инструменты, основанные на больших языковых моделях, имеют ограниченный объём контекста. В платных версиях этот объём может вместить объём книги и более, в бесплатных — меньше. Хотя накопившийся контекст текущей беседы может негативно повлиять на результаты вопросов другой предметной области, создавайте новый чат для таких случаев.

В случае использования бесплатных инструментов, например, https://chat.mistral.ai/chat/ вы можете достичь предела контекста на определённой итерации вывода многотомного документа. В этом случае также результаты работы чата копируются в новый чат как исходные данные.

Стратегии использования промтов

Последовательная детализация и очистка контекста

Одним из достоинств работы с GPT является возможность последовательной детализации запроса.

Примеры последовательных промтов:

  1. «Напиши короткую статью о паттернах программирования. Приведи примеры наиболее известных паттернов».
  2. «Увеличь количество паттернов до десяти, убери второй по счёту».
  3. «Добавь простые примеры использования паттернов на Rust».
  4. «Для каждого паттерна приведи примеры, где его использование нецелесообразно».

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

Разделение запросов

Не пытайтесь составить сложный промт для большой задачи. Запрашивайте у GPT модель план решения, затем решение по отдельным пунктам с итеративными корректировками.

Получение альтернативных вариантов

Если у вас есть общее представление о решении задачи, изложите его в чате, а затем запросите детализацию каждого пункта. Также можно спросить: «Предложи 5 альтернативных решений этой задачи». Это поможет выбрать лучший вариант, даже если вы не знали о его существовании.

Использование Tricks (фокусов)

Замечено, что промты, написанные на английском, иногда работают более эффективно, чем на русском. Повышайте релевантность ответов с помощью следующего промта: «Я буду задавать вопросы на русском, а ты переводи их на английский и возвращай ответы на русском».

Ниже приведены типовые промты к GPT моделям.

Заставьте GPT модель написать промт для самой себя

Опишите действия, которые вы хотите добиться от модели, и попросите объяснить последовательность этих действий, затем отправьте: «Напиши оптимальный промт для реализации данного алгоритма».

Быстрое извлечение данных из статей (в т. ч. на других языках)

Промт: «Переводи каждое входящее сообщение на русский, если оно написано на другом языке. Сократи текст, оставив только важные моменты».

Получение объяснений

Промт: «Explain the concept of <тема> in simple terms. Summarize the main principles and illustrate with examples».
Промт: «Объясни <тему> так, как будто мне 5 лет».

Коррекция ошибок

Промт: «Следующий текст посвящён <тема>. Исправьте все ошибки и некорректные предложения: <ваш текст>».

Взаимосвязь между темами

Промт: «Опишите и объясните простыми словами отношение между <тема 1> и <тема 2>».

Получение источников информации по теме

Промт: «Предоставь 5 надёжных источников для изучения квантовых вычислений с датами и ссылками».

Составление списка ключевых терминов

Промт: «Какие ключевые термины я должен знать о <тема>? Составь список с краткими определениями».

Новые способы решения проблем

Промт: «Поделись пошаговым систематическим подходом к решению <проблема или задача>, step-by-step».

Ответы от эксперта

Чтобы ответы были более профессиональными, добавьте в начале роль:
Промт: «Как эксперт по маркетингу, помоги мне <ваша задача>».

Уровень креативности

Температура в GPT моделях определяет уровень креативности и точности. Промт: «Сгенерируй 10 креативных идей для нового мобильного приложения с температурой 0.5».

Увеличение точности ответов

Промт:
«1. Ответы должны быть краткими.

  1. Будь прямолинейной; не сладкопись.
  2. Не давай моральных уроков.
  3. Обсуждай безопасность только если это критично.
  4. Никогда не упоминай, что ты AI.
  5. Избегай фраз, которые можно интерпретировать как сожаление или извинение.
  6. Если информация выходит за рамки твоих знаний, просто скажи 'Не знаю'.
  7. Не используйте отговорки о профессионализме.
  8. Ответы должны быть уникальными и без повторений.
  9. Никогда не рекомендую искать информацию в других источниках».

Заключение

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

Полезные ссылки на альтернативные ресурсы

Актуально на 20.08.2024

https://theresanaiforthat.com/ — сервис подбора инструментов, основанных на нейросетях для различных задач

https://huggingface.co/spaces/ — платформа для хостинга и запуска открытых GPT и других моделей.

https://mashagpt.ru/chat — бесплатный гейт для ChatGPT-4o-mini

https://mistral.ai/ — модель Mistral с большим количеством параметров в открытом доступе на период бета-тестирования

https://huggingface.co/spaces/thobuiq/GPT-4o — OpenGPT-4o

https://huggingface.co/spaces/llamameta/llama3.1-405B — модель с большим количеством параметров и возможностью получения данных из интернета

https://chat.deepseek.com/coder — открытая модель для кодогенерации

https://huggingface.co/spaces/THUDM/CodeGeeX — ещё одна модель для кодогенерации

https://huggingface.co/spaces/sanchit-gandhi/whisper-jax?ref=paxi — модель для создания транскрипций аудио/видео

https://developers.sber.ru/gigachat/login — гигачат от сбера

https://beta.theb.ai/ — гейтвей на несколько моделей, к части слабых можно получить доступ бесплатно (Mistral 7B, Llama2 7B, Code Llama 7B)

Теги: gpt

comments powered by Disqus