使用 Azure OpenAI 模型
Azure OpenAI 服務是由一組具有不同功能和價格點的各種模型提供。 模型可用性會依區域而有所不同。
您可以使用模型清單 API,取得 Azure OpenAI 資源可用於推斷和微調的模型清單。
模型更新
Azure OpenAI 現在支援選定模型部署的自動更新。 在提供自動更新支援的模型上,Azure AI Foundry 入口網站中會顯示模型版本下拉式清單的 [部署 和 編輯]:
您可以參閱 Azure OpenAI 模型版本一文,以深入了解 Azure OpenAI 模型版本及其運作方式。
自動更新為預設值
當您將部署設定為 [自動更新為預設值] 時,您的模型部署會在預設版本變更的兩週內自動更新。 對於預覽版本,它會在發行新預覽版本兩週後開始自動更新 (如果有新的預覽版本可用時)。
如果您仍在推斷模型的早期測試階段,建議使用 [自動更新為預設值] 設定 (如果適用) 來部署模型。
特定模型版本
隨著您的 Azure OpenAI 使用方式不斷演變,您開始建置並整合可能想要手動控制模型更新的應用程式。 在升級之前,您可以先測試並驗證您的應用程式行為是否符合您的使用案例。
當您針對部署選取特定模型版本時,此版本會保持已選取狀態,直到您選擇自行手動更新,或達到模型的淘汰日期為止。 達到淘汰日期時,模型會在淘汰時自動升級至預設版本。
檢視淘汰日期
針對目前部署的模型,在 Azure AI Foundry 入口網站中選取 [部署]:
模型部署升級設定
您可以在 Azure AI Foundry 入口網站中,檢查針對先前部署的模型所設定的模型升級選項。 選取 [部署]> 在部署名稱資料行下方,選取一個以藍色醒目提示的部署名稱。
選取部署名稱會開啟模型部署的屬性。 您可以在 [版本更新原則] 底下檢視部署所設定的升級選項:
您也可以透過 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\""
}
管理布建部署類型的模型
布建的部署支援不同的模型管理做法。 布建的部署模型管理做法旨在讓您最充分掌控模型版本與模型系列之間的移轉時機和方式。 目前有兩種方法可用來管理布建部署的模型:(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 檔。
- 一旦您確認尚未進行推斷呼叫,請刪除原始布建的部署。