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

使用 Azure OpenAI 模型

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

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

模型更新

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

Azure AI Studio 中的部署模型 UI 的屏幕截图。

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

自动更新为默认值

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

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

特定模型版本

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

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

查看停用日期

对于当前部署的模型,在 Azure AI Studio 中选择“部署”

Azure AI Studio 的部署 UI 的屏幕截图。

模型部署升级配置

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

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

模型部署属性 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\""
}

后续步骤