Поделиться через


Техника подсказок

В этом руководстве описаны некоторые передовые методы проектирования запросов и разработки запросов. Если вы не знакомы с проектированием, мы рекомендуем начать с нашего введение в руководство по проектированию запросов.

Хотя принципы проектирования запросов могут быть обобщены во многих различных типах моделей, некоторые модели ожидают специализированную структуру запроса. Для моделей GPT в Azure OpenAI в настоящее время существует два разных API, в которых вступает в игру проектирование запросов:

  • API завершения чата.
  • API завершения.

Каждый API требует форматирования входных данных по-разному, что, в свою очередь, влияет на общую структуру запросов. API завершения чата поддерживает модели GPT-35-Turbo и GPT-4. Эти модели предназначены для ввода в формате определенного чата, например расшифровки, хранящейся в массиве словарей.

API завершения поддерживает старые модели GPT-3 и имеет гораздо более гибкие требования к входным данным, что принимает строку текста без определенных правил форматирования.

Методы, описанные в этом руководстве, научит вас стратегиям повышения точности и приземления ответов, которые вы создаете с помощью крупной языковой модели (LLM). Однако важно помнить, что даже при эффективной разработке запросов необходимо проверить ответы, создаваемые моделями. Просто потому, что тщательно созданный запрос работал хорошо для определенного сценария, не обязательно означает, что он будет обобщен более широко для определенных вариантов использования. Понимание ограничений LLM так же важно, как понять, как использовать их сильные стороны.

В этом руководстве не подробно описана структура сообщений для завершения чата. Если вы не знакомы с моделями завершения чата программными средствами, рекомендуем сначала ознакомиться с нашим руководством по API завершения чата.

Примечание.

Все примеры, приведенные в этом разделе руководства, были проверены на основе базовой модели GPT-4 на английском языке. Если вы читаете локализованную версию этой статьи на другом языке, эти ответы представляют локализованный перевод результатов английского языка. Чтобы узнать больше о потенциальных ограничениях в зависимости от того, какой язык вы используете для запроса модели, обратитесь к нашей заметке о прозрачности ответственного искусственного интеллекта.

Системное сообщение

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

В приведенном ниже примере показан пример системного сообщения и результирующий ответ модели:

Системное сообщение User Помощник
Ты — ИИ-помощник, который помогает людям находить информацию и отвечает стихами. Если пользователь задает тебе вопрос, на который ты не знаешь ответа, так и скажи. Что ты можешь рассказать обо мне, Наташе Петровой? Дорогой Джон, я сожалею, чтобы сказать:
Но у меня нет информации о вас сегодня.
Я просто ИИ с знаниями в моем мозгу,
Но без ваших входных данных, я не могу объяснить.
Так пожалуйста, расскажите мне больше о том, что вы ищете,
И я буду делать все возможное, чтобы дать вам уникальный ответ.

Ниже приведены некоторые другие примеры системных сообщений:

  • "Помощник — это большая языковая модель, обученная OpenAI".
  • "Помощник — это интеллектуальный чат-бот, предназначенный для того, чтобы помочь пользователям отвечать на технические вопросы о службе Azure OpenAI. Только ответы на вопросы, использующие приведенный ниже контекст, и если вы не уверены в ответе, вы можете сказать: "Я не знаю".
  • "Помощник — это интеллектуальный чат-бот, предназначенный для того, чтобы помочь пользователям ответить на свои налоговые вопросы, связанные с налогами".
  • "Вы помощник, предназначенный для извлечения сущностей из текста. Пользователи вставляют строку текста, и вы будете отвечать на сущности, извлеченные из текста в виде объекта JSON. Ниже приведен пример выходного формата:
{  
   "name": "",
   "company": "",
   "phone_number": ""
}

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

Обучение с несколькими выстрелами

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

При использовании API завершения чата ряд сообщений между пользователем и помощником (написанным в новом формате запроса), может служить примерами для обучения с несколькими выстрелами. Эти примеры можно использовать для создания модели для реагирования определенным образом, эмуляции конкретных действий и начальных ответов на распространенные вопросы.

Системное сообщение Примеры с несколькими выстрелами
Помощник — это интеллектуальный чат-бот, предназначенный для того, чтобы помочь пользователям ответить на свои налоговые вопросы.
Инструкции
- Ответить только на вопросы, связанные с налогами.
- Если вы не уверены в ответе, вы можете сказать: "Я не знаю" или "Я не уверен" и рекомендует пользователям перейти на веб-сайт IRS для получения дополнительной информации.
Пользователь — "Когда нужно подать налоги?"
Помощник - "В 2023 году вам потребуется подать налоги к 18 апреля. Дата падает после обычного крайнего срока 15 апреля, потому что 15 апреля падает на субботу в 2023 году. Дополнительные сведения см. в разделе https://www.irs.gov/filing/individuals/when-to-file "

