共用方式為


在 Microsoft Foundry 模型中開始使用Azure OpenAI 的配置部署

備註

本文件指的是 Microsoft Foundry(經典版) 入口網站。

🔄如果你正在使用新的入口網站,請切換至 Microsoft Foundry(新版)文件

備註

本文件指的是 Microsoft Foundry(新) 入口網站。

以下指南將引導您了解使用 Microsoft Foundry 資源建立配置部署的關鍵步驟。 如需這裡所討論概念的更多詳細資料,請參閱:

先決條件

取得/核實PTU配額可用性

佈建輸送量部署是以佈建輸送量單位 (PTU) 為單位來調整大小。 每個佈建部署類型的 PTU 配額會依區域授與訂用帳戶,並限制可在該區域中跨所有模型和版本部署的 PTU 總數。

建立新的部署需要可用 (未使用) 的配額,才能涵蓋所需的部署大小。 例如:如果訂用帳戶在美國中南部具有下列設定:

  • 總 PTU 配額 = 500 個 PTU
  • 部署:
    • 100 個 PTU:GPT-4o,2024-05-13
    • 100 個 PTU:DeepSeek-R1,1

則會視為已使用 200 個 PTU 的配額,還有 300 個 PTU 可用來建立新的部署。

全域、資料區域和區域佈建配額的預設數量會指派給數個區域中的合格訂用帳戶。

你可以透過 Foundry 入口網站 的配額面板,選擇想要的訂閱和地區,查看該區域可用的配額。 例如,以下螢幕擷取畫面顯示所選訂用帳戶在美國西部的 300 個全域佈建輸送量 PTU 的配額限制。 此全域 PTU 的總使用量為 50 個,則您將有 250 個 PTU 單位可供部署全域布建輸送量部署類型。

Foundry 入口網站可用配額的截圖。

你可以透過 Microsoft Foundry操作區塊的配額面板查看該區域可用的配額。 並選擇所需的訂閱和區域。

您可以按一下 [請求配額 ] 按鈕來請求其他配額。

建立 Foundry 資源

配置部署是透過 Azure 中的 Foundry 資源物件建立的。 你必須在每個打算建立部署的區域都擁有 Foundry 資源。

如有需要,請使用 Azure 入口網站在具有可用配額的區域中建立資源

備註

Foundry 資源可同時支援多種 Foundry 部署類型。 您不需要為佈建部署提供新的資源。

使用已配置的部署選項來探索模型

驗證配額之後,您就可以建立部署。 前往 Foundry 模型目錄,發現具備配置部署選項的模型。

  1. 登入 Microsoft Foundry。 確定新鑄造廠的開關是關閉的。 這些步驟指的是Foundry (classic)
  2. 選擇針對已佈建部署啟用的訂用帳戶,然後在您擁有配額的區域中選取所需的資源。
  3. 您可以在模型集合篩選中,通過篩選 [ 直接來自 Azure ] 來選取模型。 這些是由 Azure 直接持有和服務的模型,並支援預置吞吐量部署選項。
  4. 選取您要部署的模型,並檢查模型卡片中的模型詳細數據。
  1. 登入 Microsoft Foundry。 確定 [新版 Foundry] 開關已開啟。 這些步驟指的是 Foundry(新)
  2. 選擇針對已佈建部署啟用的訂用帳戶,然後在您擁有配額的區域中選取所需的資源。
  3. 您可以在模型集合篩選中,通過篩選 [ 直接來自 Azure ] 來選取模型。 這些是由 Azure 直接持有和服務的模型,並支援預置吞吐量部署選項。
  4. 選取您要部署的模型,並檢查模型卡片中的模型詳細數據。

建立佈建部署 - 有容量可用時

若要建立佈建的部署,您可以遵循下列步驟;所述的選項會反映螢幕擷取畫面中顯示的項目。

Foundry 入口網站部署頁面佈建的部署的螢幕擷取畫面。

  1. 按兩下 [使用此模型 ],並設定下列欄位。

  2. 在您所布建的部署中,於 [部署類型] 下拉式選單中,選取您需要的 [全域布建輸送量]、[數據區布建輸送量] 或 [區域布建輸送量]。

  3. 展開 [進階選項] 下拉式功能表。

  4. 填寫每個欄位中的值。 以下為範例:

