Работа с моделями

Azure OpenAI в Microsoft Foundry включает разнообразные наборы моделей с разными возможностями и ценами. Доступность модели зависит от региона.

Вы можете получить список моделей, доступных как для инференции, так и для тонкой настройки вашим ресурсом Azure OpenAI, используя API списка моделей Models List API.

В этой статье показано, как:

  • Настройте автоматические обновления моделей.
  • Просмотр и обновление политики обновления версии развертывания.
  • Обновите развернутую версию модели с помощью API Azure Resource Manager.
  • Перенос подготовленных развертываний в другую версию или семейство моделей.

Необходимые условия

  • Подписка Azure с моделями Azure OpenAI.

Обновления модели

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

Больше информации о версиях моделей Azure OpenAI и их функционировании можно получить в статье Версии моделей Azure OpenAI.

Примечание

Автоматическое обновление модели поддерживается только для типов развертывания "Стандартный". Дополнительные сведения об управлении обновлениями моделей и миграцией в подготовленных типах развертывания см. в разделе об управлении моделями в подготовленных типах развертывания.

Автоматическое обновление до значения по умолчанию

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

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

Определенная версия модели

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

При выборе конкретной версии модели для развертывания эта версия остается выбранной до тех пор, пока вы не решите вручную обновить себя или когда вы достигнете даты выхода на пенсию для модели. Когда дата выхода на пенсию достигается, модель автоматически обновляется до версии по умолчанию во время выхода на пенсию.

Конфигурация обновления развертывания модели

Вы можете проверить параметры обновления модели для ранее развернутых моделей с помощью REST, Azure CLI и Azure PowerShell, а также на портале Foundry.

Соответствующее свойство также можно получить через REST, Azure PowerShell и Azure CLI.

Опция Прочитать Обновление
REST Да. Если versionUpgradeOption не возвращается, это означает, что это null Да
Azure PowerShell Да. VersionUpgradeOption может быть проверено на $null Да
Azure CLI; Да. Показывается null, если versionUpgradeOption не задано. Нет. В настоящее время невозможно обновить параметр обновления версии.

Существует три различных варианта обновления модели:

Имя Описание
OnceNewDefaultVersionAvailable После того как новая версия будет назначена по умолчанию, развертывание модели автоматически обновляется до версии по умолчанию в течение двух недель после внесения изменений обозначения.
OnceCurrentVersionExpired После достижения даты выхода на пенсию развертывание модели автоматически обновляется до текущей версии по умолчанию.
NoAutoUpgrade Развертывание модели никогда не обновляется автоматически. После достижения даты вывода из эксплуатации внедрение модели перестанет работать. Необходимо обновить код, ссылающийся на это развертывание, чтобы указать на развертывание неэкспирированных моделей.

Примечание

null эквивалентен OnceCurrentVersionExpired. Если параметр политики обновления версий отсутствует в свойствах модели, поддерживающей обновления модели, это означает, что значение в настоящее время null. После явного изменения этого значения свойство отображается на странице свойств студии, а также через REST API.

Примеры

Ознакомьтесь с руководством Azure PowerShell getting started, чтобы установить Azure PowerShell локально или использовать Azure Cloud Shell.

Ниже показано, как проверить VersionUpgradeOption свойство параметра, а также обновить его:

# Step 1: Get deployment
$deployment = Get-AzCognitiveServicesAccountDeployment -ResourceGroupName {ResourceGroupName} -AccountName {AccountName} -Name {DeploymentName}
 
# Step 2: Show VersionUpgradeOption
$deployment.Properties.VersionUpgradeOption
 
# VersionUpgradeOption can be null. One way to check is:
$null -eq $deployment.Properties.VersionUpgradeOption
 
# Step 3: Update VersionUpgradeOption
$deployment.Properties.VersionUpgradeOption = "NoAutoUpgrade"
New-AzCognitiveServicesAccountDeployment -ResourceGroupName {ResourceGroupName} -AccountName {AccountName} -Name {DeploymentName} -Properties $deployment.Properties -Sku $deployment.Sku
 
# Repeat steps 1 and 2 to confirm the change.
# If you aren't sure about the deployment name, list all deployments under an account:
Get-AzCognitiveServicesAccountDeployment -ResourceGroupName {ResourceGroupName} -AccountName {AccountName}
# Update to a new model version

