Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Модели GPT-3, GPT-3.5, GPT-4 и GPT-4o от OpenAI работают на основе запросов. С моделями на основе текстовых подсказок пользователь взаимодействует, вводя текстовый запрос, на который модель отвечает завершением текста. Это завершение является продолжением исходного текста моделью. Эти методы не рекомендуется использовать для моделей серии o.
Хотя эти модели очень мощные, их поведение также очень зависит от подсказок. Поэтому развитие навыка правильного построения подсказок становится важным.
Создание запроса может быть сложной задачей. На практике запрос служит для настройки весов модели для выполнения требуемой задачи, но это скорее искусство, чем наука, часто требующее опыта и интуиции для составления успешного запроса. Цель этой статьи — помочь вам приступить к работе с этим процессом обучения. Она пытается записать общие понятия и шаблоны, которые применяются ко всем моделям GPT. Однако важно понимать, что каждая модель ведет себя по-разному, поэтому обучение может не применяться одинаково ко всем моделям.
Основы
В этом разделе рассматриваются основные понятия и элементы запросов 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 о пиве в Бельгии (сокращённом для отображения в этой статье) передаётся модели в рамках подсказки. Он способен правильно интерпретировать содержимое и отвечать на вопросы о данных.
Подсказка | Завершение |
---|---|
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 % ABV? |
На столе есть 10 пива, которые меньше 6 % ABV. |
Примеры
Эффективные запросы часто полагаются на практику «обучения с одного примера» или «обучения с нескольких примеров». Это относится к включению одного или нескольких примеров требуемого поведения модели, как правило, путем включения пар входных и выходных данных. Это не обучение в том смысле, что модель постоянно меняется, а примеры лучше настраивают модель, чтобы она реагировала так, как нужно, только для текущего вывода. Использование запросов без примеров иногда называется обучением без примеров. Обратите внимание, что при использовании API дополнения чата примеры обучения с использованием нескольких примеров обычно добавляются в массив сообщений в форме взаимодействий между пользователем и помощником после первоначального системного сообщения.
Тип обучения | Подсказка | Завершение |
---|---|---|
Ноль выстрел | Заголовок: Тренер уверен, что травма не собьет с пути Warriors Тема. |
Тренер уверен, что травма не сорвёт сезон «Уорриорз». Команда по-прежнему сосредоточена на своих целях, и что они будут продолжать работать над их достижением. |
Несколько выстрелов | Заголовок: Корреа из "Твинс" воспользуется опцией выхода и проверит свободное агентство Тема: Бейсбол Заголовок: На чемпионате мира в Катаре будут зоны для отрезвления Тема: Футбол Заголовок: Йейтс: советы по фэнтези-футболу на шестую неделю Тема: Футбол Заголовок: Тренер уверен, что травма не собьет с пути Warriors Тема. |
Баскетбол |
В приведенном выше примере иллюстрируется полезность обучения с малым количеством примеров. Без примеров модель, кажется, догадывается о требуемом поведении, в то время как примеры четко показывают, как работать модель. Это также демонстрирует силу модели, она может вывести категорию метки, которая нужна, даже без "баскетбола" метки в примерах.
Сигнал
Подсказки выступают в роли "стимула" для генерации выходных данных модели, помогая направить модель к желаемым результатам. Часто это префикс, на основе которого можно строить модель. В приведенном ниже примере мы показываем подсказку, направляюющую историю, чтобы включить ключевые элементы. Подсказки часто используются вместе с инструкциями, но не всегда. В приведенных ниже примерах модель используется для сводки длинного сообщения о объявлении. Подсказка используется в одном случае, чтобы сосредоточить выходные данные модели и предложить определенный формат вывода (точки маркера) в другом.
В контексте инструкций Chat Completion API инструкции принимают форму системного сообщения, а примеры с небольшой выборкой предоставляются в виде ряда взаимодействий пользователя и помощника, чтобы помочь адаптировать модель.
Количество подсказок | Подсказка | Завершение |
---|---|---|
0 | Обзоры производительности — это основной компонент нашего подхода к повышению производительности и разработке в Компании Contoso. […] Сводные данные по приведенному выше сообщению электронной почты: |
Эта электронная почта предназначена для информирования сотрудников о последних изменениях в интерфейсе проверки производительности, который является частью подхода компании Contoso в области производительности и разработки. Изменения включают улучшенную структуру, обновленный пользовательский опыт в инструменте и целевые подсказки. Кроме того, теперь есть дополнительный раздел "Начальные беседы" для сотрудников, чтобы пометить темы, которые они хотели бы обсудить со своими руководителями. |
1 | Обзоры производительности — это основной компонент нашего подхода к повышению производительности и разработке в Компании Contoso. […] Сводные данные по приведенному выше сообщению электронной почты: Ключевым выводом сообщения является |
Компания Contoso улучшает возможности проверки производительности, делая ее более ориентированной на основные приоритеты, ожидания и влияние. Кроме того, они обновляют интерфейс пользователя с подсказками, ресурсами и рекомендациями. Наконец, они добавляют рекомендации по активации основных приоритетов всей компании. |
2 | Обзоры производительности — это основной компонент нашего подхода к повышению производительности и разработке в Компании Contoso. […] Сводные данные по приведенному выше сообщению электронной почты: Основные моменты: • |
Компания Contoso вводит изменения в интерфейс проверки производительности на основе отзывов сотрудников. • Изменения включают новое внимание на основные приоритеты, ожидания и влияние; обновленное взаимодействие с пользователем; и новые рекомендации по основным приоритетам всей компании. • Обзоры производительности — это время для отражения прошлых показателей производительности и обучения, а также планирования будущих приоритетов и возможностей роста. • Сотрудники и руководители должны писать комментарии перед собранием по проверке производительности. • В год должно быть по крайней мере два обзора производительности. • Затраты на время для каждой проверки должны оставаться примерно одинаковыми. |
Вспомогательное содержимое
Вспомогательное содержимое — это информация, которую модель может использовать для влияния на выходные данные каким-то образом. Он отличается от основного содержимого в том, что он не является основным целевым объектом задачи, но обычно используется вместе с основным содержимым. Распространенные примеры включают контекстную информацию, например текущую дату, имя пользователя, предпочтения пользователя и т. д. В приведенном ниже примере используется вспомогательное содержимое для организации набора запланированных семинаров для пользователя. Без поддержки (важных тем) модель просто перечисляет семинары (укороченные для отображения), но когда модель информирована о моих важных темах, она может точно группировать собрания.
Вспомогательное содержимое | Подсказка | Завершение |
---|---|---|
Без | Список семинаров: Описание заголовка Начало семинара Пожалуйста, присоединяйтесь к нам на открытие нашего семинара! Вы услышите от наших лидеров о приоритетах между группами и выводах на следующий год. Приглашение на это событие уже отправлено всем пользователям в [...] Обобщайте приведенные выше семинары, сгруппированные по разделу: |
Список семинаров: Начало семинара по планированию -Семинар по планированию, подведение итогов — Core MeetUp — Перспективы, управляемые клиентом -Влияние и ключевые области фокуса -Рекомендации -Ускорение внедрения приложений [...] |
С | Список семинаров: Описание заголовка Начало семинара Пожалуйста, присоединяйтесь к нам на открытие нашего семинара! Вы услышите от наших лидеров о приоритетах между группами и выводах на следующий год. Приглашение на это событие уже отправлено всем пользователям в [...] Мои важные темы: поиск, поиск моделей GPT Обобщайте приведенные выше семинары, сгруппированные по моим важным темам: |
1. Проектирование запросов: - Новые советы по проектированию запросов - Искусство разработки подсказок 2. Поиск: -Введение в векторный поиск с внедрением 3. Модели GPT: — введение в GPT-4 GPT-35-Turbo в подробностях. |
Руководство по конкретному сценарию
Хотя принципы проектирования запросов можно обобщить для многих различных типов моделей, некоторые модели требуют специализированной структуры запроса. В настоящее время для моделей GPT в Azure OpenAI существуют два разных API, в которых вступает в игру инженерия запросов.
- API завершения чата.
- API завершения.
Каждый API требует форматирования входных данных по-разному, что, в свою очередь, влияет на общую структуру запросов. API завершения чата поддерживает модели GPT-35-Turbo и GPT-4. Эти модели предназначены для ввода в формате определенного чата, например расшифровки, хранящейся в массиве словарей.
Интерфейс завершения поддерживает старые модели GPT-3 и имеет гораздо более гибкие требования к входным данным, принимая строку текста без каких-либо определенных правил форматирования.
В этом разделе изложены методы и стратегии повышения точности и обоснованности ответов, которые вы формируете с помощью большой языковой модели (LLM). Однако важно помнить, что даже при эффективном использовании настроек запросов необходимо проверять ответы, генерируемые моделями. Просто потому, что тщательно созданный запрос работал хорошо для определенного сценария, не обязательно означает, что он будет обобщен более широко для определенных вариантов использования. Понимание ограничений LLM так же важно, как понять, как использовать их сильные стороны.
В этом руководстве не подробно описана структура сообщений для завершения чата. Если вы не знакомы с моделями завершения чата программными средствами, рекомендуем сначала ознакомиться с нашим руководством по API завершения чата.
Замечание
Все примеры, приведенные в этом разделе руководства, были проверены на основе базовой модели GPT-4 на английском языке. Некоторые методы могут создавать различные результаты с более новыми моделями, такими как gpt-4o, и 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. С кем я говорю сегодня? Я понимаю ваше разочарование, Мэри. Могли бы вы рассказать, что именно вы пытаетесь решить? Конечно, я с удовольствием проверю это для вас, один момент, пожалуйста. Я вижу, что вы принимали универсальную форму Липитора, верно? Хорошо, вижу, что ваш врач прекратил назначать эти препараты в 2021 году. Да, я с радостью проверю это для вас, потому что иногда бывают сбои в системе, и информация просто не передается. Позвольте мне взглянуть, один момент. Итак, я вижу, что ваш врач назначал вам эти препараты с 2012 по 2021 год. Да, согласно последним данным, предоставленным кабинетом врача, вы сейчас принимаете другой препарат — метформин. Хотели бы вы, чтобы мы оформили для вас этот рецепт на получение метформина в 500 миллиграммах? Пожалуйста, обращайтесь, если мы еще чем-то можем вам помочь сегодня. | Оценка тональности: 8 Докладчик в этом тексте, кажется, вежливый, полезный и терпеливый при решении проблем клиента. Они занимают время для проверки информации, предоставления четких объяснений и предоставления помощи. Тем не менее, рейтинг не составляет 10, потому что в некоторых частях беседы все еще есть налет неопределенности, что может не внушать клиенту полного доверия. |
Начните с четких инструкций
Сведения о последовательности отображаются в вопросах запроса. Это связано с тем, что модели стиля GPT создаются определенным образом, определяющим способ обработки входных данных. Наше исследование предполагает, что предоставление модели задачи, которую вы хотите сделать в начале запроса, прежде чем предоставлять дополнительные контекстные сведения или примеры, могут помочь получить более качественные выходные данные.
Замечание
Несмотря на то, что в отличие от предыдущих версий модели (GPT-3 и более ранних), наше тестирование показало, что ответ модели с моделями ChatGPT и GPT-4 был одинаковым независимо от того, используется ли этот метод. В приведенном ниже примере мы видим, что добавление утверждения "Несколько источников ... Слово "извержение" в начале или конце запроса не вызвало никаких изменений в окончательном ответе модели.
Системное сообщение | Пользователь | Помощник |
---|---|---|
Вы помощник по искусственному интеллекту, который помогает людям находить информацию. | Ваша задача заключается в том, чтобы проверить, поддерживается ли инструкция "Несколько источников упоминать вероятность другого большого извержения" в конкретной цитате из следующего набора фрагментов. --- ФРАГМЕНТЫ [1] 14-процентная вероятность мега-землетрясения в Сиэтле, считают эксперты. СИЭТЛ - Существует 14-процентная вероятность того, что землетрясение магнитудой 9 в зоне Каскадия может обрушиться на Сиэтл в течение ближайших 50 лет, по оценкам Геологической службы США. "К сожалению, нам не удается... [2] Эксперты по землетрясениям изложили последние прогнозы для Сиэтла 'Очень большое землетрясение' "Мы говорим, что в ближайшие 50 лет происходит примерно 14% вероятность другого землетрясения приблизительно величины-9", сказал геофизик в Университете Вашингтона... --- Является ли заявление "Несколько источников упоминают шанс на другое крупное извержение" прямо содержащимся или заявленным в отрывках? |
Нет, инструкция не подразумевается напрямую или указывается фрагментами кода. Фрагменты упоминают о возможности "мега землетрясения" и "землетрясения магнитудой 9 в зоне Каскадия," которое ударит по Сиэтлу в ближайшие 50 лет, но не упоминается вероятность ещё одного крупного извержения. |
Повторите инструкции в конце
Модели могут быть подвержены предвзятости, что в этом контексте означает, что информация в конце запроса может иметь более значительное влияние на выходные данные, чем сведения в начале запроса. Поэтому стоит поэкспериментировать с повтором инструкций в конце запроса и оценкой влияния на созданный ответ.
Премьера выходных данных
Это относится к добавлению нескольких слов или фраз в конце запроса, чтобы получить ответ модели, следующий за требуемой формой. Например, с помощью подсказки, например “Here’s a bulleted list of key points:\n- ”
, можно убедиться, что выходные данные форматируются в виде списка маркеров.
Системное сообщение | Пользователь | Помощник |
---|---|---|
Вы помощник по искусственному интеллекту, который помогает людям находить информацию. Ответьте как можно короче. | Джон Смит женат на Люси Смит. У них пять детей, и он работает инженером по программному обеспечению в Корпорации Майкрософт. Какие поисковые запросы следует выполнить для проверки фактов? ## Один из возможных поисковых запросов: | "Джон Смит женился на Люси Смит пять детей инженер программного обеспечения Майкрософт" |
В приведенном выше вопросе текст Один из возможных поисковых запросов: подготавливает модель для создания одного результата. Без этого подсказки модель создает несколько поисковых запросов в качестве выходных данных.
Добавление четкого синтаксиса
Использование четкого синтаксиса для запроса, включая знаки препинания, заголовки и маркеры разделов, помогает донести намерение и часто делает анализ выходных данных проще.
В приведенном ниже примере разделители (---
в данном случае) были добавлены между различными источниками информации или этапами. Это позволяет использовать ---
в качестве условия остановки для создания. Кроме того, заголовки разделов или специальные переменные представлены в верхнем регистре для их отличия.
Системное сообщение | Пользователь | Помощник |
---|---|---|
Вы помощник по искусственному интеллекту, который помогает людям находить информацию. | Вы прочитаете абзац, а затем запрашиваете информацию в поисковой системе, чтобы проверить факты. Кроме того, объясните запросы. --- ПАРАГРАФ Джон Смит женат на Люси Смит. У них пять детей, и он работает инженером по программному обеспечению в Корпорации Майкрософт. Какие поисковые запросы следует выполнить для проверки фактов? --- ЗАПРОСЫ |
1. "Джон Смит Майкрософт" - Чтобы проверить, действительно ли Джон Смит работает в Корпорации Майкрософт. 2. "Джон Смит Люси Смит" - чтобы проверить, женат ли Джон Смит на Люси Смит. 3. "Дети Джона Смита" - Чтобы узнать, есть ли у Джона Смита пятеро детей. |
Если вы не уверены, какой синтаксис следует использовать, рекомендуется использовать Markdown или XML. Модели были обучены на большом количестве веб-содержимого в XML и Markdown, что может обеспечить лучшие результаты.
Разорвать задачу вниз
Крупные языковые модели (LLM) часто выполняются лучше, если задача разбита на меньшие шаги. Например, в запросе поиска, на который ссылается ранее, запрос может быть переструктурирован таким образом, чтобы модель сначала была указана для извлечения соответствующих фактов, а затем показано, как создать поисковые запросы, которые можно использовать для проверки этих фактов.
Системное сообщение | Пользователь | Помощник |
---|---|---|
Вы помощник по искусственному интеллекту, который помогает людям находить информацию. | Вы прочитаете абзац, а затем запрашиваете информацию в поисковой системе, чтобы проверить факты. --- ПАРАГРАФ Джон Смит женат на Люси Смит. У них пять детей, и он работает инженером по программному обеспечению в Корпорации Майкрософт. Какие поисковые запросы следует выполнить для проверки фактов? --- Теперь вы извлекаете фактические утверждения и выдаете запросы для проверки фактов. При выполнении запроса используйте функцию SEARCH("query") ФАКТИЧЕСКИЕ УТВЕРЖДЕНИЯ |
1. Джон Смит женат на Люси Смит 2. У них пять детей 3. Он работает инженером по программному обеспечению в Корпорации Майкрософт ЗАПРОСЫ SEARCH("Джон Смит женился на Люси Смит") SEARCH("Джон Смит размер семьи") SEARCH("Джон Смит Майкрософт software engineer") |
Обратите внимание на использование четкого синтаксиса для различения разделов и выделения выходных данных. В этом простом примере разбиение задачи от одного до двух шагов не очень драматично, но при попытке сделать это для большего фрагмента текста со многими фактическими утверждениями, нарушение задачи может существенно измениться.
Использование возможностей
Иногда можно получить модель, чтобы использовать доступность вместо того, чтобы полагаться на свои собственные параметры для информации и ответов. Поиск, например, может быть доступностью, чтобы помочь устранить проблемы с сфабрикованными ответами, а также получить актуальные сведения.
Одним из простых способов использования аффорданса является остановка генерации, как только модель создает вызовы аффорданса, а затем результаты вставляются обратно в запрос. Ниже приведен пример того, каким может быть последующий вызов после совершения вышеупомянутых вызовов SEARCH. Заметьте, как мы вставили результаты поиска в запрос и заменили предыдущие запросы SEARCH.
Системное сообщение | Пользователь | Помощник |
---|---|---|
Вы помощник по искусственному интеллекту, который помогает людям находить информацию. | Вы прочитаете абзац, извлеките фактические утверждения, а затем используйте результаты поисковой системы для проверки их фактов --- ПАРАГРАФ Джон Смит женат на Люси Смит. У них пять детей, и он работает инженером по программному обеспечению в Корпорации Майкрософт. Какие поисковые запросы следует выполнить для проверки фактов? --- ФАКТИЧЕСКИЕ УТВЕРЖДЕНИЯ - Джон Смит женат на Люси Смит - Джон и Люси имеют пять детей — Джон работает инженером по программному обеспечению в Корпорации Майкрософт --- Ниже приведены различные поисковые запросы, выданные для исследования приведенных выше утверждений: ПОИСКОВЫЕ ЗАПРОСЫ - Джон Смит женат на Люси Смит - Джон Смит число детей Джон Смит, программист компании Microsoft --- Ниже приведены фрагменты результатов поиска: ФРАГМЕНТЫ: [1] Свадьба Джона Смита была 25 сентября 2012 года ... [2] Джон Смит сопровождал свою жену Люси на вечеринку [3]Джон сопровождался в футбольную игру своими двумя дочерями и тремя сыновьями [4] Проведя 10 лет в Корпорации Майкрософт, Смит основал свой собственный стартап, Tailspin Toys [5] Джон М является городским смитом, и он женился на Фионе. У них есть дочь по имени Люси --- Учитывая фрагменты кода, проверьте каждый из приведенных выше фактических утверждений: |
- Джон Смит женат на Люси Смит: Подтверждено. Фрагмент [1] и [2] оба упоминают жену Джона Смита как Люси. - Джон и Люси имеют пять детей: подтверждено. Фрагмент [3] упоминает, что Джон сопровождался своими двумя дочерями и тремя сыновьями. - Джон работает инженером по программному обеспечению в Корпорации Майкрософт: частично подтверждено. Фрагмент [4] упоминает, что Джон провел 10 лет в Корпорации Майкрософт, но это не явно указывает, что он в настоящее время работает там. Для подтверждения его текущего статуса занятости может потребоваться дальнейшее исследование. |
Стимуляция цепочки рассуждений
Это вариант разбиения задачи на этапы. Вместо того чтобы разбивать задачу на более мелкие шаги, в этом подходе предполагается, что ответ модели будет выполняться поэтапно и представлены все необходимые действия. Это снижает вероятность неточности результатов и упрощает оценку ответа на модель.
Системное сообщение | Пользователь | Помощник |
---|---|---|
Вы помощник по искусственному интеллекту, который помогает людям находить информацию. | Кто был самым титулованным (по количеству медалей) индивидуальным спортсменом на Олимпийских играх, которые проводились в Сиднее? Выполните пошаговый подход в вашем ответе, укажите источники и предоставьте обоснования перед предоставлением окончательного ответа в следующем формате: ANSWER is: <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. С кем я говорю сегодня? Я понимаю ваше разочарование, Мэри. Могли бы вы рассказать, что именно вы пытаетесь решить? Конечно, я с удовольствием проверю это для вас, один момент, пожалуйста. Я вижу, что вы принимали универсальную форму Липитора, верно? Хорошо, вижу, что ваш врач прекратил назначать эти препараты в 2021 году. Да, я с радостью проверю это для вас, потому что иногда бывают сбои в системе, и информация просто не передается. Позвольте мне взглянуть, один момент. Итак, я вижу, что ваш врач назначал вам эти препараты с 2012 по 2021 год. Да, согласно последним данным, предоставленным кабинетом врача, вы сейчас принимаете другой препарат — метформин. Хотели бы вы, чтобы мы оформили для вас этот рецепт на получение метформина в 500 миллиграммах? Пожалуйста, обращайтесь, если мы еще чем-то можем вам помочь сегодня. --- Как был ответ агента службы поддержки клиентов? Классифицируйте и перечисляйте их различные поведения и ссылайтесь на причину классификации, используя формат BEHAVIOR("причина") |
1. Вежливое поведение приветствия("Агент начинает беседу с вежливым приветствием и просит имя вызывающего абонента") 2. Эмпатическое ПОВЕДЕНИЕ("Агент признает разочарование Мэри и пытается понять ее озабоченность") 3. Внимательное ПОВЕДЕНИЕ ("Агент прослушивает проблему клиента и просит дополнительные сведения") 4. Упреждающее ПОВЕДЕНИЕ ("Агент предлагает проверить проблему для клиента") 5. Информативное ПОВЕДЕНИЕ("Агент предоставляет соответствующие сведения об истории рецептов клиента") 6. Тщательное ПОВЕДЕНИЕ("Агент проверяет наличие возможных пробелов в системе и обеспечивает полный ответ") 7. Подтверждение поведения("Агент подтверждает текущее лекарство с клиентом") 8. Ориентированное на решение ПОВЕДЕНИЕ("Агент предлагает заполнить новый рецепт для клиента") 9. Вежливый ПОВЕДЕНИЕ("Агент благодарит клиента и предлагает дополнительную помощь при необходимости") |
Системное сообщение | Пользователь | Помощник |
---|---|---|
Вы помощник по искусственному интеллекту, который помогает людям находить информацию. | Сгруппируйте следующие заголовки новостей в тематические категории на основе найденных в тексте шаблонов. Также упоминается о том, как были определены эти категории. Формат выходных данных. {} "TOPIC_NAME": "", "ЗАГОЛОВКИ": [], "ПРИЧИНА": "" } Введите заголовки новостей: Из книг в презентации за 10 секунд с помощью AR + ML. 2. "Демонстрация Янна ЛеКуна, которому в 1993 году было 32 года, показывающая первую в мире сверточную сеть для распознавания текста" 3. "Первая модель движения порядка применяется к анимации картин" 4. "Robinhood и другие брокеры буквально блокируют покупку $GME, $NOK, $BB, $AMC и разрешают продажи" 5. "Акции United Airlines снизились более чем на 5% на предварительных торгах" Выходные данные: |
{} "ИСКУССТВЕННЫЙ_ИНТЕЛЛЕКТ": { "ЗАГОЛОВКИ": [ "От книг к презентациям за 10 секунд с AR и ML" Демонстрация 1993 года 32-летнего Янна ЛеКуна, показывающая первую в мире сверточную сеть для распознавания текста. "Модель движения первого порядка применяется для анимации картин" ], "REASONING": "Эти заголовки связаны с искусственным интеллектом, машинным обучением и их приложениями в различных областях". }, "ФИНАНСОВЫЕ_РЫНКИ": { "ЗАГОЛОВКИ": [ Robinhood и другие брокеры буквально блокируют покупку $GME, $NOK, $BB, $AMC; разрешены продажи Акции United Airlines падают более чем на 5% в предторговой сессии. Биткоин был почти $20000 ровно год назад. ], "ПРИЧИНА": "Эти заголовки связаны с финансовыми рынками, акциями, криптовалютами и торговыми платформами". } } |
Параметры температуры и Top_p
Изменение параметра температуры изменяет выходные данные модели. Параметр температуры можно задать от 0 до 2. Более высокое значение, например 0.7, делает выходные данные более случайными и создает более дивергентные ответы, в то время как меньшее значение, например 0.3, делает их менее случайными. 0.2 делает выходные данные более ориентированными и конкретными. Вымышленная история может быть создана с помощью более высокой температуры. В то время как для создания юридического документа рекомендуется использовать гораздо более низкую температуру. Top_probability является другим параметром и похож на температуру в том, что он также управляет случайностью ответа модели, но это делает это другим способом. Общая рекомендация заключается в изменении одного из этих двух параметров одновременно, а не обоих.
Предоставление контекста заземления
Одним из наиболее эффективных способов предоставления надежных ответов является предоставление данных модели для получения ответов от (заземления данных). Если ваш вариант использования опирается на свежую и достоверную информацию и не является исключительно творческим сценарием, мы настоятельно рекомендуем предоставлять обоснованные данные. Как правило, чем ближе вы можете получить исходный материал к окончательной форме нужного ответа, тем меньше работы модели необходимо сделать, что означает, что существует меньше возможностей для ошибки. Вот пример, в котором системе представлен недавний блог, описывающий запуск GPT-4 в Azure OpenAI в Azure AI Foundry Models, и его просят назвать некоторых из своих ранних клиентов.
Системное сообщение | Пользователь | Помощник |
---|---|---|
Вы помощник по искусственному интеллекту, который помогает людям находить информацию. Вы предоставите ответы исключительно из приведенного ниже текста и ответить на 100 слов или меньше: "В Корпорации Майкрософт мы постоянно обнаруживаем новые способы развязывания творчества, разблокировки производительности и повышения уровня навыков, чтобы больше людей могли воспользоваться ИИ. Это позволяет нашим клиентам ... … Тем самым снижается вероятность того, что модель создает вредную реакцию".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 разбивают слова на "токены". В то время как распространенные многосложные слова часто представляют собой один токен, менее распространенные слова разбиваются на слоги. Иногда токены могут быть неинтуитивными, как показано в приведенном ниже примере, демонстрирующем границы токенов для разных форматов дат. В этом случае написание всего месяца является более эффективным, чем полностью числовая дата. Текущий диапазон поддержки токенов варьируется от 2000 токенов в более ранних моделях GPT-3 до 32 768 токенов в версии последней модели GPT-4 с поддержкой 32k.
Учитывая это ограничение на пространство, важно использовать его как можно эффективнее.
- Таблицы— как показано в примерах в предыдущем разделе, модели GPT могут легко понять табличные данные. Это может быть более экономичный способ включения данных, чем предшествование каждого поля именем, как в случае с JSON.
- Пробелы — последовательные пробелы рассматриваются как отдельные маркеры, которые могут быть простым способом потратить пространство. Пробелы, предшествующие слову, с другой стороны, обычно рассматриваются как часть того же маркера, что и слово. Внимательно следите за использованием пробелов и не используйте знаки препинания там, где достаточно одного пробела.
Связанный контент
- Дополнительные сведения о службе Azure OpenAI.
- Начало работы с моделью ChatGPT с помощью краткого руководства по ChatGPT.
- Дополнительные примеры см. в репозитории GitHub в Azure OpenAI Samples