0Pricing
Azure Fundamentals · Урок

Azure OpenAI Service

Разверните модель GPT в Azure OpenAI Service, вызовите API дополнения из скрипта и изучите принципы ответственного искусственного интеллекта и варианты фильтрации содержимого.

«Azure OpenAI Service» — бесплатный урок Azure Fundamentals на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Azure Fundamentals, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Azure Fundamentals содержит 4 уроков всего.

Что такое Azure OpenAI Service

Azure OpenAI Service предоставляет доступ к большим языковым моделям OpenAI, включая модели GPT-4, GPT-3.5-turbo, DALL-E и Embeddings, через облачную инфраструктуру Azure от Microsoft. В отличие от непосредственного использования API OpenAI, Azure OpenAI предоставляет корпоративные возможности: частную сеть через VNet/Private Link, сертификаты соответствия требованиям Microsoft (ISO 27001, SOC 2, GDPR), фильтрацию содержимого, конфиденциальность данных клиентов (Ваши данные не используются для обучения базовых моделей OpenAI), а также интеграцию с Azure RBAC и мониторингом.

Запрос доступа и развёртывание моделей

Для Azure OpenAI требуется одобренная подписка: доступ ограничен, и его необходимо запросить через форму. После одобрения создайте ресурс Azure OpenAI, а затем создайте в нём развёртывание. Развёртывание связывает модель (например, gpt-4) с именем развёртывания (например, my-gpt4) и квотой токенов (ограничением числа токенов в минуту). При вызове API используется имя развёртывания, а не имя базовой модели. В одном ресурсе могут сосуществовать несколько развёртываний с разными моделями или квотами.

# Create an Azure OpenAI resource
az cognitiveservices account create \
  --name myOpenAI \
  --resource-group myRG \
  --kind OpenAI \
  --sku S0 \
  --location eastus

# Create a deployment
az cognitiveservices account deployment create \
  --name myOpenAI \
  --resource-group myRG \
  --deployment-name my-gpt4 \
  --model-name gpt-4 \
  --model-version '0613' \
  --model-format OpenAI \
  --sku-name Standard \
  --sku-capacity 10

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

API завершения чата (/openai/deployments/{deployment}/chat/completions) принимает список сообщений с ролями (system, user, assistant) и возвращает ответ модели. Сообщение system задаёт поведение и образ модели. Сообщение user содержит запрос или вопрос. Предыдущие реплики диалога включаются в массив сообщений, поэтому модель сохраняет контекст многоэтапного диалога. Температура (от 0 до 2) управляет случайностью ответов.

# Chat completion API call
curl -X POST 'https://myOpenAI.openai.azure.com/openai/deployments/my-gpt4/chat/completions?api-version=2024-02-01' \
  -H 'api-key: <key>' \
  -H 'Content-Type: application/json' \
  -d '{
    "messages": [
      {"role": "system", "content": "You are a helpful Azure expert."},
      {"role": "user", "content": "Explain what a Recovery Services vault is."}
    ],
    "temperature": 0.7,
    "max_tokens": 500
  }'

Основы разработки запросов

Разработка запросов — это создание эффективных входных сообщений для получения наилучших результатов от языковой модели. К основным методам относятся: системный запрос — задайте модели ясную роль и ограничения; примеры с несколькими вариантами — покажите модели от 2 до 5 примеров нужного формата входных и выходных данных; рассуждение по шагам — попросите модель последовательно обдумать задачу перед выдачей окончательного ответа; ограничения — явно укажите модели формат, длину и то, чего следует избегать. Хорошие запросы уменьшают количество галлюцинаций и повышают стабильность результатов.

Векторные представления для семантического поиска

Embeddings преобразуют текст в плотный числовой вектор, отражающий его смысл. Векторы двух фрагментов текста с похожим смыслом будут близки друг к другу в векторном пространстве (это измеряется косинусным сходством). Конечная точка векторных представлений Azure OpenAI (/embeddings) использует модель text-embedding-ada-002 для создания векторов размерностью 1 536. Векторные представления используются для построения семантического поиска (поиска документов, похожих на запрос), RAG (генерации с дополнением поиска) и рекомендательных систем.

# Get an embedding vector for a piece of text
curl -X POST 'https://myOpenAI.openai.azure.com/openai/deployments/my-embedding/embeddings?api-version=2024-02-01' \
  -H 'api-key: <key>' \
  -H 'Content-Type: application/json' \
  -d '{
    "input": "Azure Site Recovery replicates VMs to a secondary region."
  }'