# Step 1: Get deployment
$deployment = Get-AzCognitiveServicesAccountDeployment -ResourceGroupName {ResourceGroupName} -AccountName {AccountName} -Name {DeploymentName}

# Step 2: Show the current model version
$deployment.Properties.Model.Version

# Step 3: Update the model version
$deployment.Properties.Model.Version = "0613"
New-AzCognitiveServicesAccountDeployment -ResourceGroupName {ResourceGroupName} -AccountName {AccountName} -Name {DeploymentName} -Properties $deployment.Properties -Sku $deployment.Sku

# Repeat steps 1 and 2 to confirm the change.

Обновление и развертывание моделей с помощью API

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments/{deploymentName}?api-version=2025-06-01

Параметры пути

Параметр Тип Обязательно? Описание
accountName Строка Обязательно Имя вашего ресурса Azure OpenAI.
deploymentName Строка Обязательно Имя развертывания, выбранное при развертывании существующей модели или имя, которое будет иметь новое развертывание модели.
resourceGroupName Строка Обязательно Имя связанной группы ресурсов для развертывания этой модели.
subscriptionId Строка Обязательно Идентификатор подписки для связанной подписки.
api-version Строка Обязательно Версия API, используемая для этой операции. Это соответствует формату YYY-MM-DD.

Поддерживаемые версии

Текст запроса

Это только подмножество доступных параметров текста запроса. Полный список параметров см. в справочной документации по REST API.

Параметр Тип Описание
вариант обновления версии Строка Параметры обновления версии модели развертывания:
OnceNewDefaultVersionAvailable
OnceCurrentVersionExpired
NoAutoUpgrade
Емкость Целое число Это представляет объем квоты , которую вы назначаете этому развертыванию. Значение 1 равно 1000 токенов в минуту (TPM)

Пример запроса

curl -X PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-temp/providers/Microsoft.CognitiveServices/accounts/docs-openai-test-001/deployments/gpt-35-turbo?api-version=2025-06-01 \
  -H "Content-Type: application/json" \
  -H 'Authorization: Bearer YOUR_AUTH_TOKEN' \
  -d '{"sku":{"name":"Standard","capacity":120},"properties": {"model": {"format": "OpenAI","name": "gpt-35-turbo","version": "0613"},"versionUpgradeOption":"OnceCurrentVersionExpired"}}'

Примечание

Существует несколько способов создания токена авторизации. Самый простой способ начального тестирования — запустить Cloud Shell на портале Azure. Затем выполните команду az account get-access-token. Этот маркер можно использовать в качестве временного маркера авторизации для тестирования API.

Пример ответа

 {
  "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-temp/providers/Microsoft.CognitiveServices/accounts/docs-openai-test-001/deployments/gpt-35-turbo",
  "type": "Microsoft.CognitiveServices/accounts/deployments",
  "name": "gpt-35-turbo",
  "sku": {
    "name": "Standard",
    "capacity": 120
  },
  "properties": {
    "model": {
      "format": "OpenAI",
      "name": "gpt-35-turbo",
      "version": "0613"
    },
    "versionUpgradeOption": "OnceCurrentVersionExpired",
    "capabilities": {
      "chatCompletion": "true"
    },
    "provisioningState": "Succeeded",
    "rateLimits": [
      {
        "key": "request",
        "renewalPeriod": 10,
        "count": 120
      },
      {
        "key": "token",
        "renewalPeriod": 60,
        "count": 120000
      }
    ]
  },
  "systemData": {
    "createdBy": "docs@contoso.com",
    "createdByType": "User",
    "createdAt": "2023-02-28T02:57:15.8951706Z",
    "lastModifiedBy": "docs@contoso.com",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2023-10-31T15:35:53.082912Z"
  },
  "etag": "\"GUID\""
}

Управление моделями для подготовленных типов развертывания

Подготовленные развертывания поддерживают различные методики управления моделями. Подготовленные методики управления моделью развертывания предназначены для обеспечения наибольшего контроля над тем, когда и как выполняется миграция между версиями моделей и семействами моделей. В настоящее время существует два подхода для управления моделями подготовленных развертываний: (1) миграции на месте и (2) миграции с несколькими развертываниями.

