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 10API завершения чата
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 — локальная установка не требуется.
Все уроки этого курса
- Обзор Azure Cognitive Services
- Практическое использование API Language и Vision
- Azure Machine Learning Studio
- Azure OpenAI Service