在 Azure AI Foundry 入口網站中建立和管理提示流程計算會話
重要
本文中標示為 (預覽) 的項目目前處於公開預覽狀態。 此預覽版本沒有服務等級協定,不建議將其用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款。
您需要計算工作階段來執行提示流程。 使用 Azure AI Foundry 來建立和管理提示流程計算會話。
提示流程計算工作階段能提供執行應用程式所需的計算資源,包括包含所有必要相依性套件的 Docker 映像。 除了流程執行之外,Azure AI Foundry 也會使用計算會話,以確保當您更新提示或程式碼內容時,流程內併入的工具精確度和功能。
必要條件
登入 Azure AI Foundry 並選取您的專案。
建立計算資源庫
當您啟動計算工作階段時,您可以使用預設設定或自訂進階設定。
使用預設設定啟動計算工作階段
根據預設,計算工作階段會使用流程資料夾中flow.dag.yaml
所定義的環境。 這會在虛擬機器 (VM) 大小進行無伺服器計算,您可在此在工作區中有足夠的配額。
- 在 Azure AI Foundry 入口網站中移至您的專案。
- 從左窗格中,選取 [ 提示流程 ],然後選取您想要執行的流程。
- 從提示流程的頂端工具列中,選取「開始計算會話」。
使用進階設定啟動計算工作階段
在進階設定中,您可以選取計算類型。 您在無伺服器計算和計算執行個體之間選擇。
在 Azure AI Foundry 入口網站中移至您的專案。
從左窗格中,選取 [ 提示流程 ],然後選取您想要執行的流程。
從提示流程的頂端工具列中,選取「開始計算工作階段」按鈕右側的下拉式箭頭按鈕。 選取「開始使用進階設定」來自訂計算會話。
您在無伺服器計算和計算執行個體之間選擇。
如果您選擇無伺服器計算,您可以設定下列設定:
- 自訂計算工作階段使用的 VM 大小。
- 自訂閒置時間,如果計算工作階段不在使用中,則會自動刪除計算工作階段以儲存程式碼。
- 設定使用者指派的受控識別。 計算工作階段會使用此識別來提取基礎映像和安裝套件。 確定使用者指派的受控識別具有 Azure Container Registry 提取權限。
如果您未設定使用者指派的身分識別,提示流程依預設會運用使用者身分識別。 深入了解如何為工作區建立和更新使用者指派的身分識別。
如果您選擇計算執行個體,則只能設定閒置關機時間。
由於其是在現有的計算執行個體上執行,因此 VM 大小已經固定,且無法從工作階段端加以變更。
此工作階段所使用的身分識別也會在計算執行個體中定義,其預設會使用使用者身分識別。 深入了解如何將身分識別指派給計算執行個體
閒置關機時間可用來定義計算工作階段的生命週期。 若計算工作階段在您設定的時間處於閒置狀態,便會自動刪除。 如果您已在計算執行個體上啟用閒置關機,則會關閉但不會刪除。
選取「下一步」以指定基底映射設定。 使用預設基礎映像或提供自訂基礎映像。 若您選擇自訂基礎映像,請提供映像 URL 和映像標籤。 僅支援公用 Docker 登錄或 Azure Container Registry (ACR) 中的映像。 如果您在 ACR 中指定映像,請確定您 (或使用者指派的管理身分識別) 具有 ACR 提取權限。
選取「下一步」以檢閱您的設定。
選取「套用並啟動計算工作階段」以啟動計算工作階段。
建立計算工作階段
若要管理計算工作階段,請選取流程頁面頂端工具列上的計算工作階段執行中:
- 變更計算工作階段設定會開啟計算工作階段組態頁面,您可以在其中定義 VM 端和計算工作階段的空閒時間。
- 從 requirements.txt 安裝套件 會在提示流程使用者介面中開啟
requirements.txt
,因此您可以新增套件。 - 檢視已安裝的套件會顯示已在計算工作階段中安裝的套件。 這包含製作至流程資料夾
requirements.txt
檔案中指定的基礎映像和套件的套件。 - 重設計算工作階段 會刪除目前的計算工作階段,並建立具有相同環境的新工作階段。 如果您遇到套件衝突,可以嘗試此選項。
- 停止計算工作階段 會刪除目前的計算工作階段。 如果基礎無伺服器計算上沒有啟用中的計算工作階段,也會刪除計算資源。 如果計算工作階段位於計算執行個體上,停止工作細項將允許執行個體變成閒置。
您也可以在流程資料夾的 requirements.txt
檔案中新增套件,以自訂用來執行此流程的環境。 在此檔案中新增更多套件之後,請選擇下列任一選項:
- [儲存並安裝] 會在流程資料夾中觸發
pip install -r requirements.txt
。 程序可能需要幾分鐘的時間,視您安裝的套件而定。 - [僅儲存] 只會儲存
requirements.txt
檔案。 您稍後可以自行安裝套件。
注意
您可以變更 requirements.txt
的位置,甚至是檔名,但務必同時在流程資料夾中的 flow.dag.yaml
檔案中進行變更。
由於請勿在 requirements.txt
中釘選 promptflow
和 promptflow-tools
的版本,因此我們已將其列入計算工作階段基礎映像中。
在 Azure DevOps 的私人摘要中新增套件
如果您想要在 Azure DevOps 中使用私人摘要,請遵循下列步驟:
建立使用者指派的受控識別,並在 Azure DevOps 組織中新增此身分識別。 若要深入了解,請參閱使用服務主體和受控識別。
注意
如果看不到 [新增使用者] 按鈕,您可能沒有執行此動作的必要權限。
將
{private}
新增至您的私人摘要 URL。 例如,如果您想要在 Azure DevOps 中從test_feed
安裝test_package
,請在requirements.txt
中新增-i https://{private}@{test_feed_url_in_azure_devops}
:-i https://{private}@{test_feed_url_in_azure_devops} test_package
如果計算階段未執行,請在「從進階設定開始」指定使用者指派的受控識別;如果計算工作階段正在執行,請使用「編輯」按鈕。
變更基底映像
根據預設,我們會使用最新的提示流程映像作為基礎映像。 如果您想要使用不同的基礎映像,您需要建置自己的基礎映像。 此 Docker 映像應該從 mcr.microsoft.com/azureml/promptflow/promptflow-runtime:<newest_version>
的提示流程基礎映像建立。 如果可能的話,請使用最新版的基礎映像。
開始提示流程。
在頂端工具列上選取「原始檔案模式」,以在檔案編輯器中啟用編輯。
開啟「檔案」區段,然後選取 flow.dag.yaml。
在
flow.dag.yaml
檔案的「environment
」區段中指定您的映像。 例如,若要使用映像<your-custom-image>
,請新增下列程式碼:environment: image: <your-custom-image> python_requirements_txt: requirements.txt
升級計算執行個體執行階段
若您先前建立計算執行個體執行階段,請使用下列步驟將其切換為計算工作階段:
準備流程資料夾中的
requirements.txt
檔案。 如需詳細資訊,請參閱 管理計算工作階段。若您建立自訂環境,請取得環境詳細頁面映像,並在流程資料夾的
flow.dag.yaml
檔案中予以指定。 若要深入瞭解,請參閱變更基礎映像。 確定您有映像的acr pull
權限。如果您想要手動管理生命週期,便可以繼續使用現有的計算執行個體。