領域 說明 範例
選取模型 選擇您想要部署的特定模型。 GPT-4
模型版本 選擇要部署的模型版本。 0613
部署名稱 您的程式碼中會使用部署名稱,以透過用戶端程式庫和 REST API 來呼叫模型。 gpt-4
內容篩選 指定要套用至部署的篩選原則。 深入了解內容篩選的操作說明。 預設
部署類型 這會影響輸送量和效能。 從部署對話框下拉式清單中,選擇 [全域布建輸送量]、[數據區布建輸送量] 或 [區域布建輸送量] 全域預配置的吞吐量
佈建的輸送量單位 選擇您想要包含在部署中的輸送量。 100

備註

部署對話方塊包含提醒,指出您可以為 Foundry 佈建的輸送量購買 Azure 保留,以取得期限承諾用量的大量折扣。

輸入部署設定後,請按一下 [確認定價] 以繼續操作。 如果您選擇按小時付費,則會出現定價確認對話方塊,顯示部署的定價,且沒有任何 Azure 保留提供期限折扣。

如果您不確定成本,請取消部署,並在了解已佈建部署的付款模型和基礎成本後繼續操作。 此步驟可防止付款發票上出現非預期的高昂費用。 自我學習的資源包括:

下圖顯示您將看到的定價確認。 顯示的價格僅供參考。

顯示定價確認畫面的螢幕擷取畫面。

您可以使用下列 Azure CLI 命令,以程式設計方式建立部署。 若要指定部署類型,請根據預期的部署類型,將修改 sku-nameGlobalProvisionedManagedDataZoneProvisionedManagedProvisionedManaged。 使用所需的佈建輸送量單位數目來更新 sku-capacity

az cognitiveservices account deployment create \
--name <myResourceName> \
--resource-group <myResourceGroupName> \
--deployment-name MyModel \
--model-name GPT-4 \
--model-version 0613  \
--model-format OpenAI \
--sku-capacity 100 \
--sku-name ProvisionedManaged

您也可以使用 REST、ARM 範本、Bicep 和 Terraform 來建立部署。 請參閱管理配額操作指南中有關自動化部署的小節,並將 sku.name 取代為 GlobalProvisionedManagedDataZoneProvisionedManagedProvisionedManaged,而不是 Standard

建立佈建部署 - 沒有容量可用時

由於容量可用性的動態本質,您所選資源的區域可能沒有建立指定模型、版本和 PTU 數目部署的服務容量。

在這種情況下, Foundry 入口網站 的嚮導會引導你到其他有可用配額和容量的區域,讓你建立所需模型的部署。 如果發生此情況,部署對話方塊會如下所示:

Foundry 入口網站部署頁面佈建的部署的螢幕擷取畫面,沒有可用容量。

注意事項:

  • 您會看到一則訊息,顯示您有許多 PTU 可用配額,以及目前可部署的 PTU 數目。
  • 如果您選取的 PTU 數目大於服務容量,則會出現一則訊息,提供選項讓您取得更多容量,以及一個按鈕讓您選取替代區域。 點擊「查看其他區域」按鈕會顯示一個對話框,顯示你可以建立部署的 Foundry 資源清單,以及根據每個區域可用配額和服務容量,可建立的最大部署規模。

Foundry 入口網站部署頁面的截圖,用於選擇不同資源和區域。

選取資源並按一下 [切換資源] 會導致部署對話方塊使用選取的資源重新顯示。 然後,您可以繼續在新的區域中建立部署。

在此情況下, Microsoft Foundry 中的嚮導會引導你前往其他有配額與容量的區域,以便建立所需模型的部署。 如果發生此情況,部署對話方塊會如下所示:

Foundry 入口網站部署頁面佈建的部署的螢幕擷取畫面,沒有可用容量。

