使用 Azure OpenAI 模型
Azure OpenAI 服務是由一組具有不同功能和價格點的各種模型提供。 模型可用性會因區域而異。
您可以使用模型清單 API,取得 Azure OpenAI 資源可用於推斷和微調的模型清單。
模型更新
Azure OpenAI 現在支援選取模型部署的自動更新。 在提供自動更新支援的模型上,Azure OpenAI Studio 中會顯示模型版本下拉式清單,位於 [建立新部署] 和 [編輯部署] 底下:
您可以在 Azure OpenAI 模型版本一文中 深入瞭解 Azure OpenAI 模型版本 及其運作方式。
自動更新為預設值
當您將部署設定為 預設值自動更新時,您的模型部署會在預設版本變更后的兩周內自動更新。 針對預覽版本,它會在發行新的預覽版本兩周后,自動更新新的預覽版本。
如果您仍處於推斷模型的早期測試階段,建議您在可用時將具有自動更新的模型 部署為預設 設定。
特定模型版本
隨著您使用 Azure OpenAI 的發展,您開始建置並整合您可能想要手動控制模型更新的應用程式。 在升級之前,您可以先測試並驗證您的應用程式行為是否一致。
當您選取部署的特定模型版本時,此版本會保持選取狀態,直到您選擇手動更新自己,或一旦達到模型的淘汰日期為止。 達到淘汰日期時,模型會在淘汰時自動升級至預設版本。
檢視淘汰日期
針對目前部署的模型,從 Azure OpenAI Studio 選取 [部署]:
若要從 Azure OpenAI Studio 檢視指定區域中所有可用模型的淘汰日期,請選取 [模型>數據行] 選項> 選取 [淘汰微調] 和 [淘汰推斷]:
模型部署升級組態
您可以檢查在 Azure OpenAI Studio 中針對先前部署的模型所設定的模型升級選項。 選取 [部署名稱] 資料行底下的 [部署> ],選取藍色醒目提示的其中一個部署名稱。
選取部署名稱會開啟模型部署的屬性。 您可以在 [版本更新原則] 底下檢視部署的升級選項:
您也可以透過 REST、 Azure PowerShell 和 Azure CLI 存取對應的屬性。
選項 | 參閱 | 更新 |
---|---|---|
REST | 是。 如果未 versionUpgradeOption 傳回,表示它是 null |
Yes |
Azure PowerShell | 是。VersionUpgradeOption 可以檢查 $null |
Yes |
Azure CLI | 是。 它會顯示 null 是否 versionUpgradeOption 未設定。 |
否。 目前無法更新版本升級選項。 |
有三個不同的模型部署升級選項:
名稱 | 描述 |
---|---|
OnceNewDefaultVersionAvailable |
將新版本指定為預設值之後,模型部署會在進行指定變更的兩周內自動升級為預設版本。 |
OnceCurrentVersionExpired |
達到淘汰日期之後,模型部署會自動升級至目前的預設版本。 |
NoAutoUpgrade |
模型部署永遠不會自動升級。 到達淘汰日期之後,模型部署就會停止運作。 您必須更新參考該部署的程式代碼,以指向未到期的模型部署。 |
注意
null
等於 AutoUpgradeWhenExpired
。 如果支援模型升級的模型屬性中沒有 [版本更新原則] 選項,表示值目前null
為 。 一旦您明確修改此值,屬性就會顯示在 Studio 屬性頁面中,以及透過 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\""
}