你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure OpenAI 模型

Azure OpenAI 服务由一组具有不同功能和价位的模型提供支持。 模型可用性因区域而异

可以使用模型列表 API 获取 Azure OpenAI 资源可用于推理和微调的模型列表。

模型更新

Azure OpenAI 现在支持对选定模型部署进行自动更新。 在支持自动更新的模型中,Azure AI Foundry 门户中的“部署”和“编辑”下会显示模型版本下拉列表:

Azure AI Foundry 门户中部署模型 UI 的屏幕截图。

可以在 Azure OpenAI 模型版本一文中详细了解 Azure OpenAI 模型版本以及它们如何工作。

注意

自动模型更新仅支持标准部署类型。 有关如何管理预配部署类型的模型更新和迁移的详细信息,请参阅有关管理预配部署类型的模型的部分

自动更新为默认值

将部署设置为“自动更新为默认值”后,模型部署会在默认版本更改后的两周内自动更新。 在发布新预览版两周后,当新的预览版本可用时,预览版本会自动更新。

如果推理模型还处于早期测试阶段,建议在部署模型时设置“自动更新为默认值”(如可用)。

特定模型版本

随着对 Azure OpenAI 的使用,以及开始生成和集成应用程序,可能想要手动控制模型更新。 在升级之前,可以首先测试和验证应用程序行为是否与用例相符。

为部署选择特定模型版本时,此版本会保持选中状态,直到你选择自行手动更新,或者达到该模型的停用日期。 达到停用日期后,模型将在停用时自动升级到默认版本。

查看停用日期

对于当前部署的模型,在 Azure AI Foundry 门户中选择“部署”:

Azure AI Foundry 门户的部署 UI 的屏幕截图。

模型部署升级配置

可以在 Azure AI Foundry 门户中检查为以前部署的模型设置了哪些模型升级选项。 选择“部署”>在“部署名称”列下,选择蓝色的部署名称之一。

选择部署名称将打开模型部署的“属性”。 可以在版本更新策略下查看为部署设置的升级选项:

模型部署属性 UI 的屏幕截图。

还可以通过 RESTAzure PowerShell 以及 Azure CLI 访问相应的属性。

选项 读取 更新
REST 是的。 如果未返回 versionUpgradeOption,则表示 null
Azure PowerShell 是的。可以检查 VersionUpgradeOption 是否有 $null
Azure CLI 是的。 如果未设置 versionUpgradeOption,则显示 null 不是。 目前无法更新版本升级选项。

有三种不同的模型部署升级选项:

名称 描述
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 字符串 必需 关联订阅的订阅 ID。
api-version 字符串 必需 要用于此操作的 API 版本。 它遵循 YYYY-MM-DD 格式。

支持的版本

请求正文

这只是可用的请求正文参数的一个子集。 如需参数的完整列表,可以参考 REST API 参考文档

参数 类型 说明
versionUpgradeOption 字符串 部署模型版本升级选项:
OnceNewDefaultVersionAvailable
OnceCurrentVersionExpired
NoAutoUpgrade
容量 整型 这表示你要分配给此部署的配额量。 值 1 等于每分钟 1,000 个标记 (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"}}'

注意

可通过多种方式生成授权令牌。 初始测试的最简单方法是从 Azure 门户启动 Cloud Shell。 然后运行 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 分钟内迁移模型版本或模型系列之间的任何现有流量。 在整个迁移窗口中,预配部署将显示“更新”预配状态。 可以像平常一样继续使用预配部署。 就地迁移完成后,预配状态将更新为“成功”,表示所有流量已迁移到目标模型版本或模型系列。

就地迁移:模型版本更新

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": "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\""
}

注意

可通过多种方式生成授权令牌。 初始测试的最简单方法是从 Azure 门户启动 Cloud Shell。 然后运行 az account get-access-token。 可以将此令牌用作 API 测试的临时授权令牌。

预配部署的多部署迁移

借助多部署迁移,可以更好地控制模型迁移过程。 借助多部署迁移,可以指定在新的预配部署中将现有流量迁移到目标模型版本或模型系列的速度。 使用多部署迁移方法迁移到新的模型版本或模型系列的过程如下所示:

  • 创建新的预配部署。 对于此新部署,可以选择保留与现有部署相同的预配部署类型,或根据需要选择新的部署类型。
  • 将流量从现有预配部署转换到新创建的预配部署(包含目标模型版本或模型系列),直到从原始部署卸载所有流量。
  • 一旦流量迁移至新部署,通过确保 Azure OpenAI 请求指标在推理流量迁移至新部署后的 5 到 10 分钟内未显示任何 API 调用,验证之前的预配部署上没有正在处理的推理请求。 有关此指标的详细信息,请参阅“监视 Azure OpenAI”文档
  • 一旦确认没有进行任何推理调用,即可删除区域预配部署。

后续步骤