注意事項:

  • 您會看到一則訊息,顯示您有許多 PTU 可用配額,以及目前可部署的 PTU 數目。
  • 如果您選取的 PTU 數目大於服務容量,則會出現一則訊息,提供選項讓您取得更多容量,以及一個按鈕讓您選取替代區域。 點擊「查看其他區域」按鈕會顯示一個對話框,顯示你可以建立部署的 Foundry 資源清單,以及根據每個區域可用配額和服務容量,可建立的最大部署規模。

Foundry 入口網站部署頁面的截圖,用於選擇不同資源和區域。

選取資源並按一下 [切換資源] 會導致部署對話方塊使用選取的資源重新顯示。 然後,您可以繼續在新的區域中建立部署。

使用您的配額建立新的部署或交換模型

如果您的訂用帳戶和區域下仍有可用的配額,您可以為其他由 Microsoft 直接托管和銷售的模型建立新的預配置部署。

這些步驟與上述範例相同。 當您建立新的部署時,您會看到您可以在部署 Widget 中使用的可用配額總計。 在下列螢幕快照中,可用的配額為250個單位。

用於部署旗艦模型的互換性 PTU 螢幕快照。

部署新模型後,你可以在 Foundry 入口網站查看配額使用情況。 您可以藉由要求新的配額或刪除現有的部署來管理配額,以釋放新布建部署的 PTU 配額。

配額頁面中可替代 PTU 配額的螢幕擷取畫面。

選擇性地購買保留

建立部署之後,您可能想要透過 Azure 保留購買期限折扣。 Azure 保留可為想要使用部署不僅限於幾天的使用者,提供每小時費率的大量折扣。

如需購買模型和保留的詳細資訊,請參閱:

這很重要

模型部署的容量可用性是動態的,且在不同區域和模型間常會有變更。 為避免購買超出您所能使用的 PTU 保留,請先建立部署,再購買 Azure 保留,以涵蓋您已部署的 PTU。 此最佳做法可確保您可以充分利用保留折扣,並防止您購買無法使用的期間承諾用量。

進行第一個推斷呼叫

