Поделиться через


Развертывание моделей с помощью Azure CLI и Bicep

Это важно

Бета-версия пакета SDK для вывода искусственного интеллекта Azure устарела и будет прекращена 30 мая 2026 г. Перейдите на общедоступный API OpenAI/v1 с стабильным пакетом SDK OpenAI. Следуйте инструкциям по миграции , чтобы перейти на OpenAI/v1, используя пакет SDK для предпочитаемого языка программирования.

В этой статье вы узнаете, как добавить новое развертывание модели в конечную точку Foundry Models. Развертывание доступно для вывода в ресурсе Foundry при указании имени развертывания в запросах.

Предпосылки

Чтобы завершить эту статью, вам потребуется следующее:

  • Установите Azure CLI (версия 2.60 или более поздней версии) и cognitiveservices расширение.

    az extension add -n cognitiveservices
    
  • Некоторые команды в этом руководстве используют инструмент jq, который может не быть установлен в вашей системе. Инструкции по установке см. в разделе "Скачать jq".

  • Определите следующие сведения:

    • Идентификатор подписки Azure

    • Имя ресурса системы Foundry

    • Группа ресурсов, в которой развернут ресурс Foundry

Добавление моделей

Чтобы добавить модель, сначала определите, какую модель вы хотите развернуть. Выполните запрос доступных моделей следующим образом:

  1. Войдите в свою подписку Azure.

    az login
    
  2. Если у вас несколько подписок, выберите подписку, в которой находится ваш ресурс.

    az account set --subscription $subscriptionId
    
  3. Задайте следующие переменные среды с именем ресурса Foundry, который вы планируете использовать и группу ресурсов.

    accountName="<ai-services-resource-name>"
    resourceGroupName="<resource-group>"
    location="eastus2"
    
  4. Если вы еще не создали ресурс Foundry, создайте его.

    az cognitiveservices account create -n $accountName -g $resourceGroupName --custom-domain $accountName --location $location --kind AIServices --sku S0
    

    Справочник: az cognitiveservices account

  5. Проверьте, какие модели доступны для вас и под каким номером SKU. Номера SKU, также известные как типы развертывания, определяют способ обработки запросов инфраструктуры Azure. Модели могут предлагать различные типы развертывания. Следующая команда содержит все доступные определения модели:

    az cognitiveservices account list-models \
        -n $accountName \
        -g $resourceGroupName \
    | jq '.[] | { name: .name, format: .format, version: .version, sku: .skus[0].name, capacity: .skus[0].capacity.default }'
    

    Выходные данные включают доступные модели со своими свойствами:

    {
      "name": "Phi-4-mini-instruct",
      "format": "Microsoft",
      "version": "1",
      "sku": "GlobalStandard",
      "capacity": 1
    }
    

    Справочник: az cognitiveservices account list-models

  6. Определите модель, которую необходимо развернуть. Вам нужны свойства name, formatи versionsku. Свойство format указывает поставщику, предлагающего модель. В зависимости от типа развертывания может потребоваться также емкость.

  7. Добавьте модель развертывания в ресурс. В следующем примере добавляется Phi-4-mini-instruct:

    az cognitiveservices account deployment create \
        -n $accountName \
        -g $resourceGroupName \
        --deployment-name Phi-4-mini-instruct \
        --model-name Phi-4-mini-instruct \
        --model-version 1 \
        --model-format Microsoft \
        --sku-capacity 1 \
        --sku-name GlobalStandard
    

    Справочник: Развертывание учетной записи az cognitiveservices

  8. Убедитесь, что развертывание выполнено успешно:

    az cognitiveservices account deployment show \
        --deployment-name Phi-4-mini-instruct \
        -n $accountName \
        -g $resourceGroupName \
    | jq '.properties.provisioningState'
    

    Результат должен показываться "Succeeded". Модель готова к использованию после завершения подготовки.

    Справочник: az cognitiveservices account list-models

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

