Проектирование запросов OpenAI

Завершено

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

Что такое техника подсказок?

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

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

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

Внимание

Независимо от того, насколько хорошо вы можете разработать запрос, ответы от моделей ИИ никогда не должны приниматься как факт или полностью свободны от предвзятости. Всегда используйте ИИ ответственно. Дополнительные сведения см. в заметке о прозрачности Корпорации Майкрософт по принципам Azure OpenAI и ИИ Майкрософт.

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

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

Рекомендации по конечным точкам API

Примеры в остальной части этого урока будут сосредоточены на ChatCompletion. Следует отметить, что ChatCompletion также можно использовать для сценариев, отличных от чата, где все инструкции включены в системное сообщение и содержимое пользователя предоставляются в сообщении роли пользователя. Большинство из этих примеров можно изменить для использования конечной Completion точки при необходимости.

С точки зрения доступности Completion модели конечная точка может использоваться с gpt-3 и более ранними версиями и ChatCompletion может использоваться с gpt-35-turbo и более поздними моделями.

Настройка параметров модели

Помимо методов, описанных в этом уроке, корректировка параметров модели может оказать значительное влияние на ответ. В частности, temperature и top_p (top_probability) наиболее вероятно, чтобы повлиять на ответ модели, так как они управляют случайностью в модели, но по-разному.

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

В частности, высокий temperature уровень позволяет использовать больше вариантов в структуре предложений и высокий top_p уровень позволяет использовать больше вариантов слов (используя различные синонимы).

Попробуйте настроить эти параметры с тем же запросом, чтобы узнать, как они влияют на ответ. Рекомендуется изменить либо temperaturetop_p одновременно, но не оба.

Написание эффективных запросов

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

Укажите четкие инструкции

Запрос модели Azure OpenAI четко для того, что вы хотите, является одним из способов получить нужные результаты. Будучи как можно более описательным, модель может создать ответ, который наиболее тесно соответствует тому, что вы ищете.

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

Prompt

Write a product description for a new water bottle

Response

Introducing the latest addition to our product line - the innovative and eco-friendly water bottle.
Made from high-quality, BPA-free materials, this bottle is designed to keep your beverages at the
perfect temperature for hours. Its sleek and stylish design makes it the perfect accessory for any
outdoor activity or workout session. With its convenient carrying handle and leak-proof lid, you 
can take it with you wherever you go, without worrying about spills or leaks. Plus, its easy-to-clean
design ensures that you can use it again and again, making it the perfect choice for anyone looking 
for a reliable and sustainable water bottle.

По сравнению с аналогичным запросом с четкими инструкциями.

Prompt

Write a product description for a new water bottle that is 100% recycled. Be sure to include that
it comes in natural colors with no dyes, and each purchase removes 10 pounds of plastic from our 
oceans

Response

Introducing our newest water bottle, the eco-friendly choice for the conscious consumer. Made from 
100% recycled materials and available in natural colors with no dyes, this bottle is not only 
stylish but also sustainable. Each purchase of this bottle removes 10 pounds of plastic from 
our oceans, making it a responsible choice for those who care about the environment. Its durable 
and leak-proof design makes it perfect for outdoor activities, while its easy-to-carry handle 
makes it convenient to take on the go. Join us in our mission to reduce plastic waste and choose 
this eco-friendly water bottle for your daily hydration needs.

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

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

Формат инструкций

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

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

Основное, поддерживаемое и заземляющее содержимое

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

Основное содержимое относится к содержимому, являющееся предметом запроса, например предложение для перевода или сводки статьи. Это содержимое часто включается в начало или конец запроса (в виде инструкции и различается --- по блокам), с инструкциями, объясняющими, что делать с ним.

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

---
<insert full article here, as primary content>
---

Summarize this article and identify three takeaways in a bulleted list

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

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

---
<insert full email here, as primary content>
---
<the next line is the supporting content>
Topics I'm very interested in: AI, webinar dates, submission deadlines

Extract the key points from the above email, and put them in a bulleted list:

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

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

---
<insert unpublished paper on the history of AI here, as grounding content>
---

Where and when did the field of AI start?

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

Сигналы

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