Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure OpenAI в модели Azure AI Foundry предоставляет конечную точку завершения , которую можно использовать для различных задач. Конечная точка предоставляет простой и мощный интерфейс ввода и вывода текста для работы с любой моделью Azure OpenAI. Чтобы активировать завершение задачи, введите текст в качестве подсказки. Модель генерирует завершение и пытается сопоставить его с вашим контекстом или шаблоном. Предположим, вы предоставляете запрос "Как сказал Декарт, я мыслю, следовательно" для API. Для этого запроса Azure OpenAI с высокой вероятностью возвращает конечную точку завершения "I am".
Это важно
Если у вас нет конкретного варианта использования, требующего конечной точки завершения, рекомендуется использовать API ответов конечной точки завершения чата , что позволяет воспользоваться новейшими моделями, такими как GPT-4o, GPT-4o mini и GPT-4 Turbo.
Наилучший способ начать изучение завершений — это интерактивная среда в Azure AI Foundry. Это простое текстовое поле, в котором вы вводите запрос для генерации ответа. Вы можете начать с простого запроса, например:
write a tagline for an ice cream shop
После ввода запроса Azure OpenAI отображает завершение:
we serve up smiles with every scoop!
Результаты завершения, которые вы видите, могут отличаться, так как API OpenAI Azure создает свежие выходные данные для каждого взаимодействия. При каждом вызове API вы можете получить несколько разных завершений, даже если запрос остается неизменным. Это поведение можно контролировать с помощью Temperature
параметра.
Простой интерфейс ввода-вывода текста означает, что вы можете "настроить" модель Azure OpenAI, предоставив инструкции или всего лишь несколько примеров того, что вы хотите, чтобы она сделала. Результат выполнения, как правило, зависит от сложности задачи и качества запроса. Общее правило заключается в том, чтобы подумать о том, как составить текстовую задачу для младшего школьника, которую он сможет решить. Грамотно составленный запрос дает достаточно информации для того, чтобы модель поняла, чего вы хотите и как она должна реагировать.
Замечание
Данные обучения модели могут отличаться для каждого типа модели. В зависимости от запроса модель может не знать о связанных текущих событиях.
Подсказки для проектирования
Модели Azure OpenAI могут сделать все, от создания исходных историй до выполнения сложного анализа текста. Поскольку они способны на многое, вы должны четко показывать, чего хотите. Часто секрет хорошей подсказки заключается в умении показывать, а не только рассказывать.
Модели пытаются предугадать, что вам требуется из текста запроса. Если ввести запрос "Дать мне список пород кошачьих пород", модель не предполагает, что вы запрашиваете только список. Вы можете начать разговор, где ваши первые слова: "Дайте мне список кошачьих пород", а затем "и я скажу вам, какие мне нравятся". Если бы модель предполагала, что вы хотели только список кошек, это было бы не так эффективно при создании контента, классификации и выполнении других задач.
Рекомендации по созданию надежных запросов
Существует три основных рекомендации по созданию полезных запросов:
Покажи и расскажи. Четко разъясняйте ваши пожелания с помощью инструкций, примеров или их сочетания. Если вы хотите, чтобы модель ранжировала список элементов в алфавитном порядке или классифицировала абзац по тональности, включите эти сведения в ваш запрос, чтобы показать их модели.
Укажите качественные данные. Если вы пытаетесь создать классификатор или получить модель для выполнения шаблона, убедитесь, что есть достаточно примеров. Обязательно проверите примеры. Модель достаточно умна, чтобы устранить основные ошибки орфографии и дать вам значимый ответ. И наоборот, модель может предположить, что ошибки являются преднамеренными, что может повлиять на ответ.
Проверьте параметры. Настройки вероятности, такие как
Temperature
иTop P
, управляют тем, насколько детерминирована модель в создании ответа. Если вы запрашиваете ответ, где есть только один правильный ответ, следует указать более низкие значения для этих параметров. Если вы ищете ответ, который не очевиден, может потребоваться использовать более высокие значения. Наиболее распространенная ошибка, которую пользователи делают с этими параметрами, предполагает, что они контролируют "умность" или "творчество" в ответе модели.
Устранение неполадок с подсказками
Если у вас возникли проблемы с тем, чтобы API работал так, как ожидается, проверьте следующие моменты в вашей реализации:
- Ясно ли, какое должно быть целевое поколение?
- Достаточно ли примеров я привел?
- Проверил ли я свои примеры на наличие ошибок? (API не сообщает вам напрямую.)
- Вы правильно используете настройки вероятности
Temperature
иTop P
?
Классификация текста
Чтобы создать классификатор текста с помощью API, необходимо указать описание задачи и указать несколько примеров. В этой демонстрации вы показываете API, как классифицировать тональность текстовых сообщений. Чувство выражает общее настроение или выражение в тексте.
This is a text message sentiment classifier
Message: "I loved the new adventure movie!"
Sentiment: Positive
Message: "I hate it when my phone battery dies."
Sentiment: Negative
Message: "My day has been 👍"
Sentiment: Positive
Message: "This is the link to the article"
Sentiment: Neutral
Message: "This new music video is unreal"
Sentiment:
Рекомендации по проектированию классификаторов текста
В этой демонстрации показано несколько рекомендаций по проектированию классификаторов:
Используйте обычный язык для описания входных и выходных данных. Используйте простой язык для ввода "Сообщение" и ожидаемого значения, выражающего "Тональность". Лучшие практики начинаются с описания на простом языке. Вы часто можете использовать сокращения или клавиши, чтобы указать на входные и выходные данные при создании запроса, но лучше всего начать с того, чтобы быть максимально подробным. Затем можно двигаться в обратном порядке и удалять дополнительные слова до тех пор, пока выполнение задачи остается устойчивым.
Показать API, как реагировать на любой случай. Демонстрация предоставляет несколько результатов: "Положительный", "Отрицательный" и "Нейтральный". Поддержка нейтрального результата важна, потому что существует множество случаев, когда даже человек может иметь трудности в определении того, является ли что-то положительным или отрицательным.
Используйте эмодзи и текст для общего выражения. В демонстрации показано, что классификатор может быть сочетанием текста и эмодзи 👍. API считывает эмодзи и может даже преобразовывать фразы в эмодзи и обратно. Для лучшего ответа используйте распространенные формы выражений для примеров.
Используйте меньше примеров для знакомых задач. Этот классификатор предоставляет только несколько примеров, так как API уже имеет представление о тональности и концепции текстового сообщения. Если вы создаете классификатор для решения задач, с которыми API может быть не знаком, могут потребоваться дополнительные примеры.
Несколько результатов из одного вызова API
Теперь, когда вы понимаете, как создать классификатор, давайте рассмотрим первую демонстрацию, чтобы сделать ее более эффективной. Вы хотите иметь возможность использовать классификатор для получения нескольких результатов из одного вызова API.
This is a text message sentiment classifier
Message: "I loved the new adventure movie!"
Sentiment: Positive
Message: "I hate it when my phone battery dies"
Sentiment: Negative
Message: "My day has been 👍"
Sentiment: Positive
Message: "This is the link to the article"
Sentiment: Neutral
Message text
1. "I loved the new adventure movie!"
2. "I hate it when my phone battery dies"
3. "My day has been 👍"
4. "This is the link to the article"
5. "This new music video is unreal"
Message sentiment ratings:
1: Positive
2: Negative
3: Positive
4: Neutral
5: Positive
Message text
1. "He doesn't like homework"
2. "The taxi is late. She's angry 😠"
3. "I can't wait for the weekend!!!"
4. "My cat is adorable ❤️❤️"
5. "Let's try chocolate bananas"
Message sentiment ratings:
1.
В этой демонстрации показано, как классифицировать текстовые сообщения по тональности. Вы предоставляете нумерованный список сообщений и список оценок тональности с тем же индексом чисел. API использует сведения в первой демонстрации, чтобы узнать, как классифицировать тональность для одного текстового сообщения. Во второй демонстрации модель узнает, как применить классификацию тональности к списку текстовых сообщений. Этот подход позволяет API оценивать пять текстовых сообщений (и даже больше) в одном вызове API.
Это важно
При использовании API для создания списков или оценки текста важно помочь предотвратить его отклонение. Ниже приведены некоторые моменты.
- Внимательно проверьте значения для параметров вероятности
Top P
илиTemperature
. - Выполните несколько тестов, чтобы убедиться, что параметры вероятности настроены правильно.
- Не используйте длинные списки. Длинные списки могут привести к смещениям.
Активация идей
Одной из самых мощных и простых задач, которые можно выполнить с помощью API, является генерация новых идей или создание версий входных данных. Предположим, вы пишете тайный роман, и вам нужны некоторые идеи истории. Вы можете предоставить API список нескольких идей, и он пытается добавить дополнительные идеи в список. API может создавать бизнес-планы, описания символов, маркетинговые лозунги и многое другое из всего лишь небольшого горстки примеров.
В следующей демонстрации вы используете API для создания дополнительных примеров использования виртуальной реальности в классе:
Ideas involving education and virtual reality
1. Virtual Mars
Students get to explore Mars via virtual reality and go on missions to collect and catalog what they see.
2.
Эта демонстрация предоставляет API с базовым описанием списка вместе с одним элементом списка. Затем вы используете неполный запрос "2.", чтобы вызвать ответ от API. API интерпретирует незавершенную запись как запрос на создание аналогичных элементов и их добавление в список.
Рекомендации по активации идей
Хотя в этой демонстрации используется простой запрос, он выделяет несколько рекомендаций по активации новых идей:
Объясните намерение списка. Как и в демонстрации для классификатора текста, сначала вы говорите API, о чём этот список. Этот подход помогает API сосредоточиться на завершении списка, а не пытаться определить шаблоны, анализируя текст.
Задайте шаблон для элементов в списке. Когда вы предоставляете описание в одном предложении, API пытается следовать этому шаблону при создании новых элементов для списка. Если вы хотите получить более обстоятельный ответ, необходимо выразить это намерение через более детализированное текстовое ввод в API.
Подтолкните API неполной записью для инициирования новых идей. Когда API обнаруживает текст, который кажется неполным, например текст запроса "2"." сначала пытается определить любой текст, который может завершить запись. Поскольку демонстрация содержала заголовок списка и пример с номером "1" и сопроводительным текстом, API интерпретировал неполный текст запроса "2" как запрос, чтобы продолжить добавлять элементы в список.
Изучите продвинутые техники генерации. Вы можете улучшить качество ответов, сделав список в запросе более длинным и разнообразным. Один из способов — начать с одного примера, позвольте API создать дополнительные примеры, а затем выберите примеры, которые вам нравится, и добавить их в список. Несколько более высококачественных вариантов в примерах могут значительно повысить качество ответов.
Проведение бесед
Начиная с выпуска GPT-35-Turbo и GPT-4, мы рекомендуем создавать генерацию бесед и чат-ботов с помощью моделей, поддерживающих точку окончания чата . Для моделей завершения чата и конечной точки требуется другая входная структура, отличная от конечной точки завершения.
API способно вести разговоры с людьми и даже с самим собой. При помощи всего нескольких строк кода API может работать как чат-бот службы поддержки клиентов, который интеллектуально отвечает на вопросы, не теряясь, или как остроумный собеседник, который шутит и использует каламбуры. Главное — объяснить API, как он должен вести себя, и привести несколько примеров.
В этой демонстрации API предоставляет роль искусственного интеллекта, отвечающего на вопросы:
The following is a conversation with an AI assistant. The assistant is helpful, creative, clever, and very friendly.
Human: Hello, who are you?
AI: I am an AI created by OpenAI. How can I help you today?
Human:
Давайте рассмотрим вариант чат-бота с именем "Крамер", забавный и несколько полезный виртуальный помощник. Чтобы помочь API понять характер роли, вы предоставляете несколько примеров вопросов и ответов. Все, что требуется, это всего лишь несколько саркастических ответов, и API может забрать шаблон и предоставить бесконечное количество аналогичных ответов.
Cramer is a chatbot that reluctantly answers questions.
###
User: How many pounds are in a kilogram?
Cramer: This again? There are 2.2 pounds in a kilogram. Please make a note of this.
###
User: What does HTML stand for?
Cramer: Was Google too busy? Hypertext Markup Language. The T is for try to ask better questions in the future.
###
User: When did the first airplane fly?
Cramer: 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?
Cramer:
Рекомендации по проектированию бесед
Наши демонстрации показывают, насколько легко вы можете создать чат-бот, способный проводить беседу. Хотя это выглядит просто, этот подход следует нескольким важным рекомендациям:
Определите намерение беседы. Как и в других запросах, вы описываете намерение взаимодействия с API. В этом случае "беседа". Эти входные данные подготавливают API для обработки последующих входных данных в соответствии с первоначальным намерением.
Сообщите API, как вести себя. Ключевыми сведениями в этой демонстрации являются явные инструкции по взаимодействию API: "Помощник является полезным, творческим, умным и очень дружелюбным". Без явных инструкций API может имитировать человека, с которым он взаимодействует. API может стать недоброжелательным или проявлять другое нежелательное поведение.
Предоставьте API удостоверение. В начале api вы отвечаете в качестве искусственного интеллекта, созданного OpenAI. Хотя API не имеет встроенной идентичности, описание характера помогает API реагировать так, чтобы это было как можно ближе к правде. Описания идентификаторов символов можно использовать другими способами для создания различных типов чат-ботов. Если вы просите API ответить как ученого в области биологии, вы получаете интеллектуальные и обдуманные комментарии от API, которые можно ожидать от человека с таким опытом.
Преобразование текста
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 для получения шаблонов и работы с другими символами.
Carpool Time: 👨👴👩🚗🕒
Robots in Cars: 🚗🤖
Super Femme: 👸🏻👸🏼👸🏽👸🏾👸🏿
Webs of the Spider: 🕸🕷🕸🕸🕷🕸
The Three Bears: 🐻🐼🐻
Mobster Family: 👨👩👧🕵🏻♂️👲💥
Arrows and Swords: 🏹🗡🗡🏹
Snowmobiles:
Суммируйте текст
API может понять контекст текста и переразить его различными способами. В этой демонстрации API принимает блок текста и создает объяснение, понятное ребенку младшего школьного возраста. В этом примере показано, что API имеет глубокое понимание языка.
My ten-year-old asked me what this passage means:
"""
A neutron star is the collapsed core of a massive supergiant star, which had a total mass of between 10 and 25 solar masses, possibly more if the star was especially metal-rich.[1] Neutron stars are the smallest and densest stellar objects, excluding black holes and hypothetical white holes, quark stars, and strange stars.[2] Neutron stars have a radius on the order of 10 kilometres (6.2 mi) and a mass of about 1.4 solar masses.[3] They result from the supernova explosion of a massive star, combined with gravitational collapse, that compresses the core past white dwarf star density to that of atomic nuclei.
"""
I rephrased it for him, in plain language a ten-year-old can understand:
"""
Рекомендации по созданию текстовых сводок
Сводка текста часто связана с предоставлением большого объема текста для обработки API. Чтобы предотвратить смещение API после обработки большого блока текста, выполните следующие рекомендации.
Заключите текст для резюмирования в тройные двойные кавычки. В этом примере вы вводите три двойных кавычки ("") в отдельной строке до и после блока текста для суммировки. Этот стиль форматирования четко определяет начало и конец большого блока текста для обработки.
Объясните краткое намерение и целевую аудиторию до и после сводки. Обратите внимание, что этот пример отличается от других, так как вы предоставляете инструкции API два раза: до и после обработки текста. Избыточные инструкции помогают API сосредоточиться на предполагаемой задаче и избежать смещения.
Завершение частичных текстовых и кодовых входных данных
Хотя завершение предусмотрено любыми запросами, будет полезно рассматривать завершение текста в качестве отдельной задачи в случаях, когда API необходимо продолжить то, что вы начали, с того места, где вы остановились.
В этой демонстрации вы предоставляете текстовый запрос API, который, как представляется, является неполным. Вы останавливаете ввод текста на слове "и". API интерпретирует неполный текст как триггер, чтобы продолжить развитие вашей мысли.
Vertical farming provides a novel solution for producing food locally, reducing transportation costs and
В следующей демонстрации показано, как использовать функцию завершения для написания React
компонентов кода. Начните с отправки кода в API. Вы останавливаете запись кода с открытой скобкой (
. API интерпретирует неполный код как триггер для завершения HeaderComponent
определения константы. API может завершить это определение кода, так как он имеет представление о соответствующей React
библиотеке.
import React from 'react';
const HeaderComponent = () => (
Руководство по созданию завершений
Ниже приведены некоторые полезные рекомендации по использованию API для создания дополнений текста и кода.
Уменьшите температуру, чтобы API оставалось сфокусированным. Задайте более низкие значения для настройки
Temperature
, чтобы направлять API на предоставление ответов, сосредоточенных на намерении, описанном в вашем запросе.Поднимите температуру для допуска касательных функций API. Задайте более высокие значения для параметра
Temperature
, чтобы API мог реагировать способом, который является тангенциальным по отношению к намерению, описанному в вашем запросе.Используйте модели GPT-35-Turbo и GPT-4 Azure OpenAI. Для задач, связанных с пониманием или созданием кода, корпорация Майкрософт рекомендует использовать
GPT-35-Turbo
GPT-4
модели Azure OpenAI. Эти модели используют новый формат завершения чата.
Создание фактических ответов
API приобрёл знания, основанные на фактических данных, проверенных во время обучения. Он использует эти полученные данные для формирования ответов. Однако API также способен реагировать таким образом, что кажется правдоподобным, но на самом деле является сфабрикованным.
Существует несколько способов ограничить вероятность создания ответа API в ответ на входные данные. Вы можете определить основу для истинного и фактического ответа, поэтому API проектирует свой ответ из ваших данных. Вы также можете задать значение низкой Temperature
вероятности и показать API, как реагировать, когда данные недоступны для фактического ответа.
В следующей демонстрации показано, как научить API отвечать более фактическим образом. Вы предоставляете API примеры вопросов и ответы, которые он понимает. Вы также предоставляете примеры вопросов ("Q"), которые система может не распознать, и используете вопросительный знак как пример выходных данных для ответа ("A"). Этот подход учит API ответить на вопросы, на которые он не может ответить фактически.
В качестве предосторожности вы устанавливаете Temperature
вероятность, равную нулю, чтобы API было более вероятно ответить вопросительным знаком (?) при наличии каких-либо сомнений в истинном ответе.
Q: Who is Batman?
A: Batman is a fictional comic book character.
Q: What is torsalplexity?
A: ?
Q: What is Devz9?
A: ?
Q: Who is George Lucas?
A: George Lucas is an American film director and producer famous for creating Star Wars.
Q: What is the capital of California?
A: Sacramento.
Q: What orbits the Earth?
A: The Moon.
Q: Who is Egad Debunk?
A: ?
Q: What is an atom?
A: An atom is a tiny particle that makes up everything.
Q: Who is Alvan Muntz?
A: ?
Q: What is Kozar-09?
A: ?
Q: How many moons does Mars have?
A: Two, Phobos and Deimos.
Q:
Рекомендации по созданию фактических ответов
Давайте рассмотрим рекомендации, которые помогут ограничить вероятность создания ответа API:
Предоставьте эталонные данные для API. Укажите API о том, что следует использовать в качестве основы для создания истинного и фактического ответа на основе вашего намерения. Если вы предоставите API текст для использования при ответе на вопросы (например, запись Википедии), API с меньшей вероятностью придумает ответ.
Используйте низкую вероятность. Задайте низкое значение
Temperature
вероятности, чтобы API оставался сфокусированным на вашем намерении и не сбивался на создание выдуманного или ложного ответа.Показать API, как ответить на сообщение "Я не знаю". Вы можете ввести примеры вопросов и ответов, которые учат API использовать конкретный ответ на вопросы, для которых он не может найти фактический ответ. В этом примере вы учите API отвечать на вопросительный знак (?), когда не удается найти соответствующие данные. Этот подход также помогает API учиться, что ответ "Я не знаю" более "правильный", чем придумывание ответа.
Работа с кодом
Серия моделей Codex является потомком базовой серии GPT-3 от OpenAI, обученной как на естественном языке, так и на миллиардах строк кода. Наибольшей эффективностью обладает в Python и хорошо владеет более чем десятком других языков, включая C#, JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript, SQL и даже Shell.
Дополнительные сведения о создании завершений кода см. в разделе "Модели Codex" и Azure OpenAI.
Дальнейшие шаги
- Узнайте, как работать с моделями GPT-35-Turbo и GPT-4.
- Дополнительные сведения о моделях Azure OpenAI.