Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эти методы не рекомендуется использовать для моделей рассуждения, таких как модели gpt-5 и o-серии.
Создание запроса может быть сложной задачей. В практике запрос помогает модели выполнить необходимую задачу, но это скорее искусство, чем наука, и часто требует опыта и интуиции для создания успешного запроса. Цель этой статьи — помочь вам приступить к работе с этим процессом обучения. В этой статье рассматриваются общие понятия и шаблоны, которые применяются ко всем моделям GPT. Однако важно понимать, что каждая модель ведет себя по-разному, поэтому обучение может не применяться одинаково ко всем моделям.
Примечание
Сведения о текущих руководствах и примерах API см. в Responses API и в справочнике по API моделей Azure OpenAI в Microsoft Foundry Models.
Основы
В этом разделе рассматриваются основные понятия и элементы запросов GPT.
Текстовые запросы — это взаимодействие пользователей с моделями GPT. Как и во всех формируемых языковых моделях, модели GPT пытаются создать следующую серию слов, которые, скорее всего, следует из предыдущего текста. Это как если бы мы говорили вам что первое приходит вам на ум, когда я говорю <prompt>? В приведенных ниже примерах показано это поведение. Учитывая первые слова известного текста, модель может точно продолжить текст.
| Командная строка | Завершение |
|---|---|
| Восемьдесят семь лет назад | Отцы основали на этом континенте новую нацию, задуманную в свободе и посвященную принципу, что все люди созданы равными. […] |
| "Зовите меня Шмаэл". | Несколько лет назад — неважно, как давно это было — имея в кошельке немного или совсем нет денег, и ничего особенного, чтобы заинтересовать меня на берегу, я думал немного поплавать и посмотреть на водные просторы мира. |
При разработке более сложных запросов полезно учитывать это фундаментальное поведение. Независимо от предоставленного запроса модель просто отвечает тем, что она считает наиболее вероятным (учитывая свои учебные данные и цели обучения). Если вы задаете вопрос в своем запросе, модель не следует отдельному коду Q&A, а скорее кажется, что отвечает на этот вопрос, так как ответ является наиболее вероятной реакцией на данный вопрос.
Компоненты запроса
При использовании API завершения, даже если отсутствуют различия между частями запроса, это всё ещё может быть полезно для обучения и обсуждения в целях выявления основных компонентов запроса. В API завершения чата есть отдельные разделы запроса, которые отправляются в API в виде массива словарей со связанными ролями: система, пользователь и помощник. В этом руководстве основное внимание уделяется формулировке подсказок, а не предоставлению предписных инструкций, относящихся к одному API вместо другого.
Кроме того, важно понимать, что хотя могут быть другие допустимые способы разбивать запросы, цель этого разбора заключается в том, чтобы предложить относительно простой способ думать о создании запросов. При использовании API завершения все компоненты являются необязательными, но хотя бы один должен присутствовать, и большинство запросов включают несколько компонентов. Между компонентами также может быть некоторая серая область. Порядок, представленный ниже, примерно соответствует частоте использования каждого компонента, от наиболее часто используемых к наименее используемым.
Инструкции
Инструкция, скорее всего, является наиболее часто используемым компонентом запроса. Инструкции — это просто инструкции для модели о том, что она должна делать. Хотя простые в концепции, они могут быть сложными на практике. В следующей таблице показано, как простые, так и более сложные инструкции в двух разных формах.
| Тип инструкции | Командная строка | Завершение |
|---|---|---|
| Простые инструкции | Напишите введение в еженедельный бюллетень. | Добро пожаловать в наш еженедельный бюллетень. На этой неделе мы особо уделяем внимание производительности. Мы будем делиться советами и трюками о том, как быть продуктивным во всех областях вашей жизни. Мы надеемся, что вы наслаждаетесь и пожалуйста поделитесь своими друзьями! |
| Сложные инструкции | Напишите введение для еженедельного информационного бюллетеня для компании Contoso. Следует упомянуть об общей встрече, прошедшей на прошлой неделе, и поблагодарить команду за усердную работу в последние несколько тяжелых месяцев. | Добро пожаловать в еженедельный бюллетень Contoso! У нас была большая общая встреча на прошлой неделе, и я хочу поблагодарить команду за всю их тяжелую работу в течение трудных последних нескольких месяцев. Мы с нетерпением ждем светлого будущего, и я уверен, что с преданностью и приверженностью нашей команды, мы сделаем большие вещи. Спасибо за то, что я являюсь частью нашей команды, и я с нетерпением жду работы со всеми вами в ближайшие недели и месяцы. Искренне, [Ваше имя]. |
| Сложные инструкции | Напишите введение в еженедельный бюллетень, в том числе следующие: — Моя компания называется contoso - Жизнерадостное приветствие - Спасибо команде за их трудную работу в течение нескольких трудных месяцев - Положительный прогноз на ближайший квартал - Подписано руководящей группой SLT |
Здравствуйте, команда Contoso! Я хотел взять на себя минуту, чтобы поблагодарить вас за всю вашу трудовую работу за последние несколько месяцев. Это были трудные пару месяцев, но вы все сплотились и проделали потрясающую работу. Я очень горжусь тобой. Глядя вперед к следующему кварталу, я чувствую себя действительно положительным. Я думаю, что мы собираемся достичь некоторых великих вещей. Еще раз благодарим команду старшего руководства. |
Основное содержимое
Основное содержимое ссылается на какой-то текст, который обрабатывается или преобразуется моделью. Основное содержимое обычно используется вместе с инструкциями. Простым примером будет перевод языка. В приведенном ниже примере английский текст будет рассматриваться как основное содержимое, а "Перевод на французский:" — это инструкция.
| Командная строка | Завершение |
|---|---|
| Можете ли вы сказать мне, как добраться до музея? Перевод на французский: |
Pouvez-vous s'il vous plaît me dire comment aller au musée? |
Основное содержимое также может быть гораздо длиннее. В следующем примере основное содержимое — это введение из записи Википедии о сложности времени, которая составляет почти 300 слов. Это содержимое сокращено в таблице для удобства отображения.
| Командная строка | Завершение |
|---|---|
| В информатике временная сложность — это вычислительная сложность, описывающая время выполнения алгоритма. Сложность времени обычно оценивается [...] Суммирует предыдущий текст в нескольких предложениях: |
Сложность времени — это мера продолжительности выполнения алгоритма. Обычно оно выражается как функция размера входных данных. Наиболее распространенной мерой является сложность времени худшего случая, которая является максимальным временем, необходимым для входных данных заданного размера. |
В информатике временная сложность — это вычислительная сложность, описывающая время выполнения алгоритма. Сложность времени обычно оценивается [...]TL;DR (Слишком долго не читался) |
Сложность алгоритма — это время, необходимое для выполнения алгоритма. Сложность времени обычно оценивается путем подсчета количества простых операций, выполняемых алгоритмом, предполагая, что каждая элементарная операция занимает фиксированное время для выполнения. Сложность времени обычно выражается как функция размера входных данных. |
Модели GPT также могут обрабатывать основное содержимое, структурированное. В приведенном ниже примере TSV о beers в Бельгии (сокращенном для отображения в этой статье) передается модели в рамках запроса. Он способен правильно интерпретировать содержимое и отвечать на вопросы о данных.
| Командная строка | Завершение |
|---|---|
Belgian Beer Brands Beer name Beer style color ABV Brewery"Chimay Gold: ""Doree""" trappist pale ale gold 4.80% Chimay Brewery (official trappist)"Chimay Blue: ""Grande Reserve""" trappist dark ale dark 9.00%[…] Исходя из таблицы выше, сколько сортов пива с содержанием алкоголя ниже 6%? |
На столе 10 пив с содержанием алкоголя менее 6% ABV. |
Примеры
Успешные запросы часто полагаются на практику "обучения с одного примера" или "обучения с нескольких примеров". Это относится к включению одного или нескольких примеров требуемого поведения модели, как правило, путем включения пар входных и выходных данных. Это не является обучением в том смысле, что модель постоянно меняется, но примеры лучше подготавливают модель для реакции, как необходимо, только на текущий запрос. Использование запросов без примеров иногда называется обучением с нулевым примером. Обратите внимание, что при использовании API завершения чата примеры few-shot learning обычно добавляются в массив сообщений в виде примеров взаимодействия пользователей и помощников после первоначального системного сообщения.
| Тип обучения | Командная строка | Завершение |
|---|---|---|
| Ноль выстрел | Заголовок: Тренер уверен, что травма не выбьет из строя "Воинов" Тема: |
Тренер уверен, что травма не сорвет сезон Warriors. Команда по-прежнему сосредоточена на своих целях, и что они будут продолжать работать над их достижением. |
| Несколько выстрелов | Заголовок: Корреа от «Миннесота Твинс» воспользуется опцией выхода и протестирует рынок свободных агентов. Тема: Бейсбол Заголовок: Чемпионат мира в Катаре будет иметь зоны для отрезвления Тема: Футбол Заголовок: Yates: информация по фэнтези футболу на 6 неделю Тема: Футбол Заголовок: Тренер уверен, что травма не выбьет из строя "Воинов" Тема: |
Баскетбол |
В приведенном выше примере показана полезность обучения с небольшим количеством примеров. Без примеров модель, кажется, догадывается о требуемом поведении, в то время как примеры четко показывают, как работать модель. Это также демонстрирует силу модели. Она может определить категорию метки, которая нужна, даже если в примерах отсутствует метка "баскетбол".
Сигнал
Подсказки действуют как "стартовый импульс" для выходных данных модели, помогая направлять модель к желаемому результату. Часто это префикс, на основе которого модель может строиться. В приведенном ниже примере мы показываем подсказку, направляюющую историю, чтобы включить ключевые элементы. Подсказки часто используются вместе с инструкциями, но не всегда. На приведенных ниже примерах модель используется для составления краткого изложения длинного электронного письма с объявлением. Подсказка используется в одном случае, чтобы сосредоточить внимание на выходных данных модели, а в другом - предложить определенный формат вывода (маркированный список).
В контексте инструкций API завершения чата формируется системное сообщение, а примеры с несколькими снимками указываются путем предоставления ряда примеров взаимодействия с пользователем и помощником, которые помогут создать модель.
| Количество подсказок | Командная строка | Завершение |
|---|---|---|
| 0 | Обзоры производительности — это основной компонент нашего подхода к повышению производительности и разработке в Компании Contoso. […] Сводные данные по приведенному выше сообщению электронной почты: |
Эта электронная почта предназначена для информирования сотрудников о последних изменениях в интерфейсе проверки производительности, который является частью подхода компании Contoso в области производительности и разработки. Изменения включают улучшенную структуру, модернизированный пользовательский опыт внутри инструмента и целенаправленные подсказки. Кроме того, теперь есть дополнительный раздел "Начальные беседы" для сотрудников, чтобы пометить темы, которые они хотели бы обсудить со своими руководителями. |
| 1 | Обзоры производительности — это основной компонент нашего подхода к повышению производительности и разработке в Компании Contoso. […] Сводные данные по приведенному выше сообщению электронной почты: Ключевым выводом сообщения является |
Компания Contoso улучшает возможности проверки производительности, делая ее более ориентированной на основные приоритеты, ожидания и влияние. Кроме того, они обновляют интерфейс пользователя с подсказками, ресурсами и рекомендациями. Наконец, они добавляют рекомендации по активации основных приоритетов всей компании. |
| 2 | Обзоры производительности — это основной компонент нашего подхода к повышению производительности и разработке в Компании Contoso. […] Сводные данные по приведенному выше сообщению электронной почты: Ключевые моменты: • |
Компания Contoso вводит изменения в интерфейс проверки производительности на основе отзывов сотрудников. • Изменения включают новое внимание на основные приоритеты, ожидания и влияние; обновленное взаимодействие с пользователем; и новые рекомендации по основным приоритетам всей компании. • Обзоры производительности — это время для отражения прошлых показателей производительности и обучения, а также планирования будущих приоритетов и возможностей роста. • Сотрудники и руководители должны писать комментарии перед собранием по проверке производительности. • В год должно быть по крайней мере два обзора производительности. • Затраты на время для каждой проверки должны оставаться примерно одинаковыми. |
Вспомогательное содержимое
Вспомогательное содержимое — это информация, которую модель может использовать для влияния на выходные данные каким-то образом. Он отличается от основного содержимого в том, что он не является основным целевым объектом задачи, но обычно используется вместе с основным содержимым. Распространенные примеры включают контекстную информацию, например текущую дату, имя пользователя, предпочтения пользователя и т. д. В приведенном ниже примере используется вспомогательное содержимое для организации набора запланированных семинаров для пользователя. Без поддержки, чтобы поддерживать важные темы, модель просто перечисляет семинары (усеченные для отображения). Когда модель уведомлена о моих важных темах, она может точно группировать собрания.
| Вспомогательное содержимое | Командная строка | Завершение |
|---|---|---|
| Без | Список семинаров: Описание заголовка Присоединяйтесь к нам на открытие нашего семинара! Узнайте от наших лидеров о приоритетах взаимодействия между группами и уроках на предстоящий год. Приглашение на это событие уже отправлено всем пользователям в [...] Обобщайте приведенные выше семинары, сгруппированные по разделу: |
Список семинаров: Начало семинара по планированию -Планирование семинара: заключение — Core MeetUp — Перспективы, управляемые клиентом -Влияние и ключевые области фокуса -Рекомендации -Ускорение внедрения приложений [...] |
| С | Список семинаров: Описание заголовка Присоединяйтесь к нам на открытие нашего семинара! Узнайте от наших лидеров о приоритетах взаимодействия между группами и уроках на предстоящий год. Приглашение на это событие уже отправлено всем пользователям в [...] Мои важные темы: инженерия подсказок, поиск, модели GPT Обобщайте приведенные выше семинары, сгруппированные по моим важным темам: |
1. Проектирование запросов: - Новые советы по проектированию запросов - Искусство разработки подсказок 2. Поиск: -Введение в векторный поиск с внедрением 3. Модели GPT: — введение в GPT-4 Подробный обзор GPT-35-Turbo. |
Руководство по конкретному сценарию
Техники в этом разделе научат вас стратегиям повышения точности и обоснованности ответов, которые вы создаете с помощью крупной языковой модели (LLM). Однако важно помнить, что даже при эффективной инженерии запросов необходимо валидировать ответы, создаваемые моделями. Просто потому, что тщательно созданный запрос работал хорошо для определенного сценария, не обязательно означает, что он будет обобщен более широко для определенных вариантов использования. Понимание ограничений LLM так же важно, как понять, как использовать их сильные стороны.
В этом руководстве не подробно описана структура сообщений для завершения чата. Если вы не знакомы с моделями завершения чата программными средствами, рекомендуем сначала ознакомиться с нашим руководством по API завершения чата.
Примечание
Все примеры, приведенные в этом разделе руководства, были проверены на основе базовой модели GPT-4 на английском языке. Некоторые методы могут создавать различные результаты с более новыми моделями, такими как gpt-4.1, и gpt-4.5. Если вы читаете локализованную версию этой статьи на другом языке, эти ответы представляют локализованный перевод результатов английского языка. Чтобы узнать больше о потенциальных ограничениях в зависимости от того, какой язык вы используете для запроса модели, ознакомьтесь с нашим примечанием о прозрачности ответственного искусственного интеллекта.
Обучение с малым количеством примеров
Распространенный способ адаптации языковых моделей к новым задачам — это использование обучения на малом количестве примеров. В обучении с малым количеством примеров набор учебных примеров предоставляется в качестве примера для дополнения контекстом модели.
При использовании API завершения чата ряд сообщений между пользователем и помощником (написанных в новом формате запроса) может служить примером для обучения с использованием нескольких примеров. Эти примеры можно использовать для создания модели для реагирования определенным образом, эмуляции конкретных действий и начальных ответов на распространенные вопросы.
| Системное сообщение | Примеры с несколькими выстрелами |
|---|---|
| Помощник — это интеллектуальный чат-бот, предназначенный для того, чтобы помочь пользователям ответить на свои налоговые вопросы. Инструкции - Ответить только на вопросы, связанные с налогами. - Если вы не уверены в ответе, вы можете сказать: "Я не знаю" или "Я не уверен" и рекомендует пользователям перейти на веб-сайт IRS для получения дополнительной информации. |
Пользователь — "Когда нужно подать налоги?" Помощник - "В 2023 году вам потребуется подать налоги к 18 апреля. Дата падает после обычного крайнего срока 15 апреля, потому что 15 апреля падает на субботу в 2023 году. Дополнительные сведения см. в разделе https://www.irs.gov/filing/individuals/when-to-file " Пользователь : "Как проверить состояние моего налогового возмещения?" Помощник - "Вы можете проверить состояние вашего налогового возврата, посещая https://www.irs.gov/refunds " |
В приведенной выше таблице описана базовая структура запроса, но для подробного объяснения точного формата запроса вам потребуется обратиться к руководству по завершению чата.
Сценарии без чата
Хотя API завершения чата оптимизирован для работы с несколькими беседами, он также можно использовать для сценариев, отличных от чата. Например, для сценария анализа тональности можно использовать следующую подсказку:
| Системное сообщение | Пользователь | Помощник |
|---|---|---|
| Вы являетесь помощником, предназначенным для анализа тональности на основе речевых данных. Пользователи вставляют строку текста, и вы будете отвечать на оценку ответа говорящего. Ставка по шкале от 1 до 10 (10 является самой высокой). Объясните, почему этот рейтинг был дан. | Привет, спасибо за ваш звонок в аптеку Contoso. С кем я разговариваю сегодня? Я понимаю ваше разочарование, Мэри. Можете сказать мне, что именно вы пытаетесь достичь? Хорошо, рад проверить это для вас, один момент, пожалуйста. Я вижу здесь, что вы принимали генерическую форму Липитора, правильно? ОК, вижу, ваш врач перестал назначать эти препараты в две тысячи двадцать первом году. Да, я был бы рад проверить это для вас, потому что иногда возникает разрыв в системе, и это просто не фиксируется, так что позвольте мне посмотреть здесь всего один момент. Я вижу, ваш врач назначал вам эти препараты с две тысячи двенадцатого по две тысячи двадцать первый год. Согласно последним записям, предоставленным кабинетом врача, вы сейчас принимаете другой препарат, метформин. Хотели бы вы, чтобы мы оформили рецепт для вас на метформин пятьсот миллиграммов для получения? Пожалуйста, Мэри, дайте нам знать, если есть что-то еще, что мы можем сделать для вас сегодня. | Оценка тональности: 8 Докладчик в этом тексте, кажется, вежливый, полезный и терпеливый при решении проблем клиента. Они занимают время для проверки информации, предоставления четких объяснений и предоставления помощи. Тем не менее, рейтинг не 10, потому что в некоторых частях беседы все еще остается намек на неопределенность, что может не передать полное доверие клиенту. |
Начните с четких инструкций
Сведения о последовательности отображаются в вопросах запроса. Это связано с тем, что модели стиля GPT создаются определенным образом, определяющим способ обработки входных данных. Наше исследование предполагает, что предоставление модели задачи, которую вы хотите сделать в начале запроса, прежде чем предоставлять дополнительные контекстные сведения или примеры, могут помочь получить более качественные выходные данные.
Примечание
Несмотря на то, что следование этой методике все еще обычно рекомендуется, наши тесты показали, что в отличие от предыдущих версий моделей (GPT-3 и более ранних), ответ моделей ChatGPT и GPT-4 был одинаковым, независимо от использования этой методики. В этом примере мы видим, что добавление инструкции "Несколько источников ... извержение" в начале или конце запроса не вызвало никаких изменений в окончательном ответе модели.
| Системное сообщение | Пользователь | Помощник |
|---|---|---|
| Вы помощник по искусственному интеллекту, который помогает людям находить информацию. | Ваша задача заключается в том, чтобы проверить, поддерживается ли утверждение "Несколько источников упоминают вероятность другого большого извержения" конкретной цитатой из следующих фрагментов. --- ФРАГМЕНТЫ [1] Существует 14-процентная вероятность того, что мегаземлетрясение произойдет в Сиэтле, говорят эксперты. СИЭТЛ - По оценкам Геологической службы США, в ближайшие 50 лет существует 14-процентная вероятность землетрясения магнитудой 9 баллов в районе Каскадия, которое может ударить Сиэтл. "К сожалению, нам не удается... [2] Эксперты по землетрясениям представили последний прогноз для Сиэтла на случай "Огромного землетрясения" "Мы говорим, что есть примерно 14% шанс того, что в ближайшие 50 лет произойдет другое землетрясение приблизительно магнитудой 9," сказал геофизик в Университете Вашингтона. --- Является ли заявление "Несколько источников упоминают вероятность ещё одного крупного извержения" напрямую подразумеваемым или заявленным фрагментами? |
Нет, инструкция не подразумевается напрямую или указывается фрагментами кода. Фрагменты упоминают вероятность "мега-землетрясения" и "землетрясения магнитудой 9 в регионе Каскадия", которое может ударить по Сиэтлу в ближайшие 50 лет, но не упоминается вероятность другого крупного извержения. |
Повторите инструкции в конце
Модели могут быть подвержены предвзятости, что в этом контексте означает, что информация в конце запроса может иметь более значительное влияние на выходные данные, чем сведения в начале запроса. Поэтому стоит поэкспериментировать с повтором инструкций в конце запроса и оценкой влияния на созданный ответ.
Подготовьте выходные данные
Это относится к добавлению нескольких слов или фраз в конце запроса, чтобы получить ответ модели, следующий за требуемой формой. Например, с помощью подсказки, например “Here’s a bulleted list of key points:\n- ” , можно убедиться, что выходные данные форматируются в виде списка маркеров.
| Системное сообщение | Пользователь | Помощник |
|---|---|---|
| Вы помощник по искусственному интеллекту, который помогает людям находить информацию. Ответьте как можно короче. | Джон Смит женат на Люси Смит. У них пять детей, и он работает инженером по программному обеспечению в Microsoft. Какие поисковые запросы следует выполнить для проверки фактов? ## Один из возможных поисковых запросов: | Джон Смит женился на Люси Смит, имеет пятерых детей, работает инженером по программному обеспечению в Microsoft. |
В приведенном выше запросе текст Один из возможных поисковых запросов: примитивирует модель для производства единственного вывода. Без этого подсказки модель создает несколько поисковых запросов в качестве выходных данных.
Добавление четкого синтаксиса
Используйте четкий синтаксис для запроса, чтобы сообщить о намерении и упростить анализ выходных данных.
В приведенном ниже примере разделители (--- в данном случае) были добавлены между различными источниками информации или этапами. Это позволяет использовать --- в качестве условия остановки для генерирования. Кроме того, заголовки разделов или специальные переменные представлены в верхнем регистре для их отличия.
| Системное сообщение | Пользователь | Помощник |
|---|---|---|
| Вы помощник по искусственному интеллекту, который помогает людям находить информацию. | Вы читаете абзац, а затем вводите запросы в поисковую систему, чтобы проверить его. Кроме того, объясните запросы. --- АБЗАЦ Джон Смит женат на Люси Смит. У них пять детей, и он работает инженером по программному обеспечению в Microsoft. Какие поисковые запросы следует выполнить для проверки фактов? --- ЗАПРОСЫ |
1. "Джон Смит Microsoft" - Чтобы проверить, действительно ли Джон Смит работает на Microsoft. 2. "Джон Смит Люси Смит" - чтобы проверить, женат ли Джон Смит на Люси Смит. 3. "Дети Джона Смита" - Чтобы понять, есть ли у Джона Смита пятеро детей. |
Если вы не уверены, какой синтаксис следует использовать, рекомендуется использовать Markdown или XML. Модели были обучены на большом количестве веб-содержимого в XML и Markdown, что может обеспечить лучшие результаты.
Разделить задачу на части
Крупные языковые модели (LLM) часто выполняются лучше, если задача разбита на меньшие шаги. Например, в примере запроса, о котором упоминалось ранее, подсказка может быть реструктурирована таким образом, чтобы модель сначала была проинструктирована извлечь соответствующие факты, а затем создать поисковые запросы, которые можно использовать для проверки этих фактов.
| Системное сообщение | Пользователь | Помощник |
|---|---|---|
| Вы помощник по искусственному интеллекту, который помогает людям находить информацию. | Вы читаете абзац, а затем вводите запросы в поисковую систему, чтобы проверить его. --- АБЗАЦ Джон Смит женат на Люси Смит. У них пять детей, и он работает инженером по программному обеспечению в Microsoft. Какие поисковые запросы следует выполнить для проверки фактов? --- Теперь вы извлекаете фактические утверждения и выдаете запросы для проверки фактов. При выполнении запроса используйте функцию SEARCH("query") ФАКТИЧЕСКИЕ УТВЕРЖДЕНИЯ |
1. Джон Смит женат на Люси Смит 2. У них пять детей 3. Он работает инженером по программному обеспечению в Microsoft ЗАПРОСЫ SEARCH("Джон Смит женился на Люси Смит") SEARCH("Джон Смит размер семьи") SEARCH("Джон Смит Microsoft инженер программного обеспечения") |
Обратите внимание на использование четкого синтаксиса для различения разделов и выделения выходных данных. В этом простом примере разбиение задачи на два этапа вместо одного не кажется значительным, но при работе с более крупным текстом, содержащим множество фактических утверждений, такое разбиение может значительно повлиять.
Использование возможностей
Иногда можно заставить модель использовать функциональность вместо того, чтобы полагаться на свои собственные параметры для получения информации и ответов. Поиск, например, может быть средством, чтобы помочь смягчить влияние сфабрикованных ответов, а также получить актуальную информацию.
Одним из простых способов использования атрибутов является остановка генерации после того, как модель создает вызовы атрибутов, затем вставьте результаты обратно в запрос. Ниже приведен пример того, каким может быть дальнейший вызов после выполнения вышеупомянутых вызовов SEARCH. Обратите внимание, что мы вставили результаты поиска в запрос и заменили предыдущие вызовы SEARCH .
| Системное сообщение | Пользователь | Помощник |
|---|---|---|
| Вы помощник по искусственному интеллекту, который помогает людям находить информацию. | Вы прочитаете абзац, извлеките фактические утверждения, а затем используйте результаты поисковой системы для проверки их фактов --- АБЗАЦ Джон Смит женат на Люси Смит. У них пять детей, и он работает инженером по программному обеспечению в Microsoft. Какие поисковые запросы следует выполнить для проверки фактов? --- ФАКТИЧЕСКИЕ УТВЕРЖДЕНИЯ - Джон Смит женат на Люси Смит - Джон и Люси имеют пять детей - Джон работает инженером по программному обеспечению в Microsoft --- Ниже приведены различные поисковые запросы, выданные для исследования приведенных выше утверждений: ПОИСКОВЫЕ ЗАПРОСЫ - Джон Смит женат на Люси Смит - Джон Смит число детей - Джон Смит инженер-программист Microsoft --- Ниже приведены фрагменты результатов поиска: ФРАГМЕНТЫ: [1] … Свадьба Джона Смита была 25 сентября 2012 года ... [2] … Джон Смит сопровождал свою жену Люси на вечеринку [3]Джон сопровождался в футбольную игру своими двумя дочерями и тремя сыновьями [4] … Проведя 10 лет в Microsoft, Смит основал свой собственный стартап, Tailspin Toys [5] Джон М является городским смитом, и он женился на Фионе. У них есть дочь по имени Люси --- Учитывая фрагменты кода, проверьте каждый из приведенных выше фактических утверждений: |
- Джон Смит женат на Люси Смит: Подтверждено. Фрагмент [1] и [2] оба упоминают жену Джона Смита как Люси. - Джон и Люси имеют пять детей: подтверждено. Фрагмент [3] упоминает, что Джон сопровождался своими двумя дочерями и тремя сыновьями. - Джон работает инженером по программному обеспечению в Microsoft: частично подтверждено. Фрагмент [4] упоминает, что Джон провел 10 лет в Microsoft, но это не явно указывает, что он в настоящее время работает там. Для подтверждения его текущего статуса занятости может потребоваться дальнейшее исследование. |
Цепочка мыслительных подсказок
Важно
Этот метод применим только для нерефлексивных моделей. Попытка извлечь рассуждения модели с помощью методов, отличных от параметра сводки рассуждений, это не поддерживается, может нарушить политику приемлемого использования и может привести к ограничению или приостановке при обнаружении.
Это вариант разбиения задачи на части. Вместо разделения задачи на более мелкие шаги, в этом подходе ответ модели должен следовать пошаговым инструкциям и представить все вовлеченные шаги. Это снижает вероятность неточности результатов и упрощает оценку ответа на модель.
| Системное сообщение | Пользователь | Помощник |
|---|---|---|
| Вы помощник по искусственному интеллекту, который помогает людям находить информацию. | Кто был самым титулованным индивидуальным спортсменом на Олимпийских играх в Сиднее? Используйте пошаговый подход в вашем ответе, приведите источники и обоснуйте ответ, прежде чем предоставить окончательный ответ в следующем формате: ANSWER: <name> |
Шаг 1. Определение года Олимпийских игр Сиднея. Олимпийские игры Сиднея были проведены в 2000 году. Шаг 2. Найти список отдельных спортсменов, которые выиграли несколько медалей в 2000 сиднейских Олимпийских играх. По данным официального веб-сайта Олимпийских игр, были несколько отдельных спортсменов, которые выиграли несколько медалей в Олимпийских играх в Сиднее в 2000 году. Ниже перечислены некоторые из известных имен: • Ян Торп (Австралия) - 3 золота, 2 серебра, 0 бронзы • Pieter van den Hoogenband (Нидерланды) - 2 золото, 0 серебро, 2 бронза • Ленни Крайзелбург (США) - 3 золота, 0 серебра, 0 бронзы • Inge de Bruijn (Нидерланды) - 3 золота, 1 серебро, 0 бронза Шаг 3. Определите спортсмена с большинством медалей. После просмотра списка отдельных спортсменов, которые выиграли несколько медалей в 2000 сиднейских Олимпийских играх, мы видим, что спортсмен с большинством медалей является Ян Торп из Австралии, который выиграл в общей сложности 5 медалей (3 золото и 2 серебро). Таким образом, ОТВЕТ: Ян Торп. |
Определение структуры вывода
С помощью вашего запроса для указания структуры выходных данных можно значительно повлиять на характер и качество результатов. Иногда входные данные системных сообщений, такие как "только истинные факты" или "не выдумывать информацию", могут оказаться недостаточными. Вместо этого просьба, чтобы ответ модели также включал ссылки, может привести к уменьшению распространенности неправильных ответов.
Если вы указываете модели ссылаться на исходный материал при составлении утверждений, эти утверждения гораздо чаще будут обоснованными. Запрос ссылок делает это так, чтобы модель должна делать две ошибки каждый раз, когда она создает ответ: первая ошибка — это сгенерированный ответ, а второй — плохая ссылка. Обратите внимание, что чем ближе цитата к тексту, который она поддерживает, тем меньше расстояние, на которое модели необходимо предвидеть цитату, что говорит о том, что встроенные цитаты лучше снижают вероятность генерации ложного контента, чем цитаты в конце текста.
Аналогичным образом, если вы попросите модель извлечь фактические инструкции из абзаца, это может извлечь составные инструкции, такие как "X выполняет Y AND Z" (что может быть труднее проверить). Это можно избежать, указав выходную структуру, например (entity1, relationship, entity2).
В этом примере показано использование ссылок и направление ответа модели в соответствии с определенной структурой.
| Системное сообщение | Пользователь | Помощник |
|---|---|---|
| Вы помощник по искусственному интеллекту, который помогает людям находить информацию | Перечислите различные типы поведения агента службы поддержки клиентов в следующем разговоре. --- Привет, спасибо за ваш звонок в аптеку Contoso. С кем я разговариваю сегодня? Я понимаю ваше разочарование, Мэри. Можете сказать мне, что именно вы пытаетесь достичь? Хорошо, рад проверить это для вас, один момент, пожалуйста. Я вижу здесь, что вы принимали генерическую форму Липитора, правильно? ОК, вижу, ваш врач перестал назначать эти препараты в две тысячи двадцать первом году. Да, я был бы рад проверить это для вас, потому что иногда возникает разрыв в системе, и это просто не фиксируется, так что позвольте мне посмотреть здесь всего один момент. Я вижу, ваш врач назначал вам эти препараты с две тысячи двенадцатого по две тысячи двадцать первый год. Согласно последним записям, предоставленным кабинетом врача, вы сейчас принимаете другой препарат, метформин. Хотели бы вы, чтобы мы оформили рецепт для вас на метформин пятьсот миллиграммов для получения? Пожалуйста, Мэри, дайте нам знать, если есть что-то еще, что мы можем сделать для вас сегодня. --- Как был ответ агента службы поддержки клиентов? Классифицируйте и перечисляйте их различные поведения и ссылайтесь на причину классификации, используя формат BEHAVIOR("причина") |
1. Вежливое поведение приветствия("Агент начинает беседу с вежливым приветствием и просит имя вызывающего абонента") 2. Эмпатическое ПОВЕДЕНИЕ("Агент признает разочарование Мэри и пытается понять ее озабоченность") 3. Внимательное ПОВЕДЕНИЕ ("Агент прослушивает проблему клиента и просит дополнительные сведения") 4. Упреждающее ПОВЕДЕНИЕ ("Агент предлагает проверить проблему для клиента") 5. Информативное ПОВЕДЕНИЕ("Агент предоставляет соответствующие сведения об истории рецептов клиента") 6. Тщательное ПОВЕДЕНИЕ("Агент проверяет наличие возможных пробелов в системе и обеспечивает полный ответ") 7. Подтверждающее поведение("Агент подтверждает текущие лекарства у клиента") 8. Ориентированное на решение ПОВЕДЕНИЕ("Агент предлагает заполнить новый рецепт для клиента") 9. Вежливый ПОВЕДЕНИЕ("Агент благодарит клиента и предлагает дополнительную помощь при необходимости") |
| Системное сообщение | Пользователь | Помощник |
|---|---|---|
| Вы помощник по искусственному интеллекту, который помогает людям находить информацию. | Сгруппировать следующие заголовки новостей в тематические категории на основе шаблонов, обнаруженных в тексте. Также упоминается о том, как были определены эти категории. Формат выходных данных: { "TOPIC_NAME": "", "ЗАГОЛОВКИ": [], "ПРИЧИНА": "" } Входные заголовки новостей: 1. "Из книг в презентации за 10 секунд с помощью AR + ML" 2. "Демонстрация из 1993 года Yann LeCun, показывающая первую в мире 32-разрядную сверточную сеть для распознавания текста"3. "Модель движения первого порядка применяется для анимации картин" 4. "Robinhood и другие брокеры буквально блокируют покупку $GME, $NOK, $BB, $AMC; разрешают продажи" 5. Акции United Airlines упали более чем на 5% на предварительных торгах Выход: |
{ "ИСКУССТВЕННЫЙ_ИНТЕЛЛЕКТ": { "ЗАГОЛОВКИ": [ От книг к презентациям за 10 секунд с помощью AR + ML Демонстрация 1993 года Yann LeCun, показывающая первую в мире сверточную сеть для распознавания текста.Модель движения первого порядка применяется для анимации картин ], "REASONING": "Эти заголовки связаны с искусственным интеллектом, машинным обучением и их приложениями в различных областях". }, "ФИНАНСОВЫЕ_РЫНКИ": { "ЗАГОЛОВКИ": [ Robinhood и другие брокеры буквально блокируют покупку $GME, $NOK, $BB, $AMC, но позволяют продажи. Акции компании United Airlines упали более чем на 5% в ходе предварительных торгов. Биткоин был почти $20,000 ровно год назад. ], "ПРИЧИНА": "Эти заголовки связаны с финансовыми рынками, акциями, криптовалютами и торговыми платформами". } } |
Параметры температуры и Top_p
Изменение параметра температуры изменяет выходные данные модели. Параметр температуры можно задать от 0 до 2. Более высокое значение, например 0.7, добавляет больше случайности в результаты и создает более дивергентные ответы, в то время как меньшее значение, например 0.2 делает выходные данные более ориентированными и конкретными. Вымышленная история может быть создана с помощью более высокой температуры. В то время как для создания юридического документа рекомендуется использовать гораздо более низкую температуру. Top_probability является другим параметром и похож на температуру в том, что он также управляет случайностью ответа модели, но это делает это другим способом. Общая рекомендация заключается в изменении одного из этих двух параметров одновременно, а не обоих.
Предоставление основного контекста
Одним из наиболее эффективных способов предоставления надежных ответов является предоставление модели данных, от которых модель может черпать свои ответы (основные данные). Если ваш сценарий использования опирается на актуальную, надежную информацию и не является исключительно творческим, мы настоятельно рекомендуем предоставлять обоснованные данные. Как правило, чем ближе вы можете получить исходный материал к окончательной форме нужного ответа, тем меньше работы модели необходимо сделать, что означает, что существует меньше возможностей для ошибки. Приведен пример, когда системе предоставлен блог, описывающий запуск GPT-4 в Azure OpenAI в Microsoft Foundry Models, и требуется назвать некоторых из его первых клиентов.
| Системное сообщение | Пользователь | Помощник |
|---|---|---|
| Вы помощник по искусственному интеллекту, который помогает людям находить информацию. Вы предоставите ответы исключительно из приведенного ниже текста и ответив в 100 словах или меньше. "В Microsoft мы постоянно обнаруживаем новые способы развязать творчество, разблокировать производительность и повысить уровень навыков, чтобы больше людей могли воспользоваться ИИ. Это позволяет нашим клиентам ... … Тем самым снижается вероятность того, что модель создает вредную реакцию". 1 Ответ на 100 слов или меньше. Используйте списки маркеров везде, где это возможно. |
Кто является некоторыми из ранних клиентов моделей Azure OpenAI GPT-4? | Ниже приведены некоторые из ранних клиентов моделей Azure OpenAI GPT-4: - Эпическое здравоохранение: они планируют использовать GPT-4, чтобы помочь врачам и медсестрам тратить меньше времени на запись данных и исследование. - Coursera: они используют Azure OpenAI с GPT-4 для создания нового интерфейса обучения на основе искусственного интеллекта на своей платформе. - Coca-Cola: они используют Azure OpenAI для создания центра знаний и планирования использования мультимодальных возможностей GPT-4 для маркетинга, рекламы, общественных отношений и отношений клиентов. - Другие компании всех размеров используют Azure AI для улучшения взаимодействия с клиентами, суммирования длинных текстов, помощи в разработке программного обеспечения и снижения риска путем прогнозирования соответствующих данных о налогах. |
1 текст из Azure блог о запуске OpenAI GPT-4.
Лучшие практики
- Будьте конкретными. Оставьте как можно меньше интерпретации. Ограничить рабочее пространство.
- Будьте описательными. Используйте аналогии.
- Дважды вниз. В некоторых случаях может потребоваться повторить себя для модели. Дайте инструкции до и после основного содержимого, используйте инструкцию и подсказку и т. д.
- Вопросы заказа. Порядок представления сведений модели может повлиять на выходные данные. Размещение инструкций перед содержимым («суммируйте следующее…») или после («суммируйте вышеупомянутое…») может повлиять на результат. Даже порядок примеров с несколькими выстрелами может иметь значение. Это называется предвзятостью новизны.
- Присвойте модели значение out. Иногда это может быть полезно, чтобы предоставить модели альтернативный путь, если он не может завершить назначенную задачу. Например, когда задаёте вопрос по фрагменту текста, можно попросить что-то вроде "ответить 'не найдено', если ответ не найден". Это поможет модели избежать генерации неверных ответов.
Эффективность пространства
Хотя размер входных данных увеличивается при каждом новом поколении моделей GPT, будут продолжаться сценарии, предоставляющие больше данных, чем модель может обрабатывать. Модели GPT разбивают слова на "токены". В то время как распространенные многосложные слова часто являются одним токеном, менее распространенные слова разбиваются на слоги. Иногда токены могут быть неинтуитивными, как показано в приведенном ниже примере, демонстрирующем границы токенов для разных форматов дат. В этом случае полное написание месяца является более экономным по пространству, чем полностью числовая дата.
Учитывая это ограниченное пространство, важно использовать его как можно эффективнее.
- Таблицы— как показано в примерах в предыдущем разделе, модели GPT могут легко понять табличные данные. Это может быть эффективным способом представления данных, который экономит место, вместо использования имени перед каждым полем (как в JSON).
- Пробелы — последовательные пробелы рассматриваются как отдельные токены, что может быть простым способом потратить память. Пробелы, предшествующие слову, с другой стороны, обычно рассматриваются как часть того же маркера, что и слово. Внимательно следите за использованием пробелов и не используйте знаки препинания, когда достаточно пробела.