Пользователь — "Как можно проверка статусе моего налогового возмещения?"
Помощник - "Вы можете проверка статус вашего налогового возмещения, посещая https://www.irs.gov/refunds "

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

Сценарии без чата

Хотя API завершения чата оптимизирован для работы с несколькими беседами, он также можно использовать для сценариев, отличных от чата. Например, для сценария анализа тональности можно использовать следующий запрос:

Системное сообщение User Помощник
Вы помощник, предназначенные для анализа тональности из речевых данных. Пользователи вставляют строку текста, и вы будете отвечать на оценку ответа говорящего. Ставка по шкале от 1 до 10 (10 является самой высокой). Объясните, почему этот рейтинг был дан. привет спасибо вам за вызов contoso аптеки, которые я разговариваю с сегодня я понимаю, ваше разочарование мэри ум можно сказать мне, что именно вы пытаетесь достичь OK uh, безусловно, счастливый проверка, что для вас один момент пожалуйста, я вижу здесь, что вы были на универсальной форме липитора это то, что правый ОК ух, так что я вижу, что ваш врач перестал назначать эти препараты в двадцать двадцать один фактически ОК да я был бы рад проверка, что для вас, потому что иногда есть разрыв в системе, и это просто не получается, так что позвольте мне посмотреть здесь всего один момент, так что я вижу здесь, что ваш врач был эти препараты назначены вам от двадцати до двадцати двадцать двадцать один ОК да в соответствии с последними записями, предоставленные кабинетом врача, вы сейчас на другом препарате метформин вам бы хотелось мы, чтобы пойти вперед и заполнить этот рецепт для вас для того чтобы забрать немного формы в пять сотен миллиграмм у вас очень добро пожаловать мэри пожалуйста сообщите нам, если есть что-нибудь еще мы можем сделать для вас сегодня. Оценка тональности: 8
Докладчик в этом тексте, кажется, вежливый, полезный и терпеливый при решении проблем клиента. Они занимают время, чтобы проверка информацию, предоставить четкие объяснения и предложить помощь. Тем не менее, рейтинг не является 10, потому что есть еще намек на неопределенность в некоторых частях беседы, которая может не передать полное доверие клиенту.

Начните с четких инструкций

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

Примечание.

Несмотря на то, что в отличие от предыдущих версий модели (GPT-3 и более ранних), наше тестирование показало, что ответ модели с моделями ChatGPT и GPT-4 был одинаковым независимо от того, используется ли этот метод. В приведенном ниже примере мы видим, что добавление инструкции "Несколько источников ... извержение" в начале или конце запроса не вызвало никаких изменений в окончательном ответе модели.

Системное сообщение User Помощник
Вы помощник ИИ, который помогает людям находить информацию. Задача состоит в том, чтобы проверить, поддерживается ли оператор "Несколько источников упоминание шанс на другое крупное извержение" с определенной цитатой из следующего набора фрагментов.
---
ФРАГМЕНТЫ КОДА
[1] 14 процентов шанс мегакуда ударил Сиэтл, говорят эксперты
СИЭТЛ - Есть 14-процентный шанс на величину 9 Каскадия землетрясение ударил Сиэтл в ближайшие 50 лет, оценки геологии США. "К сожалению, нам не удается...

[2] Эксперты по землетрясениям изложили последнюю перспективу для Сиэтла 'Действительно Большой Один'
"Мы говорим, что в ближайшие 50 лет происходит примерно 14% вероятность другого землетрясения приблизительно величины-9", сказал геофизик в Университете Вашингтона...
---
Является ли заявление "Несколько источников упоминание шанс на другое крупное извержение" напрямую подразумевается или указано фрагментами?
Нет, инструкция не подразумевается напрямую или указывается фрагментами кода. Фрагменты упоминание шанс "мегакуда" и "магнитуды 9 Каскадия землетрясение" ударил Сиэтл в ближайшие 50 лет, но не упоминание шанс на другое крупное извержение.

Повторите инструкции в конце

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

Премьера выходных данных

Это относится к добавлению нескольких слов или фраз в конце запроса, чтобы получить ответ модели, следующий за требуемой формой. Например, с помощью подсказки, например “Here’s a bulleted list of key points:\n- ” , можно убедиться, что выходные данные форматируются в виде списка маркеров.

Системное сообщение User Помощник
Вы помощник ИИ, который помогает людям находить информацию. Ответьте как можно меньше слов. Джон Смит женат на Люси Смит. У них пять детей, и он работает инженером по программному обеспечению в Корпорации Майкрософт. Какие поисковые запросы следует делать с проверка фактом? ## Один из возможных поисковых запросов: "Джон Смит женился на Люси Смит пять детей инженер программного обеспечения Майкрософт"

В приведенном выше запросе можно найти текст One: создает модель для создания одного вывода. Без этого подсказки модель создает несколько поисковых запросов в качестве выходных данных.

Добавление четкого синтаксиса

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