Используйте модель

Замечание

Этот раздел идентичен подходам CLI и Bicep.

Вы можете использовать развернутые модели, используя конечные точки для моделей Foundry для данного ресурса. При создании запроса укажите параметр model и вставьте созданное имя развертывания модели. Вы можете программно получить URI для конечной точки вывода с помощью следующего кода:

Конечная точка вывода

az cognitiveservices account show  -n $accountName -g $resourceGroupName | jq '.properties.endpoints["Azure AI Model Inference API"]'

Чтобы выполнить запросы к конечной точке Foundry Models, добавьте маршрут models. Например: https://<resource>.services.ai.azure.com/models. См. справочник по API вывода модели ИИ Azure для всех поддерживаемых операций.

Ключи инференции

az cognitiveservices account keys list  -n $accountName -g $resourceGroupName

Управление развертываниями

Вы можете просмотреть все развертывания, доступные с помощью интерфейса командной строки:

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

    az cognitiveservices account deployment list -n $accountName -g $resourceGroupName
    

    Справочник: az cognitiveservices account deployment list

  2. Подробные сведения о данном развертывании можно просмотреть:

    az cognitiveservices account deployment show \
        --deployment-name "Phi-4-mini-instruct" \
        -n $accountName \
        -g $resourceGroupName
    

    Справочник: az cognitiveservices account deployment show

  3. Вы можете удалить данное развертывание следующим образом:

    az cognitiveservices account deployment delete \
        --deployment-name "Phi-4-mini-instruct" \
        -n $accountName \
        -g $resourceGroupName
    

    Справочник: az cognitiveservices account deployment delete

  • Установите Azure CLI.

  • Определите следующие сведения:

    • Идентификатор подписки Azure
  • Имя ресурса Foundry (ранее известного как ресурс Служб искусственного интеллекта Azure)

  • Группа ресурсов, в которой развернут ресурс Foundry

  • Имя модели, поставщик, версия и артикул, которые вы хотите развернуть. Для поиска этих сведений можно использовать портал Foundry или Azure CLI. В этом примере вы развернете следующую модель:

    • Имя модели: Phi-4-mini-instruct
    • Поставщик: Microsoft
    • Версия:1
    • Тип развертывания: глобальный стандарт

Настройка среды

Пример в этой статье основан на примерах кода, содержащихся в репозитории Azure-Samples/azureai-model-inference-bicep . Чтобы выполнить команды локально, не копируя или вставляя содержимое файла, клонируйте репозиторий:

git clone https://github.com/Azure-Samples/azureai-model-inference-bicep

Файлы для этого примера находятся в следующих файлах:

cd azureai-model-inference-bicep/infra

Разрешения, необходимые для подписки на модели от партнеров и сообщества

Модели foundry от партнеров и сообщества требуют Azure Marketplace и доступны для развертывания (например, модели Cohere). Поставщики моделей определяют условия лицензии и устанавливают цену на использование своих моделей с помощью Azure Marketplace.

При развертывании сторонних моделей убедитесь, что у вас есть следующие разрешения в вашей учетной записи:

  • В подписке Azure:
    • Microsoft.MarketplaceOrdering/agreements/offers/plans/read
    • Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
    • Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
    • Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
    • Microsoft.SaaS/register/action
  • Для создания и использования ресурса SaaS на группе ресурсов выполните следующие действия.
    • Microsoft.SaaS/resources/read
    • Microsoft.SaaS/resources/write

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

Чтобы проверить свои разрешения, перейдите на портал Azure, откройте подписку, выберите "Контроль доступа" (IAM)>Проверить доступ и просмотрите назначенные роли.

Подсказка

Microsoft.SaaS/register/action — это однократная регистрация поставщика ресурсов SaaS в подписке. После регистрации его не нужно повторять для каждого развертывания.

