分享方式:


部署流程以進行即時推斷

重要

本文中標示為 (預覽) 的項目目前處於公開預覽狀態。 此預覽版本沒有服務等級協定,不建議將其用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

建置提示流程並正確測試之後,您可能需要將其部署為線上端點。 部署裝載於端點內,而且可從用戶端接收資料,並即時傳回回應。

您可以叫用即時推斷的端點,以進行聊天、Copilot 或另一個生成式 AI 應用程式。 提示流程支援從流程或從大量測試回合進行端點部署。

在本文中,您將了解如何將流程部署為受控線上端點以進行即時推斷。 您採取的步驟如下︰

  • 測試流程並準備好進行部署。
  • 建立線上部署。
  • 將權限授與端點。
  • 測試端點。
  • 取用端點。

必要條件

若要將提示流程部署為線上端點,您需要:

  • Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶。
  • Azure AI Studio 專案。

建立線上部署

現在您已建置並正確測試流程,即可建立線上端點以進行即時推斷。

請遵循下列步驟,在 Azure AI Studio 中將提示流程部署為線上端點。

  1. 備妥提示流程以進行部署。 如果您沒有提示流程,請參閱如何建置提示流程

  2. 選擇性:選取 [聊天],以測試流程是否正常運作。 建議的最佳做法是先測試流程再進行部署。

  3. 在流程編輯器上,選取 [部署]

    提示流程編輯器中 [部署] 按鈕的螢幕擷取畫面。

  4. 在部署精靈的 [基本設定] 頁面上,提供要求的資訊。

    部署精靈中基本設定頁面的螢幕擷取畫面。

  5. 選取 [檢閱 + 建立],以檢閱設定並建立部署。 否則,您可以選取 [下一步] 以繼續進行進階設定頁面。

  6. 選取 [建立],以部署提示流程。

    [檢閱設定] 頁面的螢幕擷取畫面。

  7. 若要檢視部署狀態,請從左側瀏覽中選取 [部署]。 成功建立部署之後,您可以選取部署來檢視詳細資料。

    進行中部署狀態的螢幕擷取畫面。

  8. 選取 [取用] 索引標籤,以查看可用來取用應用程式中已部署模型的範例程式碼。

    注意

    您也可以在此頁面上查看可用來取用端點的端點 URL。

    部署詳細資料頁面的螢幕擷取畫面。

  9. 您可以直接使用 REST 端點,或開始使用此處的其中一個範例。

    部署端點和程式碼範例的螢幕擷取畫面。

如需詳細資訊,請參閱以下節。

提示

如需如何部署基底模型的指南,請參閱使用 Azure AI Studio 部署模型

設定和組態

需求文字檔

您可以選擇性地指定 requirements.txt 中所需的額外套件。 您可以在流程資料夾的根資料夾中找到 requirements.txt。 在 UI 中將提示流程部署到受控線上端點時,部署預設會使用根據 flow.dag.yaml 中所指定的基礎映像和流程的 requirements.txt 中所指定的相依性所建立的環境。

注意

flow.dag.yaml 中所指定的基礎映像必須根據提示流程基礎映像 mcr.microsoft.com/azureml/promptflow/promptflow-runtime-stable:<newest_version> 來建立,您可以在這裡找到最新版本。 如果您未在 flow.dag.yaml 中指定基礎映像,則部署會使用預設基礎映像 mcr.microsoft.com/azureml/promptflow/promptflow-runtime-stable:latest

在流程的原始 yaml 檔案中指定基底映像的螢幕擷取畫面。

流程需求文字文件的螢幕擷取畫面。

基本設定

此步驟可讓您設定部署的基本設定。

屬性 說明
端點 您可以選取是要部署新的端點或更新現有的端點。
如果您選取 [新增],則必須指定端點名稱。
部署名稱 - 在相同的端點內,部署名稱應該是唯一的。
- 如果您選取現有的端點,並輸入現有的部署名稱,則會以新的組態覆寫該部署。
虛擬機器 要用於部署的 VM 大小。
執行個體計數 要用於部署的執行個體數目。 指定您預期的工作負載上的值。 為了達到高可用性,建議您將值至少設定為 3。 我們會額外保留 20% 來執行升級。
推斷資料收集 如果您啟用此功能,則會在 Azure Machine Learning 資料資產中自動收集流程輸入和輸出,可於稍後的監視中使用。