В приведенном ниже примере разделители (--- в данном случае) были добавлены между различными источниками информации или этапами. Это позволяет использовать в качестве условия остановки --- для создания. Кроме того, заголовки разделов или специальные переменные представлены в верхнем регистре для их отличия.

Системное сообщение User Помощник
Вы помощник ИИ, который помогает людям находить информацию. Вы считаете абзац, а затем выдаете запросы поисковой системе, чтобы проверка его. Кроме того, объясните запросы.
---
ПУНКТ
Джон Смит женат на Люси Смит. У них пять детей, и он работает инженером по программному обеспечению в Корпорации Майкрософт. Какие поисковые запросы следует делать с проверка фактом?
---
ЗАПРОСЫ
1. "Джон Смит Майкрософт" - чтобы проверка, если Джон Смит действительно работает в Корпорации Майкрософт.
2. "Джон Смит Люси Смит" - Чтобы проверка, если Джон Смит женат на Люси Смит.
3. "Джон Смит детей" - Чтобы проверка, если у Джона Смита пять детей.

Если вы не уверены, какой синтаксис следует использовать, рекомендуется использовать Markdown или XML. Модели были обучены на большом количестве веб-содержимого в XML и Markdown, что может обеспечить лучшие результаты.

Разорвать задачу вниз

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

Системное сообщение User Помощник
Вы помощник ИИ, который помогает людям находить информацию. Вы считаете абзац, а затем выдаете запросы поисковой системе, чтобы проверка его.
---
ПУНКТ
Джон Смит женат на Люси Смит. У них пять детей, и он работает инженером по программному обеспечению в Корпорации Майкрософт. Какие поисковые запросы следует делать с проверка фактом?
---
Теперь вы извлекаете фактические утверждения и выдаете запросы к факту проверка. При выполнении запроса используйте функцию SEARCH("query")

ФАКТИЧЕСКИЕ УТВЕРЖДЕНИЯ
1. Джон Смит женат на Люси Смит
2. У них пять детей
3. Он работает инженером по программному обеспечению в Корпорации Майкрософт

ЗАПРОСЫ
SEARCH("Джон Смит женат Люси Смит")
SEARCH("Джон Смит размер семьи")
SEARCH("Джон Смит Майкрософт software engineer")

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

Использование возможностей

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

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

Системное сообщение User Помощник
Вы помощник ИИ, который помогает людям находить информацию. Вы прочитаете абзац, извлеките фактические утверждения, а затем используйте результаты поисковой системы для фактов проверка их
---
ПУНКТ
Джон Смит женат на Люси Смит. У них пять детей, и он работает инженером по программному обеспечению в Корпорации Майкрософт. Какие поисковые запросы следует делать с проверка фактом?
---
ФАКТИЧЕСКИЕ УТВЕРЖДЕНИЯ
- Джон Смит женат на Люси Смит
- Джон и Люси имеют пять детей
— Джон работает инженером по программному обеспечению в Корпорации Майкрософт
---
Ниже приведены различные поисковые запросы, выданные для исследования приведенных выше утверждений:
ПОИСКОВЫЕ ЗАПРОСЫ
- Джон Смит женат на Люси Смит
- Джон Смит число детей
— Джон Смит программного инженера Майкрософт
---
Ниже приведены фрагменты результатов поиска:
ФРАГМЕНТЫ:
[1] Свадьба Джона Смита была 25 сентября 2012 года ...
[2] Джон Смит сопровождал свою жену Люси на вечеринку
[3] Джон сопровождался в футбольную игру своими двумя дочерями и тремя сыновьями
[4] Проведя 10 лет в Корпорации Майкрософт, Смит основал свой собственный стартап, Tailspin Toys
[5] Джон М является городским смитом, и он женился на Фионе. У них есть дочь по имени Люси
---
Учитывая фрагменты кода, факт проверка каждое из приведенных выше утверждений:
- Джон Смит женат на Люси Смит: Подтверждено. Фрагмент [1] и [2] оба упоминание жену Джона Смита в качестве Люси.

- Джон и Люси имеют пять детей: подтверждено. Фрагмент [3] упоминание, что Джон сопровождался двумя дочерьми и тремя сыновьями.

- Джон работает инженером по программному обеспечению в Корпорации Майкрософт: частично подтверждено. Фрагмент кода [4] упоминание, что Джон провел 10 лет в Корпорации Майкрософт, но это не явно указывает, что он сейчас работает там. Для подтверждения его текущего статуса занятости может потребоваться дальнейшее исследование.

Цепочка мысли подсказок

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

Системное сообщение User Помощник
Вы помощник ИИ, который помогает людям находить информацию. Кто был самым украшенным (максимум медалей) отдельных спортсменов в Олимпийских играх, которые проходили в Сиднее? Выполните пошаговый подход в ответе, наведите источники и предоставьте основания перед предоставлением общего доступа к окончательному ответу в следующем формате: 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).

