你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure OpenAI 模型
Azure OpenAI 服务由一组具有不同功能和价位的模型提供支持。 模型可用性因区域而异。
可以使用模型列表 API 获取 Azure OpenAI 资源可用于推理和微调的模型列表。
模型更新
Azure OpenAI 现在支持对选定模型部署进行自动更新。 在支持自动更新的模型中,Azure AI Studio 中的“部署”和“编辑”下会显示模型版本下拉列表:
可以在 Azure OpenAI 模型版本一文中详细了解 Azure OpenAI 模型版本以及它们如何工作。
自动更新为默认值
将部署设置为“自动更新为默认值”后,模型部署会在默认版本更改后的两周内自动更新。 在发布新预览版两周后,当新的预览版本可用时,预览版本会自动更新。
如果推理模型还处于早期测试阶段,建议在部署模型时设置“自动更新为默认值”(如可用)。
特定模型版本
随着对 Azure OpenAI 的使用,以及开始生成和集成应用程序,可能想要手动控制模型更新。 在升级之前,可以首先测试和验证应用程序行为是否与用例相符。
为部署选择特定模型版本时,此版本会保持选中状态,直到你选择自行手动更新,或者达到该模型的停用日期。 达到停用日期后,模型将在停用时自动升级到默认版本。
查看停用日期
对于当前部署的模型,在 Azure AI Studio 中选择“部署”:
模型部署升级配置
可以在 Azure AI Studio 中检查为以前部署的模型设置的模型升级选项。 选择“部署”>在“部署名称”列下,选择蓝色的部署名称之一。
选择部署名称将打开模型部署的“属性”。 可以在版本更新策略下查看为部署设置的升级选项:
还可以通过 REST、Azure 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 格式。 |
支持的版本
2023-05-01
Swagger 规范
请求正文
这只是可用的请求正文参数的一个子集。 如需参数的完整列表,可以参考 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\""
}