完成基本設定之後,即可直接選取 [檢閱 + 建立] 以完成建立,也可以選取 [下一步] 來設定進階設定。

進階設定 - 端點

您可以指定端點的下列設定。

進階端點設定的螢幕擷取畫面。

在進階設定工作流程中,您也可以指定部署標籤,並選取自訂環境。

進階部署設定的螢幕擷取畫面。

驗證類型

端點的驗證方法。 金鑰型驗證提供未過期的主要和次要金鑰。 Azure Machine Learning 權杖型驗證會提供定期自動重新整理的權杖。

身分識別類型

端點必須存取 Azure 資源,例如 Azure Container Registry 或 AI Studio 中樞連線以進行推斷。 您可以允許端點權限透過授與其受控識別的權限來存取 Azure 資源。

系統會在建立端點之後,自動建立系統指派的身分識別,而使用者指派的身分識別則由使用者建立。 深入了解受控識別。

系統指派

您會發現有一個選項為是否要強制存取連線祕密 (預覽)。 如果流程使用連線,端點必須存取連線才能執行推斷。 此選項預設為啟用,如果您擁有連線祕密讀取器權限,端點會獲授與 Azure Machine Learning 工作區連線祕密讀取器角色,以自動存取連線。 如果您停用此選項,您必須自行將此角色授與系統指派的身分識別,或向系統管理員尋求協助。深入了解如何將權限授與端點身分識別

使用者指派

當您建立部署作業時,Azure 會嘗試從 Azure AI Studio 中樞 Azure Container Registry (ACR) 提取使用者容器映像,並將使用者模型和程式碼成品從中樞儲存體帳戶掛接至使用者容器中。

如果您透過使用者指派的身分識別建立相關聯的端點,則必須在部署建立之前,授與使用者指派的身分識別下列角色,否則部署建立將會失敗。

範圍 角色 需要的原因
AI Studio 專案 [Azure Machine Learning 工作區連線祕密讀取器] 角色,自訂角色與 Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action 取得專案連線
AI Studio 專案容器登錄 ACR 提取 提取容器映像
AI Studio 專案預設儲存體 儲存體 Blob 資料讀者 從儲存體載入模型
AI Studio 專案 工作區計量寫入器 部署端點之後,如果您想要監視端點的相關計量,例如 CPU/GPU/磁碟/記憶體使用率,您必須將此許可權授與身分識別。

選擇性

請參閱將權限授與端點中有關如何將權限授與端點身分識別的詳細指引。

重要

如果您的流程使用 Microsoft Entra ID 型驗證連線,則無論您使用系統指派的身分識別或使用者指派的身分識別,一律必須為受控識別授與對應資源的適當角色,以便對該資源進行 API 呼叫。 例如,如果您的 Azure OpenAI 連線使用 Microsoft Entra ID 型驗證,您必須授與對應 Azure OpenAI 資源的端點受控識別認知服務 OpenAI 使用者或認知服務 OpenAI 參與者角色

進階設定 - 輸出和連線

在此步驟中,您可以檢視所有流程輸出,並指定要在部署端點的回應中包含哪些輸出。 預設會選取所有的流程輸出。

您也可以指定端點執行推斷時所使用的連線。 根據預設,會沿用流程所用的連線。

設定並檢閱上述所有步驟之後,即可選取 [檢閱 + 建立] 以完成建立。

進階輸出和連線設定的螢幕擷取畫面。

注意

預期建立端點需要大約 15 分鐘以上的時間,因為其包含數個階段,包括建立端點、登錄模型、建立部署等。

您可以透過提示流程部署起始的通知來了解部署建立進度。

開啟 Application Insights 診斷以啟用追蹤功能 (預覽)