佈建部署的推斷程式碼與標準部署類型相同。 下列程式碼片段顯示向 GPT-4 模型發出的聊天完成呼叫。 如果這是您第一次以程式設計方式使用這些模型,建議您從我們的快速入門開始。 我們建議使用 1.0 版或更新版的 OpenAI 程式庫,因為這包含程式庫內的重試邏輯。

    import os
    from openai import AzureOpenAI

    client = AzureOpenAI(
        azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"), 
        api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
        api_version="2024-10-21"
    )

    response = client.chat.completions.create(
        model="gpt-4", # model = "deployment_name".
        messages=[
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
            {"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},
            {"role": "user", "content": "Do other Azure services support this too?"}
        ]
    )

    print(response.choices[0].message.content)

這很重要

在生產環境中,請使用安全的方式來儲存和存取您的認證,例如 Azure Key Vault。 如需認證安全性的詳細資訊,請參閱此 安全性 文章。

了解預期的輸送量

您可以在端點上達成的輸送量是影響部署的 PTU 數目、輸入大小、輸出大小和呼叫率的一個因素。 並行呼叫數目和已處理的權杖總數可能會根據這些值而有所不同。

決定部署輸送量的建議方式如下:

  1. 使用容量計算機進行大小調整估計。 你可以在 Foundry 入口網站 的配額頁面和「配置」標籤找到容量計算器。
  2. 使用實際流量工作負載對負載進行效能評定。 如需有關效能評定的詳細資訊,請參閱效能評定一節。

測量您的部署使用率

當您部署指定數目的佈建輸送量單位 (PTU) 時,該端點就可以使用一組推斷輸送量。 此輸送量的使用率是根據模型、模型版本呼叫率、提示大小、產生大小而建立的複雜公式。 為了簡化此計算,我們在 Azure 監視器中提供使用率計量。 在使用率上升超過 100% 之後,您的部署會在發生任何新的呼叫時傳回 429。 佈建使用率的定義如下:

PTU 部署使用率 = (時間週期中所耗用的 PTU) / (在時間週期中部署的 PTU)

您可以在資源的 Azure-Monitor 區段中找到使用率量值。 若要存取監視儀表板,請登入 https://portal.azure.com,移至您的 Azure OpenAI 資源,然後從左側導覽中選取 [計量] 頁面。 在 [計量] 頁面上,選取 [佈建受控使用率 V2] 量值。 如果您在資源中有多個部署,請同時按一下 [套用分割] 按鈕來依據每個部署分割值。

Azure 入口網站中資源計量刀鋒視窗上 provisioned managed 使用率的螢幕擷取畫面。

如需監視部署的詳細資訊,請參閱 監視 Azure OpenAI 頁面。

處理高使用率

佈建的部署提供您已配置的計算容量,用於執行指定的模型。 Azure 監視器中的「Provisioned-Managed 使用率 V2」指標會以一分鐘的增量測量部署的使用率。 Provisioned-Managed 部署也會進行最佳化,讓接受的呼叫會以一致的「每次呼叫延遲上限」來處理。 當工作負載超過其配置的容量時,服務會傳回 429 HTTP 狀態碼,直到使用率降至 100% 以下為止。 重試前的時間會在 retry-afterretry-after-ms 回應標頭中提供,這些標頭分別提供以秒和以毫秒為單位的時間。 此方法會維護「每次呼叫延遲」目標,同時讓開發人員控制如何處理高負載的情況,例如重試或轉移至另一個體驗/端點。

當我收到 429 回應時,該怎麼辦?

429 回應表示呼叫時完全取用已配置的 PTU。 回應包含 retry-after-msretry-after 標頭,用於告知您可接受下一個呼叫之前須等待的時間。 選擇處理 429 回應的方式取決於您的應用程式需求。 以下是一些考量:

  • 如果您能夠接受較長的每次呼叫延遲,請實作用戶端重試邏輯以等候 retry-after-ms 時間並重試。 此方法可讓您將部署的輸送量最大化。 Microsoft 提供的用戶端 SDK 已使用合理的預設值來處理此情況。 您可能仍需要根據使用案例進行進一步調整。
  • 請考慮將流量重新導向至其他模型、部署或體驗。 此方法是最低延遲解決方案,因為只要收到 429 訊號,就可以採取此動作。 當推送至高使用率時,429 訊號並不是非預期的錯誤回應,而是設計用來管理佇列和佈建部署高負載的一部分。

修改用戶端程式庫內的重試邏輯

Azure OpenAI SDK 預設會重試 429 回應,並且在用戶端幕後重試 (最多至重試次數上限)。 程式庫會遵循 retry-after 時間。 您也可以修改重試行為,以更符合您的體驗。 以下是 Python 程式庫的範例。

您可以使用 max_retries 選項來設定或停用重試設定:

from openai import AzureOpenAI

# Configure the default for all requests:
client = AzureOpenAI(
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"),
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),
    api_version="2024-10-21",
    max_retries=5,# default is 2
)

# Or, configure per-request:
client.with_options(max_retries=5).chat.completions.create(
    model="gpt-4", # model = "deployment_name".
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
        {"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},
        {"role": "user", "content": "Do other Azure services support this too?"}
    ]
)

執行效能評定

執行個體的確切效能和輸送量功能取決於您提出的要求種類和確切的工作負載。 判斷工作負載輸送量的最佳方式是在您自己的資料上執行效能評定。

為了協助您完成這項工作,效能評定工具可讓您輕鬆地在部署上執行效能評定。 此工具隨附數個可能預先設定的工作負載圖形,並輸出關鍵效能計量。 深入了解 GitHub 存放庫中的工具和組態設定:https://github.com/Azure/azure-openai-benchmark

我們建議使用下列工作負載:

  1. 使用容量計算機預估輸送量 PTU。
  2. 執行具有此流量圖形的效能評定達一段較長的時間 (10+ 分鐘),以觀察處於穩定狀態的結果。
  3. 從效能評定工具和 Azure 監視器中觀察使用率、權杖處理和呼叫率的值。
  4. 使用用戶端實作,以您自己的流量圖形和工作負載執行效能評定。 請務必使用 Azure OpenAI 用戶端程式庫或自訂邏輯來實作重試邏輯。

後續步驟