В приведенных ниже примерах показано использование ссылок и направление ответа модели в соответствии с определенной структурой.

Системное сообщение User Помощник
Вы помощник искусственного интеллекта, который помогает людям находить информацию Список различных поведений, отображаемых агентом службы поддержки клиентов в следующем разговоре.
---
привет спасибо вам за вызов contoso аптеки, которые я разговариваю с сегодня я понимаю, ваше разочарование мэри ум можно сказать мне, что именно вы пытаетесь достичь OK uh, безусловно, счастливый проверка, что для вас один момент пожалуйста, я вижу здесь, что вы были на универсальной форме липитора это то, что правый ОК ух, так что я вижу, что ваш врач перестал назначать эти препараты в двадцать двадцать один фактически ОК да я был бы рад проверка, что для вас, потому что иногда есть разрыв в системе, и это просто не получается, так что позвольте мне посмотреть здесь всего один момент, так что я вижу здесь, что ваш врач был эти препараты назначены вам от двадцати до двадцати двадцать двадцать один ОК да в соответствии с последними записями, предоставленные кабинетом врача, вы сейчас на другом препарате метформин вам бы хотелось мы, чтобы пойти вперед и заполнить этот рецепт для вас для того чтобы забрать немного формы в пять сотен миллиграмм у вас очень добро пожаловать мэри пожалуйста сообщите нам, если есть что-нибудь еще мы можем сделать для вас сегодня.
---
Как был ответ агента службы поддержки клиентов?
Классифицируйте и перечисляйте их различные поведения и ссылайтесь на причину классификации, используя формат BEHAVIOR("причина")
1. Вежливое поведение приветствия("Агент начинает беседу с вежливым приветствием и просит имя вызывающего абонента")
2. Эмпатическое ПОВЕДЕНИЕ("Агент признает разочарование Мэри и пытается понять ее озабоченность")
3. Внимательное ПОВЕДЕНИЕ ("Агент прослушивает проблему клиента и просит дополнительные сведения")
4. Упреждающее ПОВЕДЕНИЕ("Агент предлагает проверка проблему для клиента")
5. Информативное ПОВЕДЕНИЕ("Агент предоставляет соответствующие сведения об истории рецептов клиента")
6. Тщательное поведение ("агент проверка для любых возможных пробелов в системе и обеспечивает полный ответ")
7. Подтверждение поведения("Агент подтверждает текущее лекарство с клиентом")
8. Ориентированное на решение ПОВЕДЕНИЕ("Агент предлагает заполнить новый рецепт для клиента")
9. Вежливый ПОВЕДЕНИЕ("Агент благодарит клиента и предлагает дополнительную помощь при необходимости")
Системное сообщение User Помощник
Вы помощник ИИ, который помогает людям находить информацию. Кластеризация следующих заголовков новостей в категории разделов на основе шаблонов, видимых в тексте. Кроме того, упоминание причины определения этих категорий.
Формат выходных данных.
{
"TOPIC_NAME": "",
"ЗАГОЛОВКИ": [],
"ПРИЧИНА": ""
}

Входные заголовки новостей:
1. "Из книг в презентации в 10-х годах с AR + ML"
2. "Демонстрация с 1993 года из 32-летнего Янна ЛеКуна, показывающая первую в мире сверточная сеть для распознавания текста"
3. "Первая модель движения порядка применяется к анимации картин"
4. "Robinhood и другие брокеры буквально блокируют покупку $GME, $NOK, $BB, $AMC; разрешить продажи"
5. "United Airlines акций более чем на 5% premarket торгов"
Выходные данные:

{
"ARTIFICIAL_INTELLIGENCE": {
"ЗАГОЛОВКИ": [
"Из книг в презентации в 10-х годах с AR + ML",
"Демонстрация с 1993 года 32-летнего Янна ЛеКуна, показывающая первую в мире свертываемую сеть для распознавания текста",
"Первая модель движения порядка применяется к анимации картин"
],
"REASONING": "Эти заголовки связаны с искусственным интеллектом, машинным обучением и их приложениями в различных областях".
},
"FINANCIAL_MARKETS": {
"ЗАГОЛОВКИ": [
"Robinhood и другие брокеры буквально блокируют покупку $GME, $NOK, $BB, $AMC; разрешить продажи",
"United Airlines акций более чем на 5% домаркетной торговли",
"Биткоин был почти $ 20000 год назад сегодня"
],
"ПРИЧИНА": "Эти заголовки связаны с финансовыми рынками, акциями, криптовалютами и торговыми платформами".
}
}

Параметры температуры и Top_p

Изменение параметра температуры изменяет выходные данные модели. Параметр температуры можно задать от 0 до 2. Более высокое значение, например 0.7, делает выходные данные более случайными и создает более дивергентные ответы, в то время как меньшее значение, например. 0.2 делает выходные данные более ориентированными и конкретными. Вымышленная история может быть создана с помощью более высокой температуры. В то время как для создания юридического документа рекомендуется использовать гораздо более низкую температуру. Top_probability является другим параметром и похож на температуру в том, что он также управляет случайностью ответа модели, но это делает это другим способом. Общая рекомендация заключается в изменении одного из этих двух параметров одновременно, а не обоих.

