部署流程以進行即時推斷
重要
本文所述的部分功能可能僅適用於預覽版。 此預覽版本沒有服務等級協定,不建議將其用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款。
建置提示流程並正確測試之後,您可能需要將其部署為線上端點。 部署裝載於端點內,而且可從用戶端接收資料,並即時傳回回應。
您可以叫用即時推斷的端點,以進行聊天、Copilot 或另一個生成式 AI 應用程式。 提示流程支援從流程或從大量測試回合進行端點部署。
在本文中,您將了解如何將流程部署為受控線上端點以進行即時推斷。 您採取的步驟如下︰
- 測試流程並準備好進行部署。
- 建立線上部署。
- 將權限授與端點。
- 測試端點。
- 取用端點。
必要條件
若要將提示流程部署為線上端點,您需要:
- Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶。
- Azure AI Studio 專案。
建立線上部署
現在您已建置並正確測試流程,即可建立線上端點以進行即時推斷。
請遵循下列步驟,在 Azure AI Studio 中將提示流程部署為線上端點。
備妥提示流程以進行部署。 如果您沒有提示流程,請參閱如何建置提示流程。
選擇性:選取 [聊天],以測試流程是否正常運作。 建議的最佳做法是先測試流程再進行部署。
在流程編輯器上,選取 [部署]。
在部署精靈的 [基本設定] 頁面上,提供要求的資訊。
選取 [檢閱 + 建立],以檢閱設定並建立部署。 否則,您可以選取 [下一步] 以繼續進行進階設定頁面。
選取 [建立],以部署提示流程。
若要檢視部署狀態,請從左側瀏覽中選取 [部署]。 成功建立部署之後,您可以選取部署來檢視詳細資料。
選取 [取用] 索引標籤,以查看可用來取用應用程式中已部署模型的範例程式碼。
注意
您也可以在此頁面上查看可用來取用端點的端點 URL。
您可以直接使用 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
。
基本設定
此步驟可讓您設定部署的基本設定。
屬性 | 說明 |
---|---|
端點 | 您可以選取是要部署新的端點或更新現有的端點。 如果您選取 [新增],則必須指定端點名稱。 |
部署名稱 | - 在相同的端點內,部署名稱應該是唯一的。 - 如果您選取現有的端點,並輸入現有的部署名稱,則會以新的組態覆寫該部署。 |
虛擬機器 | 要用於部署的 VM 大小。 |
執行個體計數 | 要用於部署的執行個體數目。 指定您預期的工作負載上的值。 為了達到高可用性,建議您將值至少設定為 3 。 我們會額外保留 20% 來執行升級。 |
推斷資料收集 | 如果您啟用此功能,則會在 Azure Machine Learning 資料資產中自動收集流程輸入和輸出,可於稍後的監視中使用。 |
Application Insights 診斷 | 如果您啟用此功能,推斷時間的系統計量 (例如權杖計數、流程延遲、流程要求等) 將會收集到 Azure AI Studio 中樞預設 Application Insights 中。 |
完成基本設定之後,即可直接選取 [檢閱 + 建立] 以完成建立,也可以選取 [下一步] 來設定進階設定。
進階設定 - 端點
您可以指定端點的下列設定。
在進階設定工作流程中,您也可以指定部署標籤,並選取自訂環境。
驗證類型
端點的驗證方法。 金鑰型驗證提供未過期的主要和次要金鑰。 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/磁碟/記憶體使用率,您必須將此許可權授與身分識別。 選擇性 |
請參閱將權限授與端點中有關如何將權限授與端點身分識別的詳細指引。
進階設定 - 輸出和連線
在此步驟中,您可以檢視所有流程輸出,並指定要在部署端點的回應中包含哪些輸出。 預設會選取所有的流程輸出。
您也可以指定端點執行推斷時所使用的連線。 根據預設,會沿用流程所用的連線。
設定並檢閱上述所有步驟之後,即可選取 [檢閱 + 建立] 以完成建立。
注意
預期建立端點需要大約 15 分鐘以上的時間,因為其包含數個階段,包括建立端點、登錄模型、建立部署等。
您可以透過提示流程部署起始的通知來了解部署建立進度。
將權限授與端點
重要
只有特定 Azure 資源的擁有者才能授與權限 (新增角色指派)。 您可能需要向 IT 管理員尋求協助。
建議在部署建立之前,將角色授與使用者指派的身分識別。 需要 15分鐘以上的時間,所授與的權限才能生效。
您可以遵循下列步驟,在 Azure 入口網站 UI 中授與所有權限。
移至 Azure 入口網站中的 Azure AI Studio 專案概觀頁面。
選取 [Azure Machine Learning 工作區連線祕密讀取器],移至 [下一步]。
注意
Azure Machine Learning 工作區中樞連線祕密讀取器角色是內建角色,具有取得中樞連線的權限。
如果您想要使用自訂角色,請確定自訂角色具有
Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action
的權限。 深入了解如何建立自訂角色。選取 [受控識別],然後選取成員。
若為 [系統指派的身分識別],選取 [系統指派的受控識別] 底下的 [機器學習線上端點],然後依端點名稱搜尋。
若為 [使用者指派的身分識別],選取 [使用者指派的受控識別],然後依身分識別名稱搜尋。
若為使用者指派的身分識別,您也必須將權限授與中樞容器登錄和儲存體帳戶。 您可以在 Azure 入口網站的中樞概觀頁面中找到容器登錄和儲存體帳戶。
移至中樞容器登錄概觀頁面,選取 [存取控制],然後選取 [新增角色指派],然後指派 [ACR 提取 |提取容器映像] 給端點身分識別。
移至中樞預設儲存體概觀頁面,選取 [存取控制],然後選取 [新增角色指派],然後指派 [儲存體 Blob 資料讀取器] 給端點身分識別。
(選擇性) 若為使用者指派的身分識別,如果您想要監視端點的相關計量,例如 CPU/GPU/磁碟/記憶體使用率,您也必須將中樞的計量寫入器角色授與身分識別。
檢查端點的狀態
完成部署精靈之後,將會有通知。 成功建立端點和部署後,即可在部署通知詳細資訊頁面中選取 [檢視詳細資訊]。
您也可以從左側導覽直接移至 [部署] 頁面、選取部署,然後檢查狀態。
測試端點
在部署詳細資料頁面中,切換至 [測試] 索引標籤。
針對從標準流程部署的端點,您可以在表單編輯器或 JSON 編輯器中輸入值來測試端點。
測試從聊天流程部署的端點
如果是從聊天流程部署的端點,即可在沉浸式聊天視窗中進行測試。
chat_input
是在聊天流程開發期間設定的。 您可以在輸入方塊中輸入 chat_input
訊息。 如果您的流程有多個輸入,右側的 [輸入] 面板可讓您指定除了 chat_input
之外的其他輸入值。
取用端點
在部署詳細資料頁面中,切換至 [取用] 索引標籤。您可以找到 REST 端點和金鑰/權杖來取用端點。 也有範例程式碼可供您取用不同語言的端點。
您必須輸入 RequestBody
或 data
和 api_key
的值。 例如,如果您的流程有 2 個輸入 location
和 url
,則您需要如下所示指定資料。
{
"location": "LA",
"url": "<the_url_to_be_classified>"
}
清除資源
如果您在完成本教學課程之後不會使用端點,則應該刪除端點。
注意
完整刪除可能需要大約 20 分鐘的時間。
後續步驟
- 深入了解您可以在 Azure AI Studio 中執行的動作
- 在 Azure AI 常見問題文章中取得常見問題的解答