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


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

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

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

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

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

Снимок экрана: пользовательский интерфейс модели развертывания на портале Azure AI Foundry.

Дополнительные сведения о версиях модели Azure OpenAI и их работе см. в статье о версиях моделей Azure OpenAI.

Замечание

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

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

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

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

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

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

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

Просмотр дат выхода на пенсию

Для развернутых в настоящее время моделей на портале Azure AI Foundry выберите "Развертывания":

Снимок экрана: пользовательский интерфейс развертывания портала Azure AI Foundry.

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

Вы можете проверить параметры обновления модели для ранее развернутых моделей на портале Azure AI Foundry. Выберите "Развертывания"> в столбце имени развертывания выберите одно из имен развертывания, выделенных синим цветом.

При выборе имени развертывания открываются свойства развертывания модели. Вы можете просмотреть параметры обновления для развертывания в разделе Политика обновления версий:

Снимок экрана: пользовательский интерфейс свойства развертывания модели.

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

Вариант Читайте Обновление
ОТДЫХ Да. Если versionUpgradeOption не возвращается, это означает, что это null Да
Azure PowerShell Да. VersionUpgradeOption может быть проверено на $null Да
Azure CLI Да. Она отображает null, если versionUpgradeOption не установлено. Нет. В настоящее время невозможно обновить параметр обновления версии.

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

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

Замечание

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

Примеры

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

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

// Step 1: Get Deployment
$deployment = Get-AzCognitiveServicesAccountDeployment -ResourceGroupName {ResourceGroupName} -AccountName {AccountName} -Name {DeploymentName}
 
// Step 2: Show Deployment VersionUpgradeOption
$deployment.Properties.VersionUpgradeOption
 
// VersionUpgradeOption can be null - one way to check is
$null -eq $deployment.Properties.VersionUpgradeOption
 
// Step 3: Update Deployment VersionUpgradeOption
$deployment.Properties.VersionUpgradeOption = "NoAutoUpgrade"
New-AzCognitiveServicesAccountDeployment -ResourceGroupName {ResourceGroupName} -AccountName {AccountName} -Name {DeploymentName} -Properties $deployment.Properties -Sku $deployment.Sku
 
// repeat step 1 and 2 to confirm the change.
// If not sure about deployment name, use this command to show all deployments under an account
Get-AzCognitiveServicesAccountDeployment -ResourceGroupName {ResourceGroupName} -AccountName {AccountName}
// To update to a new model version

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

// Step 2: Show Deployment Model properties
$deployment.Properties.Model.Version

// Step 3: Update Deployed Model Version
$deployment.Properties.Model.Version = "0613"
New-AzCognitiveServicesAccountDeployment -ResourceGroupName {ResourceGroupName} -AccountName {AccountName} -Name {DeploymentName} -Properties $deployment.Properties -Sku $deployment.Sku

// repeat step 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=2023-05-01

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

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

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

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

Это только подмножество доступных параметров текста запроса. Полный список параметров см. в справочной документации по 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=2023-05-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": "[email protected]",
    "createdByType": "User",
    "createdAt": "2023-02-28T02:57:15.8951706Z",
    "lastModifiedBy": "[email protected]",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2023-10-31T15:35:53.082912Z"
  },
  "etag": "\"GUID\""
}

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

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

Предпосылки

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

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

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

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

Миграции на месте, предназначенные для обновления существующего подготовленного развертывания до новой версии модели в том же семействе моделей, поддерживаются с помощью Azure AI Foundry, REST API и Azure CLI. Чтобы выполнить миграцию на месте для обновления версии модели в Azure AI 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": "[email protected]",
    "createdByType": "User",
    "createdAt": "2025-01-28T02:57:15.8951706Z",
    "lastModifiedBy": "[email protected]",
    "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.
  • Убедившись, что вызовы для вывода не были сделаны, удалите оригинальное подготовленное развертывание.

Дальнейшие шаги