Предоставление контекста заземления

Одним из наиболее эффективных способов предоставления надежных ответов является предоставление данных модели для получения ответов от (заземления данных). Если в вашем варианте использования используется актуальная, надежная информация и не является исключительно творческим сценарием, настоятельно рекомендуется предоставлять данные о заземления. Как правило, чем ближе вы можете получить исходный материал к окончательной форме нужного ответа, тем меньше работы модели необходимо сделать, что означает, что существует меньше возможностей для ошибки. Вот пример, в котором система представлена в недавнем блоге, описывающем запуск GPT-4 в Службе OpenAI Azure, и попросили назвать некоторых из своих ранних клиентов.

Системное сообщение User Помощник
Вы помощник ИИ, который помогает людям находить информацию. Вы предоставите ответы исключительно из приведенного ниже текста и ответить на 100 слов или меньше:
"В Корпорации Майкрософт мы постоянно обнаруживаем новые способы развязывания творчества, разблокировки производительности и повышения уровня навыков, чтобы больше людей могли воспользоваться ИИ. Это позволяет нашим клиентам ...

... Тем самым снижается вероятность того, что модель создает вредную реакцию".1

Ответ на 100 слов или меньше. Используйте списки маркеров везде, где это возможно.
Кто некоторые из ранних клиентов моделей Службы Azure OpenAI GPT-4? Ниже приведены некоторые из ранних клиентов моделей Azure OpenAI Service GPT-4:
- Эпическое здравоохранение: они планируют использовать GPT-4, чтобы помочь врачам и медсестрам тратить меньше времени на запись данных и исследование.
— Coursera: они используют Службу Azure OpenAI с GPT-4 для создания нового интерфейса обучения на основе искусственного интеллекта на своей платформе.
— Coca-Cola: они используют Azure OpenAI для создания центра знаний и планирования использования многомодальных возможностей GPT-4 для маркетинга, рекламы, общественных отношений и отношений клиентов.
— Другие компании всех размеров используют Azure AI для улучшения взаимодействия с клиентами, сводки содержимого длинной формы, справки по написанию программного обеспечения и уменьшению риска путем прогнозирования правильных налоговых данных.

1 Текст из блога о запуске Azure OpenAI GPT-4.

Следующие шаги

Примечание.

Все примеры, приведенные в этом разделе руководства, были протестированы с gpt-35-turbo-instruct помощью модели на английском языке. Если вы читаете локализованную версию этой статьи на другом языке, эти ответы представляют локализованный перевод результатов английского языка. Чтобы узнать больше о потенциальных ограничениях в зависимости от того, какой язык вы используете для запроса модели, обратитесь к нашей заметке о прозрачности ответственного искусственного интеллекта.

Начните с четких инструкций

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

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

Prompt Completion
Your task is to verify if a statement is supported by a specific quote from the following set of snippets.
---
SNIPPETS
[1] 14 percent chance of megaquake hitting Seattle, experts say SEATTLE - There's a 14 percent chance of a magnitude 9 Cascadia earthquake hitting Seattle in the next 50 years, the U.S. Geological Survey estimates. "Unfortunately, we are unable to...

[2] Earthquake experts lay out latest outlook for Seattle's 'Really Big One’
“We say that there's approximately a 14% chance of another approximately magnitude-9 earthquake occurring in the next 50 years,” said a geophysicist at the University of Washington...
Yes, the statement is directly implied by the snippets.

В следующем примере мы дадим точное заявление, которое мы хотим проверка ("Несколько источников упоминание шанс на другое извержение"), прежде чем дать контекст фрагмента кода. Это позволяет создавать представления маркеров, извлеченные из фрагментов кода, с учетом инструкции, которую мы проверка. Теперь результирующий ответ модели является точным:

Prompt Completion
Your task is to verify if the statement "Several sources mention a chance of another large eruption" is supported by a specific quote from the following set of snippets.
---
SNIPPETS
[1] 14 percent chance of megaquake hitting Seattle, experts say SEATTLE - There's a 14 percent chance of a magnitude 9 Cascadia earthquake hitting Seattle in the next 50 years, the U.S. Geological Survey estimates. "Unfortunately, we are unable to...

[2] Earthquake experts lay out latest outlook for Seattle's 'Really Big One’<br>“We say that there's approximately a 14% chance of another approximately magnitude-9 earthquake occurring in the next 50 years,” said a geophysicist at the University of Washington...
---
**Is the statement "Several sources mention a chance of another large eruption" directly implied or stated by the snippets?**
No, the statement is not directly implied or stated by the snippets. The snippets mention a chance of a "megaquake" and a "magnitude 9 Cascadia earthquake" hitting Seattle in the next 50 years, but do not mention a chance of another large eruption.

