使用 Azure OpenAI 模型
Azure OpenAI 服務是由一組具有不同功能和價格點的各種模型提供。 模型可用性會依區域而有所不同。
您可以使用模型清單 API,取得 Azure OpenAI 資源可用於推斷和微調的模型清單。
模型更新
Azure OpenAI 現在支援選定模型部署的自動更新。 在提供自動更新支援的模型中,Azure OpenAI Studio 的 [部署] 和 [編輯] 底下會顯示模型版本下拉式清單:
您可以參閱 Azure OpenAI 模型版本一文,以深入了解 Azure OpenAI 模型版本及其運作方式。
自動更新為預設值
當您將部署設定為 [自動更新為預設值] 時,您的模型部署會在預設版本變更的兩週內自動更新。 對於預覽版本,它會在發行新預覽版本兩週後開始自動更新 (如果有新的預覽版本可用時)。
如果您仍在推斷模型的早期測試階段,建議使用 [自動更新為預設值] 設定 (如果適用) 來部署模型。
特定模型版本
隨著您的 Azure OpenAI 使用方式不斷演變,您開始建置並整合可能想要手動控制模型更新的應用程式。 在升級之前,您可以先測試並驗證您的應用程式行為是否符合您的使用案例。
當您針對部署選取特定模型版本時,此版本會保持已選取狀態,直到您選擇自行手動更新,或達到模型的淘汰日期為止。 達到淘汰日期時,模型會在淘汰時自動升級至預設版本。
檢視淘汰日期
針對目前部署的模型,從 Azure OpenAI Studio 選取 [部署]:
模型部署升級設定
您可以檢查在 Azure OpenAI 工作室中針對先前部署的模型所設定的模型升級選項。 選取 [部署]> 在部署名稱資料行下方,選取一個以藍色醒目提示的部署名稱。
選取部署名稱會開啟模型部署的屬性。 您可以在 [版本更新原則] 底下檢視部署所設定的升級選項:
您也可以透過 REST、Azure PowerShell 和 Azure CLI 存取對應的屬性。
選項 | 參閱 | 更新 |
---|---|---|
REST | 是。 如果未傳回 versionUpgradeOption ,則表示它是 null |
Yes |
Azure PowerShell | 是。可以檢查 VersionUpgradeOption 是否為 $null |
Yes |
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 |
string | 必要 | Azure OpenAI 資源的名稱。 |
deploymentName |
string | 必要 | 部署現有模型時所選擇的部署名稱,或您為新模型部署使用的名稱。 |
resourceGroupName |
string | 必要 | 此模型部署的相關資源群組名稱。 |
subscriptionId |
string | 必要 | 相關聯的訂用帳戶的訂用帳戶識別碼。 |
api-version |
string | 必要 | 用於此作業的 API 版本。 這會遵循 YYYY-MM-DD 格式。 |
支援的版本
2023-05-01
Swagger 規格
要求本文
這只是可用要求主體參數的子集。 如需參數的完整清單,您可以參考 REST API 參考文件。
參數 | 類型 | 描述 |
---|---|---|
versionUpgradeOption | String | 部署模型版本升級選項: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\""
}