Фильтрация содержимого

Azure OpenAI включает многоуровневую систему фильтрации содержимого, которая проверяет как запросы (входные данные), так и завершения (выходные данные). Она выявляет и блокирует содержимое в четырёх категориях: ненависть, сексуальное содержимое, насилие и самоповреждение. Для каждой категории предусмотрены три уровня серьёзности (низкий, средний, высокий), а пороги фильтрации можно настраивать отдельно. Попытки внедрения запросов (атаки обхода ограничений, направленные на переопределение системного запроса) также фильтруются. Фильтрация содержимого включена по умолчанию и для большинства моделей не может быть отключена без обоснования сценария использования.

Генерация с дополнением поиска (RAG)

RAG основывает ответы языковой модели на Ваших собственных данных, а не только на знаниях, полученных моделью при обучении. Процесс выглядит так: (1) проиндексируйте документы в векторном хранилище (например, Azure AI Search); (2) когда пользователь задаёт вопрос, преобразуйте вопрос в векторное представление и найдите в векторном хранилище релевантные фрагменты документов; (3) включите эти фрагменты в системный запрос как контекст; (4) модель отвечает на основе предоставленного контекста. RAG уменьшает количество галлюцинаций и позволяет LLM отвечать на вопросы о закрытых и актуальных данных без дообучения.

Дообучение и RAG

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

Azure ИИ Студия (ИИ Foundry)

Azure ИИ Студия (переименовывается в Azure ИИ Foundry) — это единый портал для создания приложений генеративного ИИ в Azure. Он предоставляет интерактивную площадку для тестирования дополнений модели, инструменты оценки качества модели на наборах данных с эталонными ответами, конструктор потока запросов для создания и развёртывания конвейеров RAG в виде REST API, а также интеграцию с GitHub и VS Code для рабочих процессов разработчиков. Azure ИИ Студия упрощает путь от развёртывания модели до готового к эксплуатации приложения на основе ИИ.

Ценообразование по токенам и управление квотами

Стоимость Azure OpenAI рассчитывается за каждые 1 000 токенов — один токен содержит примерно 4 символа или 0,75 слова. Оплачиваются токены как входных данных (запроса), так и выходных данных (дополнения). GPT-4 стоит значительно дороже за токен, чем GPT-3.5-turbo. Для каждого развёртывания действует квота токенов в минуту (TPM), ограничивающая пропускную способность для предотвращения злоупотреблений. Если приложение превышает квоту, API возвращает 429 TooManyRequests. Вы можете запросить увеличение квоты или реализовать экспоненциальную задержку и повторные попытки на стороне клиента.

Ответственный ИИ для генеративного ИИ

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

Быстрая проверка

Проверьте своё понимание концепций Microsoft Azure Fundamentals (AZ-900) из этого урока.

Итоги урока

В этом уроке Вы узнали, что Azure OpenAI Service обеспечивает корпоративный доступ к GPT-4 и другим моделям с поддержкой частных сетей и функций соответствия требованиям; API дополнений чата поддерживает многоэтапные диалоги с использованием ролей системных сообщений, сообщений пользователя и помощника; а векторные представления и RAG основывают ответы модели на Ваших частных данных, уменьшая количество галлюцинаций. Далее мы рассмотрим Azure Arc для управления гибридными и локальными ресурсами через плоскость управления Azure.

Часто задаваемые вопросы

Урок «Azure OpenAI Service» бесплатный?

Да — полный текст урока «Azure OpenAI Service» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Azure Fundamentals, подпишись на CoddyKit PRO. Курс Azure Fundamentals содержит 4 уроков всего.

Чему я научусь в уроке «Azure OpenAI Service»?

Разверните модель GPT в Azure OpenAI Service, вызовите API дополнения из скрипта и изучите принципы ответственного искусственного интеллекта и варианты фильтрации содержимого. Ты практикуешь Azure Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Azure Fundamentals?

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

Сколько времени занимает урок «Azure OpenAI Service»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Azure Fundamentals?

Да. Каждый урок Azure Fundamentals включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Обзор Azure Cognitive Services
  2. Практическое использование API Language и Vision
  3. Azure Machine Learning Studio
  4. Azure OpenAI Service
← Назад к Azure Fundamentals