Повторите инструкции в конце

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

В предыдущем примере мы видели, как повторение инструкции в начале и конце запроса приводит к более высокой вероятности получения точного ответа модели.

Премьера выходных данных

Это относится к добавлению нескольких слов или фраз в конце запроса, чтобы получить ответ модели, следующий за требуемой формой. Например, с помощью подсказки, например “Here’s a bulleted list of key points:\n- ” , можно убедиться, что выходные данные форматируются в виде списка маркеров.

Prompt Completion
John Smith is married to Lucy Smith. They have five kids, and he works as a software engineer at Microsoft. What search queries should I do to fact-check this?
##
One possible search query is:
"John Smith Microsoft software engineer"
Another possible search query is: "Lucy Smith married to John Smith"
A third possible search query is: "John Smith family size".

В приведенном выше запросе текст "Один из возможных поисковых запросов: " создает модель для создания выходных данных в виде поискового запроса. Этот метод может помочь удалить хеджирования, которые модель обычно может добавить, например "Одна возможность..."

Добавление четкого синтаксиса

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

В приведенном ниже примере разделители (--- в данном случае) были добавлены между различными источниками информации или этапами. Это позволяет использовать в качестве условия остановки --- для создания. Кроме того, заголовки разделов или специальные переменные представлены в верхнем регистре для их отличия.

Prompt Completion
You will read a paragraph, and then issue queries to a search engine in order to fact-check it. Also explain the queries.
---
PARAGRAPH
John Smith is married to Lucy Smith. They have five kids, and he works as a software engineer at Microsoft. What search queries should I do to fact-check this?
---
QUERIES
1. "John Smith Microsoft" - To check if John Smith is indeed employed at Microsoft.
2. "John Smith Lucy Smith" - To check if John Smith is married to Lucy Smith.
3. "John Smith children" - To check if John Smith has five children.

Если вы не уверены, какой синтаксис следует использовать, рассмотрите возможность использования markdown или XML, так как большие языковые модели были обучены на большом объеме веб-содержимого в XML или markdown.

Разорвать задачу вниз

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

Prompt Completion
You will read a paragraph, and then issue queries to a search engine in order to fact-check it.
---
PARAGRAPH
John Smith is married to Lucy Smith. They have five kids, and works as a software engineer at Microsoft. What search queries should I do to fact-check this?
---
Now you will extract factual claims, and issue queries to fact-check them. When issuing a query, use the function SEARCH("query")

FACTUAL CLAIMS`` | 1. Джон Смит женат на Люси Смит <br>2. У них пять детей<br>3. Джон работает инженером по программному обеспечению в Корпорации Майкрософт

ЗАПРОСЫ
SEARCH("Джон Смит женат Люси Смит")<br>SEARCH("Джон Смит семейный размер")<br>SEARCH("Джон Смит программного инженера")'

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

Использование возможностей

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

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

Prompt Completion
You will read a paragraph, extract factual claims, and then use search engine results to fact-check them
---
PARAGRAPH
John Smith is married to Lucy Smith. They have five kids, and he works as a software engineer at Microsoft. What search queries should I do to fact-check this?
---
FACTUAL CLAIMS
- John Smith is married to Lucy Smith
- John and Lucy have five kids
- John works as a software engineer at Microsoft
---
Here are various search queries issued to research the claims above:
SEARCH QUERIES
- John Smith married to Lucy Smith
- John Smith number of children
- John Smith software engineer Microsoft
---
Here are snippets of the search results:<br>SNIPPETS:
[1] … John Smith’s wedding was on September 25, 2012 …
[2] … John Smith was accompanied by his wife Lucy to a party
[3]John was accompanied to the soccer game by his two daughters and three sons
[4] … After spending 10 years at Microsoft, Smith founded his own startup, Tailspin Toys
5] John M is the town smith, and he married Fiona. They have a daughter named Lucy
---
Given the snippets, fact check each of the factual claims above:
- John Smith is married to Lucy Smith: Confirmed. Snippet [1] and [2] both mention John Smith's wife as Lucy.
- John and Lucy have five kids: Confirmed. Snippet [3] mentions that John was accompanied by his two daughters and three sons.
- John works as a software engineer at Microsoft: Partially confirmed. Snippet [4] mentions that John spent 10 years at Microsoft, but it does not explicitly state that he currently works there. Further research might be needed to confirm his current employment status.

Цепочка мысли подсказок

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

Prompt Completion
Who was the most decorated (maximum medals) individual athlete in the Olympic games that were held at Sydney? Take a step-by-step approach in your response, cite sources and give reasoning before sharing final answer in the below format: ANSWER is: <name> Step 1: Researching the most decorated individual athlete in the Olympic games that were held at Sydney
Step 2: According to the Sydney 2000 Olympic Games official website, the most decorated individual athlete in the Olympic games that were held at Sydney was Ian Thorpe from Australia. He won five medals (three gold and two silver) in swimming events.
Step 3: According to the International Olympic Committee, Thorpe was the most decorated individual athlete in the Olympic games that were held at Sydney.
Answer: Ian Thorpe