Необходимые условия

  • Убедитесь, что для существующего типа развертывания поддерживается целевая версия или семейство моделей. Миграция может происходить только между подготовленными развертываниями одного типа развертывания. Дополнительные сведения о типах развертывания см. в документации по типу развертывания.
  • Перед попыткой миграции проверьте доступность емкости для целевой версии или семейства моделей. Дополнительные сведения об определении доступности емкости см. в документации по прозрачности емкости.
  • Для миграций с несколькими развертываниями убедитесь, что у вас достаточно квоты для поддержки нескольких развертываний одновременно. Дополнительные сведения о проверке квоты для каждого подготовленного типа развертывания см. в документации по затратам на подготовленную пропускную способность.

Локальные миграции для подготовленных развертываний

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

Миграция на месте: обновление версии модели

Миграции на месте, предназначенные для обновления существующего подготовленного развертывания до новой версии модели в одном семействе моделей, поддерживаются с помощью Foundry, REST API и Azure CLI. Чтобы выполнить миграцию на месте, предназначенную для обновления версии модели в Foundry, выберите Развертывания> в столбце "Имя развертывания" выберите имя развертывания, которое вы хотите перенести.

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

Миграция на месте: изменение семейства моделей

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

curl -X PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-temp/providers/Microsoft.CognitiveServices/accounts/docs-openai-test-001/deployments/gpt-4o-ptu-deployment?api-version=2024-10-01 \
  -H "Content-Type: application/json" \
  -H 'Authorization: Bearer YOUR_AUTH_TOKEN' \
  -d '{"sku":{"name":"GlobalProvisionedManaged","capacity":100},"properties": {"model": {"format": "OpenAI","name": "gpt-4o-mini","version": "2024-07-18"}}}'

Пример ответа

{
  "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-temp/providers/Microsoft.CognitiveServices/accounts/docs-openai-test-001/deployments/gpt-4o-ptu-deployment",
  "type": "Microsoft.CognitiveServices/accounts/deployments",
  "name": "gpt-4o-ptu-deployment",
  "sku": {
    "name": "GlobalProvisionedManaged",
    "capacity": 100
  },
  "properties": {
    "model": {
      "format": "OpenAI",
      "name": "gpt-4o-mini",
      "version": "2024-07-18"
    },
    "versionUpgradeOption": "OnceCurrentVersionExpired",
    "currentCapacity": 100,
    "capabilities": {
      "area": "EUR",
      "chatCompletion": "true",
      "jsonObjectResponse": "true",
      "maxContextToken": "128000",
      "maxOutputToken": "16834",
      "assistants": "true"
    },
    "provisioningState": "Updating",
    "rateLimits": [
      {
        "key": "request",
        "renewalPeriod": 10,
        "count": 300
      }
    ]
  },
  "systemData": {
    "createdBy": "docs@contoso.com",
    "createdByType": "User",
    "createdAt": "2025-01-28T02:57:15.8951706Z",
    "lastModifiedBy": "docs@contoso.com",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2025-01-29T15:35:53.082912Z"
  },
  "etag": "\"GUID\""
}

Примечание

Существует несколько способов создания токена авторизации. Самый простой способ начального тестирования — запустить Cloud Shell на портале Azure. Затем выполните команду az account get-access-token. Этот маркер можно использовать в качестве временного маркера авторизации для тестирования API.

Миграции с несколькими развертываниями для подготовленных развертываний

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

  • Создайте подготовленное развертывание. Для этого нового развертывания можно выбрать тот же подготовленный тип развертывания, что и существующее развертывание, или выбрать новый тип развертывания при необходимости.
  • Переключите трафик из существующего развернутого проекта в только что созданное развертывание с целевой версией или семейством моделей до тех пор, пока весь трафик не будет выгружен из исходного развертывания.
  • После миграции трафика на новое развертывание убедитесь, что в предыдущем развертывании не обрабатываются запросы вывода модели, гарантируя, что метрика запросов Azure OpenAI не отображает вызовы API, выполненные в течение 5–10 минут после переноса трафика. Для получения дополнительной информации об этой метрике см. документацию по мониторингу Azure OpenAI.
  • Убедившись, что вызовы вывода не были сделаны, удалите исходное подготовленное развертывание.

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

Вы получаете ответы 401 или 403 из API Azure Resource Manager

  • Убедитесь, что маркер доступа действителен и не истек.
  • Убедитесь, что у вас есть разрешение на чтение и обновление развертываний для ресурса.