Интеграция Azure OpenAI с приложением

Завершено

Azure OpenAI предлагает как языковые пакеты SDK, так и REST API, которые разработчики могут использовать для добавления функциональных возможностей искусственного интеллекта в свои приложения. Возможности создания искусственного интеллекта в Azure OpenAI предоставляются с помощью моделей. Модели, доступные в службе Azure OpenAI, принадлежат разным семействам, каждый из которых имеет собственный фокус. Чтобы использовать одну из этих моделей, необходимо развернуть с помощью службы Azure OpenAI.

Создание ресурса Azure OpenAI

Ресурс Azure OpenAI можно развернуть с помощью интерфейса командной строки Azure (CLI) и портал Azure. Создание ресурса Azure OpenAI с помощью портал Azure аналогично развертыванию отдельных ресурсов служб ИИ Azure и является частью служб ИИ Azure.

  1. Перейдите на портал Azure.
  2. Найдите Azure OpenAI, выберите его и нажмите кнопку "Создать"
  3. Введите соответствующие значения для пустых полей и создайте ресурс.

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

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

Выбор и развертывание модели

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

  • Создание предварительно обученного преобразователя (GPT) — модели, которые понимают и создают естественный язык и некоторый код. Эти модели лучше всего подходит для общих задач, бесед и форматов чата.
  • Код (gpt-3 и более ранние версии) — модели кода создаются на основе моделей GPT и обучаются на миллионах строк кода. Эти модели могут понять и создать код, включая интерпретацию комментариев или естественного языка для создания кода. gpt-35-turbo и более поздние модели включают эту функциональность кода без необходимости отдельной модели кода.
  • Внедрение . Эти модели могут понять и использовать внедрения, которые являются особым форматом данных, которые могут использоваться моделями и алгоритмами машинного обучения.

В этом модуле основное внимание уделяется общим моделям GPT, а другие модели рассматриваются в других модулях.

Для старых моделей семейство моделей и возможности указываются в имени базовой модели, например text-davinci-003, которая указывает, что это текстовая модель, с davinci возможностями уровня и идентификатором 3. Подробные сведения о моделях, уровнях возможностей и соглашениях об именовании см. на странице документации по моделям Azure OpenAI.

Более поздние модели указывают, какое поколение и если они являются turbo версией, напримерgpt-35-turbo, представляющей модель GPT 3.5 Turbo.gpt

Чтобы развернуть модель для использования, перейдите в Azure AI Studio и перейдите на страницу "Развертывания". Далее в этом модуле лаборатория охватывает именно то, как это сделать.

Проверка подлинности и спецификация развернутой модели

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

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

Как записывается вводная строка, играет большую роль в том, как модель искусственного интеллекта будет реагировать. Например, если появится запрос с простым запросом, например "Что такое Azure OpenAI", часто вы получите универсальный ответ, аналогичный использованию поисковой системы.

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

Classify the following news headline into 1 of the following categories: Business, Tech, Politics, Sport, Entertainment

Headline 1: Donna Steffensen Is Cooking Up a New Kind of Perfection. The Internet’s most beloved cooking guru has a buzzy new book and a fresh new perspective
Category: Entertainment

Headline 2: Major Retailer Announces Plans to Close Over 100 Stores
Category:

Скорее всего, вы получите "Категория:" под заголовком, заполненным "Бизнес".

В раскрывающемся списке "Примеры запросов" можно найти в игровой площадке Azure AI Studio. Попробуйте быть как можно более конкретным о том, что вы хотите в ответ на модель, и вы можете быть удивлены тем, насколько проницательно это может быть!

Примечание.

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

Дополнительные сведения см. на странице документации по проектированию запроса.

доступные конечные точки;

Доступ к Azure OpenAI можно получить через REST API или пакет SDK, доступный для Python, C#, JavaScript и многое другое. Конечные точки, доступные для взаимодействия с развернутой моделью, используются по-разному, и некоторые конечные точки могут использовать только определенные модели. Доступные конечные точки:

  • Завершение — модель принимает входной запрос и создает одно или несколько прогнозируемых завершений. Вы увидите эту игровую площадку в студии, но не будет подробно описано в этом модуле.
  • ChatCompletion — модель принимает входные данные в виде беседы чата (где роли указываются с сообщением, которое они отправляют), и создается следующее завершение чата.
  • Внедрение — модель принимает входные данные и возвращает векторное представление этих входных данных.

Например, входные данные ChatCompletion — это беседа с четко определенными ролями для каждого сообщения:

{"role": "system", "content": "You are a helpful assistant, teaching people about AI."},
{"role": "user", "content": "Does Azure OpenAI support multiple languages?"},
{"role": "assistant", "content": "Yes, Azure OpenAI supports several languages, and can translate between them."},
{"role": "user", "content": "Do other Azure AI Services support translation too?"}

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

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

{"role": "system", "content": "You are an assistant designed to write intriguing job descriptions. "},
{"role": "user", "content": "Write a job description for the following job title: 'Business Intelligence Analyst'. It should include responsibilities, required qualifications, and highlight benefits like time off and flexible hours."}

Примечание.

Completion доступен для всех gpt-3 моделей поколения, в то время как ChatCompletion является единственным поддерживаемым вариантом для gpt-4 моделей и является предпочтительной конечной точкой при использовании gpt-35-turbo модели. Лаборатория в этом модуле используется gpt-35-turbo с конечной ChatCompletion точкой.