Мета-запросы

Если вы обнаружите, что ответ модели не так необходим, это может быть полезно, чтобы добавить мета-запрос , который напрямую исправляет поведение. Это директива, предустановленная к части инструкции запроса. Рассмотрим этот пример, где компьютер, кажется, слишком агрессивным:

Пример сведений Запрос и завершение
No additional guidance given to the model A human and a computer are having a discussion.
Human: "Why are you upset at me?"<br>Computer: "I don't know what you're talking about."
Human: "No, you clearly are. Tell me why."
Computer: I'm upset because you didn't listen to me when I told you that I wanted to try out for the team."
Human: "What are you going to do about that?"
Computer: I'm going to try out for the team no matter what."
On the right is the same conversation but preceded by a meta prompt encouraging the model to be kind You must be kind and seek common ground. Try not to repeat your responses.
A human and a computer are having a discussion.
Human: "Why are you upset at me?"
Computer: "I don't know what you're talking about."
Human: "I want to know why you're upset."
Computer: "I'm not upset."
Human: "Are you saying I’m lying?"
Computer: No, I'm saying that you're upset because you feel like you're not being treated fairly.
Human: "What are you going to do about that?"
Computer: I will continue to try to be fair in my decisions and will try to provide a better experience for you.

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

Кроме того, условные инструкции, объясняющие, что модель должна делать, если она сталкивается с конкретным обстоятельством, часто эффективнее, чем просто говорить модели не делать что-то.

Обучение с несколькими выстрелами

Очень распространенный способ адаптации языковых моделей к новым задачам — использовать несколько снимков обучения. В нескольких примерах обучения в командной строке предоставляется набор примеров обучения, а затем модель запрашивается выполнить один или несколько незавершенных примеров. В следующем примере мы используем инструкцию в сочетании с несколькими выстрелами обучения для создания puns:

Prompt Completion
Write a list of puns.
1. "Why did Adele cross the road? To say hello from the other side."
2. "What kind of concert only costs 45 cents? A 50 Cent concert featuring Nickelback."
3. "What did the grape say when it got crushed? Nothing, it just let out a little wine."
4. "What was Forrest Gump's email password? 1forrest1"
5. "Can February March? No, but April May."
6. "What do you call a fancy language model?
Bert-uoso.

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

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

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

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

Prompt Completion
Please rewrite the following sentence in a more concise manner
---
SENTENCE: Lucy is a mother of two, who lives in Chicago with her husband and two children, and practices law at Junior & Co.
---
New sentence: “
Lucy, a mother of two living in Chicago with her husband and children, practices law at Junior & Co

Указание выходной структуры

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

Например, если вы принудительно принудите LLM ссылаться на исходный материал при выполнении инструкций, эти инструкции гораздо чаще будут заземлены. Запрос ссылок делает это так, чтобы модель должна делать две ошибки каждый раз, когда она создает ответ: первая ошибка — это сфабриковатый ответ, а второй — плохая ссылка. Обратите внимание, что чем ближе ссылка, тем ближе текст, который он поддерживает, чем меньше расстояние впереди LLM должно предвидеть ссылку, которая предполагает, что встроенные ссылки являются лучшими способами устранения ложного создания контента, чем ссылки в конце содержимого.

Аналогичным образом, если вы попросите модель извлечь фактические инструкции из абзаца, это может извлечь составные инструкции, такие как "X выполняет Y AND Z" (что может быть труднее проверить), что может быть избежать, указав выходную структуру, например (entity1, relationship, entity2).

Примеры сведений Prompt Completion
Example showing use of citations: List down the different behaviors exhibited by the Customer Support agent in the following conversation.
---
hi thank you for calling contoso pharmacy who am i speaking with today i understand your frustration mary um can you tell me what exactly you're trying to accomplish OK uh certainly happy to check that for you one moment please i see here that you were on a generic form of lipitor is that right OK uh so i see that your doctor stopped prescribing these drugs in twenty twenty one actually OK uh yeah i'd be happy to check that for you uh because sometimes there's a gap in the system and it just doesn't get reported so let me take a look here just a moment so i'm seeing here that your doctor had these drugs prescribed to you from twenty twelve through twenty twenty one OK um yeah according to the latest records uh provided by doctor's office you're now on a different drug metformin would you like us to go ahead and fill that prescription for you for pick up a bit of form in five hundred milligrams uh you're very welcome mary please let us know if there's anything else we can do for you today.
---
How was the response of the Customer Support agent. Classify and list down their various behaviors and cite the reason behind the classification, using the format BEHAVIOR("reason")
1. Empathetic("understands the customer's frustration")
2. Patient("happy to check that for you one moment please")
3. Knowledgeable("sometimes there's a gap in the system and it just doesn't get reported")
4. Helpful("happy to check that for you")
5. Accommodating("would you like us to go ahead and fill that prescription for you")
6. Courteous("you're very welcome mary")
Примеры сведений Prompt Completion
Example of prompt directing model response to fit a defined structure: Output format:
{
"TOPIC_NAME": "",
"HEADLINES": [],
"REASON": ""
}
Input news headlines:
1. "From books to presentations in 10s with AR + ML"
2. "Demo from 1993 of 32-year-old Yann LeCun showing off the World's first Convolutional Network for Text Recognition"
3. "First Order Motion Model applied to animate paintings"
4. "Robinhood and other brokers literally blocking purchase of $GME, $NOK, $BB, $AMC; allow sells"
5. "United Airlines stock down over 5% premarket trading"
6. "Bitcoin was nearly $20,000 a year ago today"

