Создание текста и управление им с помощью Azure OpenAI Services
24 апреля 2023 г.Узнайте, как создавать текст или управлять им с помощью службы Azure OpenAI. Этот мощный инструмент предоставляет различные модели с простым в использовании и эффективным интерфейсом ввода и вывода текста. Модель может точно создать завершение, отражающее контекст или шаблон, полученный при вводе текстового приглашения. Изучите возможности завершения с помощью игровой площадки Azure OpenAI Studio и узнайте, как контролировать дисперсию, регулируя настройку температуры. Следуйте инструкциям, чтобы создавать эффективные подсказки для задач по созданию контента, классификации и обсуждению.
<цитата>Если вы пропустили, как подключиться к службе Azure OpenAi — первая статья из этой серии.
Для начала попробуйте ввести что-нибудь простое, например:
напишите слоган для нового цветочного магазина
write a tagline for a new flower shop
"Bringing beauty to your life, one bloom at a time!"
Результаты завершения могут различаться, поскольку API является стохастическим по своей структуре. Это означает, что при вызове API результат может каждый раз немного отличаться, даже если подсказка одна и та же. Это потенциальное отклонение можно контролировать, регулируя настройку температуры. Этот интерфейс «ввод текста, вывод текста» позволяет «программировать» модель, предоставляя инструкции или просто несколько примеров желаемого результата. Сложность задачи и качество подсказки, вероятно, определят успех модели.
Как правило, при создании подсказки рекомендуется подумать о том, как написать текстовую задачу для ученика средней школы. Предоставление достаточной информации позволяет модели определить, что требуется и как она должна реагировать.
Основы
Модели OpenAI невероятно универсальны: они создают оригинальные истории, выполняют сложный анализ текста и многое другое. Тем не менее, важно быть явным при подсказке модели, поскольку она не может читать ваши мысли и точно интерпретировать желаемый результат. Показ, а не просто рассказ, является ключом к эффективной подсказке.
Модель может более точно определить задачу и отреагировать соответствующим образом, предоставив пример подсказки, такой как «Дайте мне список пород кошек», и указав ожидаемый результат. Невыполнение этого требования может привести к тому, что модель даст результат, который не соответствует желаемой цели, что ограничит ее эффективность в таких задачах, как создание контента, классификация и т. д.
Для создания эффективных подсказок важно придерживаться трех основных правил.
Покажи и расскажи
Приведите примеры того, что вы имеете в виду. Если вы хотите, чтобы модель ранжировала список элементов в алфавитном порядке, предоставьте несколько списков и убедитесь, что она понимает, что вы просите ее сделать. Если вы хотите, чтобы модель классифицировала абзац по настроению, дайте несколько абзацев и убедитесь, что она понимает, что ее просят сделать. Таким образом, вы можете убедиться, что модель правильно обучена и имеет наилучшие шансы на получение точных результатов.
Предоставьте качественные данные
Важно обеспечить наличие достаточного количества примеров для создания успешного классификатора или модели, которая будет следовать предполагаемому шаблону. Кроме того, необходимо тщательно вычитывать все примеры, поскольку модель обычно достаточно развита, чтобы распознавать опечатки или незначительные орфографические ошибки и давать соответствующий ответ. Однако модель может интерпретировать такие ошибки как преднамеренные, влияющие на ответ.
Проверьте настройки
Параметры температуры и top_p – это фундаментальные характеристики модели, которые можно использовать для настройки уровня случайности в сгенерированном ответе. Увеличение значения температуры приведет к более разнообразным и неожиданным откликам, а уменьшение сделает модель более детерминированной и точной. Точно так же увеличение значения top_p позволит модели учитывать больше вариантов при выборе ответа. Его уменьшение приведет к тому, что модель с большей вероятностью выберет наиболее очевидный вариант. Важно отметить, что эти функции не следует использовать для измерения «умности» или «креативности» модели, поскольку это не является их назначением. Вместо этого эти параметры следует настроить для достижения желаемого уровня случайности или точности в генерируемых моделью ответах.
Классификация
В первом эксперименте мы будем использовать API для создания классификатора текста, который сможет точно определять тональность ответов. Нам нужно будет предоставить API описание задачи и несколько примеров типов настроений, которые мы хотели бы, чтобы классификатор распознавал. После обучения классификатора мы можем использовать его для уверенной оценки тональности любого ответа.
This is a feedback sentiment classifier
feedback: "Thank you for your service. I was a good experience".
Sentiment: Positive
feedback: "I´m totaly disappointed, nothing happened after calling you"
Sentiment: Negative
feedback: "it was 👍"
Sentiment: Positive
feedback: "everything was as expected"
Sentiment: Neutral
feedback: "After calling you, one of your staff solved me issue. everything is working now. Thank you"
Sentiment:
В этом примере стоит обратить внимание на несколько особенностей:
* Используйте простой язык для описания ваших входных и выходных данных. Мы используем простой язык для ввода «Отзывов» и ожидаемых результатов «Настроений». Чтобы лучше понять, начните с простых описаний. Хотя вы часто можете использовать сокращения или клавиши для обозначения ввода и вывода, при построении подсказки лучше всего начать с максимально описательного описания, а затем работать в обратном порядке, удаляя лишние слова, если производительность подсказки остается неизменной.< /p>
* В этом примере мы предоставляем несколько результатов «Положительно», «Отрицательно» и «Нейтрально». Нейтральный результат важен, потому что будет много случаев, когда человеку будет трудно определить, является ли что-то положительным или отрицательным, и ситуаций, когда это не так. Покажите API, как реагировать на любой запрос.
* Вы можете использовать текст и эмодзи. Классификатор представляет собой сочетание текста и эмодзи 👍. API считывает смайлики и даже может преобразовывать выражения в них и из них.
* Для знакомых задач вам нужно меньше примеров. Для этого классификатора мы предоставили лишь несколько примеров. Это связано с тем, что API уже понимает настроение и концепцию твита. Если вы создаете классификатор для чего-то, с чем API может быть не знаком, может потребоваться предоставить больше примеров.
Генерация
Одна из самых мощных и эффективных возможностей API – генерация новых идей или версий входных данных. Предоставление API нескольких сюжетных идей может создать дополнительные мысли в виде бизнес-планов, описаний персонажей и маркетинговых слоганов.
Мы видели, как он успешно генерировал такие идеи, используя лишь несколько первоначальных примеров.
Ideas involving chatbots and customer service
1. 24/7Chatbots are available 24 hours a day and serving always with the same quality
2.
В этом примере мы предоставили API краткое описание списка и модели. Затем мы попросили API создать второй элемент в списке, введя число два.
Хотя это простая подсказка, стоит отметить несколько деталей:
- Мы объяснили назначение списка
Очень важно предоставить информацию, описывающую его, заранее, чтобы гарантировать, что API заполнит список. Это позволяет сосредоточиться на перечислении элементов, соответствующих критериям, а не на попытках расшифровать базовый шаблон.
* Наш пример устанавливает шаблон для остальной части списка
Из-за предоставленного описания, состоящего из одного предложения, API попытается придерживаться того же стиля для остальных элементов в списке. Выполнение этой настройки в самом начале необходимо для получения более подробного ответа.
* Мы запрашиваем API, добавляя неполную запись.
Когда API встречает цифру 2., за которой следует внезапный перерыв в подсказке, он пытается интерпретировать контекст и определить, что должно быть дальше. Учитывая предыдущий пример с номером один и начальным заголовком списка, наиболее логичным ответом будет продолжение добавления элементов в список.
Разговор
API невероятно хорошо умеет общаться с людьми и с самим собой. С минимальным руководством мы стали свидетелями того, как API действует как чат-бот обслуживания клиентов, способный точно и уравновешенно отвечать на вопросы, а также как остроумный собеседник, который может шутить и каламбурить. Секрет успеха API заключается в предоставлении инструкций о том, как он должен работать, и предоставлении соответствующих примеров.
Herbert is a chatbot that reluctantly answers questions
###
User: How many pounds are in a kilogram?
Herbert: This again? There are 2.2 pounds in a kilogram. Please make a note of this.
###
User: What does HTML stand for?
Herbert: Was Bing too busy? Hypertext Markup Language. The T is for try to ask better questions in the future.
###
User: When did the first airplane fly?
Herbert: On December 17, 1903, Wilbur and Orville Wright made the first flights. I wish they'd come and take me away.
###
User: Who was the first man in space?
Herbert:
Чтобы создать забавного и полезного чат-бота, мы предлагаем несколько примеров вопросов и ответов, показывающих API, как отвечать.
Преобразование
Следующий эксперимент иллюстрирует процедуру преобразования английского языка во французский с помощью API. Мы покажем, как эффективно использовать API для преобразования английских слов и фраз в их французские эквиваленты.
English: I do not speak French.
French: Je ne parle pas français.
English: See you later!
French: À tout à l'heure!
English: Where is a good restaurant?
French: Où est un bon restaurant?
English: What rooms do you have available?
French: Quelles chambres avez-vous de disponible?
English:
Этот пример работает, потому что API уже владеет французским языком, поэтому нет необходимости пытаться научить его этому языку. Вместо этого нам нужно предоставить достаточное количество примеров, чтобы API понял процесс преобразования с одного языка на другой.
Обобщение
API может определить основное значение текста и преобразовать его в несколько различных форм. В качестве примера своих возможностей API может взять фрагмент текста и сформировать понятное для маленьких детей объяснение. Это служит для демонстрации всестороннего знания языка API.
Мы заключили текст, который необходимо обобщить, в три набора кавычек. Крайне важно предоставить краткое объяснение нашей цели и предполагаемой аудитории резюме как до, так и после текста, чтобы инструмент автоматического суммирования не выдавал результаты, которые слишком сильно отклоняются от исходного содержания.
Завершение
Несмотря на то, что все подсказки завершаются, может быть полезно рассматривать завершение текста как свою задачу в тех случаях, когда вы хотите, чтобы API продолжал с того места, где вы остановились. Например, если будет получено это приглашение, API продолжит думать о вертикальном фермерстве. Вы можете понизить значение температуры, чтобы API больше сфокусировался на намерении подсказки, или увеличить его, чтобы оно отклонялось от темы.
Vertical farming provides a novel solution for producing food locally, reducing transportation costs and
Заключение
В заключение хочу сказать, что служба Azure OpenAI — это мощный инструмент для создания текста и управления им. Он предоставляет различные модели с простым в использовании и эффективным интерфейсом ввода и вывода текста. Чтобы эффективно использовать эту службу, рекомендуется следовать рекомендациям по созданию эффективных подсказок и настройке параметров, таких как температура и параметры top_p, для достижения желаемого уровня случайности или точности в генерируемых откликах модели.
Возможности API включают классификацию, генерацию, обсуждение, преобразование, суммирование и завершение. С помощью правильных инструкций и примеров API может точно определять настроение, генерировать новые идеи, общаться с людьми, переводить языки, обобщать текст и выполнять подсказки.
В течение следующих недель вы найдете в этом блоге несколько простых экспериментов из этой серии.
Избранное фото Patrick Fore на Unsplash.
Также опубликовано здесь
Оригинал