Добавление модели

  1. Используйте шаблон ai-services-deployment-template.bicep для описания развертываний моделей:

    ai-services-deployment-template.bicep

    @description('Name of the Azure AI services account')
    param accountName string
    
    @description('Name of the model to deploy')
    param modelName string
    
    @description('Version of the model to deploy')
    param modelVersion string
    
    @allowed([
      'AI21 Labs'
      'Cohere'
      'Core42'
      'DeepSeek'
      'xAI'
      'Meta'
      'Microsoft'
      'Mistral AI'
      'OpenAI'
    ])
    @description('Model provider')
    param modelPublisherFormat string
    
    @allowed([
        'GlobalStandard'
        'DataZoneStandard'
        'Standard'
        'GlobalProvisioned'
        'Provisioned'
    ])
    @description('Model deployment SKU name')
    param skuName string = 'GlobalStandard'
    
    @description('Content filter policy name')
    param contentFilterPolicyName string = 'Microsoft.DefaultV2'
    
    @description('Model deployment capacity')
    param capacity int = 1
    
    resource modelDeployment 'Microsoft.CognitiveServices/accounts/deployments@2024-04-01-preview' = {
      name: '${accountName}/${modelName}'
      sku: {
        name: skuName
        capacity: capacity
      }
      properties: {
        model: {
          format: modelPublisherFormat
          name: modelName
          version: modelVersion
        }
        raiPolicyName: contentFilterPolicyName == null ? 'Microsoft.Nill' : contentFilterPolicyName
      }
    }
    
  2. Запустите развертывание:

    RESOURCE_GROUP="<resource-group-name>"
    ACCOUNT_NAME="<azure-ai-model-inference-name>" 
    MODEL_NAME="Phi-4-mini-instruct"
    PROVIDER="Microsoft"
    VERSION=1
    
    az deployment group create \
        --resource-group $RESOURCE_GROUP \
        --template-file ai-services-deployment-template.bicep \
        --parameters accountName=$ACCOUNT_NAME modelName=$MODEL_NAME modelVersion=$VERSION modelPublisherFormat=$PROVIDER
    
  3. Убедитесь, что развертывание выполнено успешно:

    az cognitiveservices account deployment show \
        --deployment-name $MODEL_NAME \
        -n $ACCOUNT_NAME \
        -g $RESOURCE_GROUP \
    | jq '.properties.provisioningState'
    

    Результат должен показываться "Succeeded".

Используйте модель

Замечание

Этот раздел идентичен подходам CLI и Bicep.

Вы можете использовать развернутые модели, используя конечные точки для моделей Foundry для данного ресурса. При создании запроса укажите параметр model и вставьте созданное имя развертывания модели. Вы можете программно получить URI для конечной точки вывода с помощью следующего кода:

Конечная точка вывода

az cognitiveservices account show  -n $accountName -g $resourceGroupName | jq '.properties.endpoints["Azure AI Model Inference API"]'

Чтобы выполнить запросы к конечной точке Foundry Models, добавьте маршрут models. Например: https://<resource>.services.ai.azure.com/models. См. справочник по API вывода модели ИИ Azure для всех поддерживаемых операций.

Ключи инференции

az cognitiveservices account keys list  -n $accountName -g $resourceGroupName

Устранение неполадок

Ошибка Причина Резолюция
Превышена квота Подписка достигла квоты развертывания для выбранного SKU или региона. Проверьте вашу квоту на портале Foundry или запросите увеличение через поддержку Azure.
Сбой авторизации Используемое удостоверение не имеет требуемой роли RBAC. Назначьте роль Cognitive Services Contributor для ресурса Foundry.
Модель недоступна Модель недоступна в вашем регионе или подписке. Запустите az cognitiveservices account list-models, чтобы проверить доступные модели и регионы.
Расширение не найдено Расширение cognitiveservices CLI не установлено. Запустите az extension add -n cognitiveservices , чтобы установить расширение.