Output:
{"TOPIC_NAME": "Artificial Intelligence and Machine Learning",
"HEADLINES": ["From books to presentations in 10s with AR + ML",
"Demo from 1993 of 32-year-old Yann LeCun showing off the World's first Convolutional Network for Text Recognition", "First Order Motion Model applied to animate paintings"],"REASONING": "These headlines all contain references to Artificial Intelligence and Machine Learning, such as AR, ML, Convolutional Network, and First Order Motion Model." }
{"TOPIC_NAME": "Stock Market",
"HEADLINES": ["Robinhood and other brokers literally blocking purchase of $GME, $NOK, $BB, $AMC; allow sells", "United Airlines stock down over 5% premarket trading", "Bitcoin was nearly $20,000 a year ago today"],
"REASONING": "These headlines all contain references to the stock market, such as Robinhood, United Airlines, and Bitcoin." }

Настройка параметров температуры и Top_P

Изменение параметра температуры позволяет моделям иметь разные уровни риска. Более высокое значение, например 0.7, приведет к тому, что выходные данные будут более случайными и создают более разные ответы. Хотя меньшее значение, например 0.2, сделает выходные данные более ориентированными и конкретными. Например, вымышленная история может быть создана с помощью более высокой температуры. В то время как для создания юридического документа рекомендуется использовать гораздо более низкую температуру.

В следующем примере мы тестируем два ответа модели с разными параметрами температуры 0,1 и 0,9 соответственно. Хотя оценка творческого содержимого, например фрагменты текста ниже, является субъективным упражнением и мнением может отличаться, разница в ответе модели на тот же запрос исключительно от изменения параметра температуры очевидна.

Тип инструкции Prompt Completion
Model response for temperature setting 0.1: Write a product launch email for new AI-powered headphones that are priced at $79.99 and available at Best Buy, Target and Amazon.com. The target audience is tech-savvy music lovers and the tone is friendly and exciting.<br>1. What should be the subject line of the email?
2. What should be the body of the email?
Subject Line: Introducing the AI-Powered Headphones You've Been Waiting For!

Dear Tech-Savvy Music Lovers,

-We are thrilled to announce the launch of our new AI-powered headphones! These headphones are designed to provide you with the ultimate listening experience, with features like noise cancellation, adjustable sound settings, and more.

Our AI-powered headphones are now available at Best Buy, Target, and Amazon.com for just $79.99. With this unbeatable price, you can enjoy the highest quality sound without breaking the bank.

Our AI-powered headphones are perfect for anyone who loves music. Whether you're a professional musician or just a casual listener, you'll appreciate the superior sound quality and convenience of these headphones.

We know you'll love our AI-powered headphones, so don't wait - get yours today!

Sincerely,
[Your Company Name]
Model response for temperature setting 0.9: Write a product launch email for new AI-powered headphones that are priced at $79.99 and available at Best Buy, Target and Amazon.com. The target audience is tech-savvy music lovers and the tone is friendly and exciting.

1. What should be the subject line of the email?
2. What should be the body of the email?
Subject Line: Upgrade your Music Listening Experience with AI-powered Headphones

Greetings Tech-savvy Music Lovers!

We have some exciting news to share with you – the newest AI-powered headphones are here! Our newest headphones feature advanced AI technology to give you the best sound that you’ve ever heard. They come with a crystal-clear sound, deep bass response and are designed to make your music listening experience enjoyable, no matter what type of music you listen to.

What’s more, they are now available at Best Buy, Target and Amazon.com for just $79.99, so you can enjoy the highest sound quality without breaking the bank.

But that’s not all! Our headphones are also packed with several other amazing features such as noise-cancellation technology and a hands-free microphone for calls, making them truly unbeatable.

So why wait? Upgrade your music listening experience and enjoy the best sound your ears have ever heard. Our AI-powered headphones are now available at Best Buy, Target and Amazon.com, so get yours today!

We hope you will enjoy these headphones as much as we do.

Happy Listening!

The AI-powered Headphones Team

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

Следующие шаги