如果您啟用此功能,推斷時間的追蹤資料和系統計量 (例如權杖計數、流程延遲、流程要求等) 將會收集到工作區預設 Application Insights 中。 若要深入了解,請參閱提示流程服務追蹤資料和計量

將權限授與端點

重要

只有特定 Azure 資源的擁有者才能授與權限 (新增角色指派)。 您可能需要詢問 Azure 訂用帳戶擁有者 (可能是您的 IT 系統管理員),以取得協助。

建議在部署建立之前,將角色授與使用者指派的身分識別。 需要 15分鐘以上的時間,所授與的權限才能生效。

您可以遵循下列步驟,在 Azure 入口網站 UI 中授與必要權限。

  1. 移至 Azure 入口網站中的 Azure AI Studio 專案概觀頁面。

  2. 選取 [存取控制],然後選取 [新增角色指派]醒目提示 [新增角色指派] 的存取控制螢幕擷取畫面。

  3. 選取 [Azure Machine Learning 工作區連線祕密讀取器],移至 [下一步]

    注意

    Azure Machine Learning 工作區中樞連線祕密讀取器角色是內建角色,具有取得中樞連線的權限。

    如果您想要使用自訂角色,請確定自訂角色具有 Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action 的權限。 深入了解如何建立自訂角色

  4. 選取 [受控識別],然後選取成員。

    若為 [系統指派的身分識別],選取 [系統指派的受控識別] 底下的 [機器學習線上端點],然後依端點名稱搜尋。

    若為 [使用者指派的身分識別],選取 [使用者指派的受控識別],然後依身分識別名稱搜尋。

  5. 若為使用者指派的身分識別,您也必須將權限授與中樞容器登錄和儲存體帳戶。 您可以在 Azure 入口網站的中樞概觀頁面中找到容器登錄和儲存體帳戶。

    醒目提示儲存體和容器登錄的概觀頁面螢幕擷取畫面。

    移至中樞容器登錄概觀頁面,選取 [存取控制],然後選取 [新增角色指派],然後指派 [ACR 提取 |提取容器映像] 給端點身分識別。

    移至中樞預設儲存體概觀頁面,選取 [存取控制],然後選取 [新增角色指派],然後指派 [儲存體 Blob 資料讀取器] 給端點身分識別。

  6. (選擇性) 若為使用者指派的身分識別,如果您想要監視端點的相關計量,例如 CPU/GPU/磁碟/記憶體使用率,您也必須將中樞的計量寫入器角色授與身分識別。

檢查端點的狀態

完成部署精靈之後,將會有通知。 成功建立端點和部署後,即可在部署通知詳細資訊頁面中選取 [檢視詳細資訊]

您也可以從左側導覽直接移至 [部署] 頁面、選取部署,然後檢查狀態。

測試端點

在部署詳細資料頁面中,切換至 [測試] 索引標籤。

針對從標準流程部署的端點,您可以在表單編輯器或 JSON 編輯器中輸入值來測試端點。

測試從聊天流程部署的端點

如果是從聊天流程部署的端點,即可在沉浸式聊天視窗中進行測試。

chat_input 是在聊天流程開發期間設定的。 您可以在輸入方塊中輸入 chat_input 訊息。 如果您的流程有多個輸入,右側的 [輸入] 面板可讓您指定除了 chat_input 之外的其他輸入值。

取用端點

在部署詳細資料頁面中,切換至 [取用] 索引標籤。您可以找到 REST 端點和金鑰/權杖來取用端點。 也有範例程式碼可供您取用不同語言的端點。

取用端點範例程式碼的螢幕擷取畫面。

您必須輸入 RequestBodydataapi_key 的值。 例如,如果您的流程有 2 個輸入 locationurl,則您需要如下所示指定資料。

 {
"location": "LA",
"url": "<the_url_to_be_classified>"
}

清除資源

如果您在完成本教學課程之後不會使用端點,則應該刪除端點。

注意

完整刪除可能需要大約 20 分鐘的時間。

後續步驟