教學課程:部署企業聊天 Web 應用程式
重要
本文中標示為 (預覽) 的項目目前處於公開預覽狀態。 此預覽版本沒有服務等級協定,不建議將其用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款。
在本文中,您會在 Azure AI Foundry 入口網站中部署使用您自己的數據與大型語言模型的企業聊天 Web 應用程式。
您的資料來源可用於使用特定資料作為模型的基礎。 作為基礎表示模型使用您的資料來協助其了解問題的內容。 您不會變更已部署的模型本身。 您的資料會分別安全地儲存在原始資料來源中
本教學課程中的步驟如下:
- 設定資源。
- 新增您的資料。
- 使用您的資料測試模型。
- 部署 Web 應用程式。
必要條件
Azure 訂用帳戶 - 建立免費帳戶。
已部署的 Azure OpenAI 聊天模型。 如果您尚未完成 Azure AI Foundry 遊樂場快速入門,即可建立此資源。
產品數據的本地副本。 GitHub 上的 Azure-Samples/rag-data-openai-python-promptflow 存放庫 (英文) 包含與本教學課程案例相關的範例零售產品資訊。 具體而言,
product_info_11.md
包含與本教學課程範例相關的 TrailWalker 登山鞋產品資訊。 下載 ZIP 檔案中的範例 Contoso Trek 零售產品資料到本機電腦。在所選訂用帳戶中註冊的 Microsoft.Web 資源提供者,能夠部署至 Web 應用程式。 如需註冊資源供應專案的詳細資訊,請參閱 註冊資源提供者。
在 Azure 訂用帳戶中新增角色指派的必要許可權。 只允許特定 Azure 資源的擁有者透過角色指派授與權限。
Azure AI Foundry 入口網站和 Azure 入口網站
在本教學課程中,您會在 Azure AI Foundry 入口網站中執行一些工作,以及 Azure 入口網站 中的某些工作。
Azure AI Foundry 入口網站是以 Web 為基礎的環境,可用於建置、定型和部署 AI 模型。 身為開發人員,您會在其中建置和部署聊天 Web 應用程式。
Azure 入口網站 可讓系統管理員管理及監視 Azure 資源。 身為系統管理員,您將使用入口網站來設定 Web 應用程式存取所需的各種 Azure 服務設定。
設定資源
重要
您必須具備在 Azure 訂用帳戶中新增角色指派的必要權限。 只允許特定 Azure 資源的擁有者透過角色指派授與權限。 您可能需要要求您的 Azure 訂用帳戶擁有者(可能是您的 IT 系統管理員)為您完成本節。
為了讓資源在 Web 應用程式內正常運作,您必須使用正確的許可權加以設定。 這項工作會在 Azure 入口網站 中完成。
若要開始,請從 Azure AI Foundry 入口網站識別您需要設定的資源。
開啟 Azure AI Foundry 入口網站,然後選取您用來部署 Azure OpenAI 聊天模型的專案。
從左窗格中選取 [管理中心 ]。
選取專案底下的 [ 已連線資源 ]。
識別您需要設定的三個資源:Azure OpenAI、Azure AI 搜尋服務,以及對應至 workspaceblobstore 的 Azure Blob 記憶體。
提示
如果您有多個 Azure OpenAI 資源,請使用包含已部署聊天模型的資源。
針對每個資源,選取連結以開啟資源詳細數據。 從詳細數據頁面中,選取資源名稱以在 Azure 入口網站 中開啟資源。 (針對 workspaceblobstore,選取 在 Azure 入口網站中檢視)。
在瀏覽器索引標籤開啟之後,返回 Azure AI Foundry 入口網站,並針對下一個資源重複此程式。
當您完成時,應該會開啟三個新的瀏覽器索引標籤,適用於 搜尋服務、Azure AI 服務和 Blobstore 容器。 讓這三個新的索引標籤保持開啟,因為您會在它們之間來回切換來設定資源。
啟用受控識別
在 Azure 入口網站 中 搜尋服務 資源的瀏覽器索引標籤上,啟用受控識別:
- 從左窗格的 [設定] 底下,選取 [身分識別]。
- 將 [狀態] 切換為 [開啟]。
- 選取儲存。
在 Azure 入口網站 中 Azure AI 服務資源的瀏覽器索引標籤上,啟用受控識別:
- 從左窗格的 [資源管理] 底下,選取 [身分識別]。
- 將 [狀態] 切換為 [開啟]。
- 選取儲存。
設定搜尋的訪問控制
在 Azure 入口網站 中 搜尋服務 資源的瀏覽器索引標籤上,設定 API 存取原則:
- 從左窗格的 [設定] 底下,選取 [金鑰]。
- 在 [API 存取控制] 底下,選取 [兩者]。
- 出現提示時,選取 [ 是 ] 以確認變更。
指派角色
您會在下列項目符號項目中重複此模式多次。
針對任何資源指派角色型存取控制 (RBAC) 的一般模式為:
- 流覽至指定資源的 Azure 入口網站。
- 從 Azure 入口網站 的左側頁面,選取 [訪問控制][IAM]。
- 選取 [+新增]>[新增角色指派]。
- 搜尋您需要指派的角色並加以選取。 然後選取下一步。
- 將角色指派給自己時:
- 選取 [使用者、群組或服務主體]。
- 選取 [選取成員]。
- 搜尋您的名稱並加以選取。
- 將角色指派給另一個資源時:
- 選取 [受控身分識別]。
- 選取 [選取成員]。
- 使用下拉式清單來尋找您想要指派的資源類型。 例如,Azure AI 服務或 搜尋服務。
- 從出現的清單中選取資源。 可能只有一個,但您仍然需要選取它。
- 繼續執行精靈,然後選取 [檢閱 + 指派] 以新增角色指派。
使用下列步驟,為您要在本教學課程中設定的資源指派角色:
在瀏覽器索引標籤上為 Azure 入口網站 中的 搜尋服務 指派下列角色:
- 搜尋索引數據讀取器 至 Azure AI 服務 受控識別
- Azure AI 服務受控識別的搜尋服務參與者
- 自行參與者 (若要尋找參與者,請切換至頂端的 [特殊許可權系統管理員角色] 索引標籤。所有其他角色都在 [作業函式角色] 索引標籤中。
在 Azure 入口網站 中,為 Azure AI 服務的瀏覽器索引標籤指派下列角色:
- 搜尋服務 受控識別的認知服務 OpenAI 參與者
- 自行參與者 。
在 Azure 入口網站 中 Azure Blob 記憶體的瀏覽器索引標籤上指派下列角色:
- Azure AI 服務受控識別的記憶體 Blob 數據參與者
- 搜尋服務 受控識別的記憶體 Blob 資料讀取器
- 自己參與者
您已完成設定資源。 如果您想要的話,您可以立即關閉 Azure 入口網站 瀏覽器索引標籤。
新增您的資料並再次試用聊天模型
在 Azure AI Foundry 遊樂場快速入門 中(這是本教學課程的必要條件),觀察您的模型在沒有數據的情況下回應的方式。 現在,將數據新增至模型,以協助其回答有關您產品的問題。
若要完成本節,您需要產品資料的本機複本。 GitHub 上的 Azure-Samples/rag-data-openai-python-promptflow 存放庫 (英文) 包含與本教學課程案例相關的範例零售產品資訊。 具體而言,product_info_11.md
包含與本教學課程範例相關的 TrailWalker 登山鞋產品資訊。 下載 ZIP 檔案中的範例 Contoso Trek 零售產品資料到本機電腦。
遵循下列步驟,將資料新增至聊天遊樂場,以協助助理回答有關您產品的問題。 您不會變更已部署的模型本身。 您的資料會單獨且安全地儲存在您的 Azure 訂用帳戶中。
在 Azure AI Foundry 中移至您的專案。
選取 [ 遊樂場]。
選取 [ 試用聊天遊樂場]。
從 [部署] 下拉式清單中,選取已部署的聊天模型。
在聊天遊樂場的左側,選取 [新增您的數據][預覽]>+[新增數據源]。
在 [資料來源] 下拉式清單中,選取 [上傳檔案]。
選取 [上傳]>[上傳檔案] 以瀏覽您的本機檔案。
選取您要上傳的檔案。 選取您先前下載或建立的產品資訊檔案。 立即新增所有檔案。 您稍後將無法在相同遊樂場工作階段中新增更多檔案。
選取 [上傳],以將檔案上傳至您的 Azure Blob 儲存體帳戶。 然後選取下一步。
選取您的 Azure AI 搜尋 服務。
針對向 量索引名稱,輸入 產品資訊 ,然後選取 [ 下一步]。
在 [向量設定] 下的 [搜尋設定] 頁面上,取消選取 [將向量搜尋新增至此搜尋資源] 核取方塊。 此設定有助於判斷模型如何回應要求。 然後選取下一步。
注意
如果您新增向量搜尋,此處會提供更多選項,但需要額外付費。
檢閱您的設定,然後選取 [ 建立向量索引]。
在遊樂場中,您可以看到資料擷取正在進行中。 此程序可能需要幾分鐘的時間。 請等到您看見資料來源和索引名稱 (而非狀態) 之後再繼續。
您現在可以與模型聊天,詢問與之前相同的問題 (「TrailWalker 登山健行鞋多少錢」),這次其會使用來自您資料的資訊來建構回應。 您可以展開 [參考] 按鈕,以查看所使用的資料。
部署 Web 應用程式
一旦您滿意 Azure AI Foundry 入口網站中的體驗,您就可以將模型部署為獨立 Web 應用程式。
在 Azure 入口網站中尋找您的資源群組
在本教學課程中,Web 應用程式會部署至與 Azure AI Foundry 中樞相同的資源群組。 稍後您會在 Azure 入口網站中設定 Web 應用程式的驗證。
請遵循下列步驟,在 Azure 入口網站 中瀏覽至您的資源群組:
在 Azure AI Foundry 中移至您的專案。 然後從左窗格中選取 [管理中心 ]。
在 [ 專案 ] 標題底下,選取 [ 概觀]。
選取資源群組名稱,以在 Azure 入口網站中開啟資源群組。 在此範例中,資源群組名為
rg-sdg-ai
。您現在應該在 Azure 入口網站中,檢視部署中樞的資源群組內容。 請注意資源組名和位置,您將在下一節中使用這項資訊。
在瀏覽器索引標籤中保持此頁面開啟。您稍後會返回。
部署 Web 應用程式
發佈會在您的訂用帳戶中建立 Azure App Service。 視您選取的 價格方案 而定,可能會產生成本。 當您完成應用程式時,您可以從 Azure 入口網站中刪除它。
若要部署 Web 應用程式:
重要
您必須先將 Microsoft.Web 註冊為資源提供者,才能部署至 Web 應用程式。
完成上一節中的步驟,以新增您的資料至遊樂場。 (您可以使用或不使用自己的數據來部署 Web 應用程式,但至少您需要如 中所述 的已部署模型Azure AI Foundry 遊樂場快速入門)。
選取 [ 部署 > ...作為 Web 應用程式。
在 [部署至 Web 應用程式] 頁面上,輸入下列詳細資料:
- 名稱:Web 應用程式的唯一名稱。
- 訂用帳戶:您的 Azure 訂用帳戶。 如果您沒有看到任何可用的訂用帳戶,請先將 Microsoft.Web 註冊為資源提供者。
- 資源群組:選取要在其中部署 Web 應用程式的資源群組。 使用與中樞相同的資源群組。
- 位置:選取要在其中部署 Web 應用程式的位置。 使用與中樞相同的位置。
- 價格方案:選擇 Web 應用程式的價格方案。
- 在 Web 應用程式中啟用聊天歷程記錄:針對教學課程,不會選取聊天歷程記錄方塊。 如果您啟用此功能,您的使用者就可以存取其先前的查詢和回應。 如需詳細資訊,請參閱聊天歷程記錄備註。
選取部署。
等候應用程式部署,這可能需要幾分鐘的時間。
準備就緒時,[啟動] 按鈕會在工具列上啟用。 但尚未啟動應用程式,但不要關閉聊天遊樂場頁面 - 您稍後會返回。
設定 Web 應用程式驗證
根據預設,Web 應用程式只能存取您。 在本教學課程中,您會新增驗證,以將應用程式的存取限制為 Azure 租用戶的成員。 系統會要求使用者使用其 Microsoft Entra 帳戶登入,才能存取您的應用程式。 如果您想要的話,可以遵循類似的程序來新增另一個識別提供者。 除了驗證使用者是您租用戶的成員以外,應用程式不會以任何其他方式使用使用者的登入資訊。
返回包含 Azure 入口網站 的瀏覽器索引標籤(或在新的瀏覽器索引標籤中重新開啟 Azure 入口網站),並檢視部署 Web 應用程式的資源群組內容(您可能需要重新整理檢視以查看 Web 應用程式)。
從資源群組的資源清單中選取 App Service 資源。
從左側可摺疊的功能表中,於 [設定] 底下選取 [驗證]。
如果您在此頁面上看到 Microsoft 列出識別提供者,則不需要進一步。 您可以略過下一個步驟。
使用下列設定來新增識別提供者:
- 識別提供者:選取 Microsoft 作為識別提供者。 此頁面上的預設設定只會將應用程式限制為您的租用戶,因此您不需要在這裡變更任何其他項目。
- 租用戶類型:勞動力
- 應用程式註冊:建立新的應用程式註冊
- 名稱:Web 應用程式服務的名稱
- 支援的帳戶類型:目前租用戶 - 單一租用戶
- 限制存取:需要驗證
- 未驗證的要求:HTTP 302 找到重新導向 - 建議用於網站
使用 Web 應用程式
還差一點點就完成了。 現在您可以測試 Web 應用程式。
如果您變更了設定,請等候 10 分鐘左右,驗證設定才會生效。
返回瀏覽器索引標籤,其中包含 Azure AI Foundry 入口網站中的聊天遊樂場頁面。
選取 [啟動] 以啟動已部署的 Web 應用程式。 如果出現提示,請接受權限要求。
如果驗證設定尚未生效,請關閉 Web 應用程式的瀏覽器索引標籤,並返回 Azure AI Foundry 入口網站中的聊天遊樂場。 然後稍候一會兒,再試一次。
在您的 Web 應用程式中,您可以詢問與之前相同的問題 (「TrailWalker 登山健行鞋多少錢」),這次其會使用來自您資料的資訊來建構回應。 您可以展開 [參考] 按鈕,以查看所使用的資料。
瞭解聊天記錄
有了聊天記錄功能,您的使用者就能夠存取其個別先前的查詢和回應。
您可以在部署 Web 應用程式時啟用聊天歷程記錄。 選取 [在 Web 應用程式中啟用聊天歷程記錄] 核取方塊。
重要
啟用聊天歷程記錄將會在您的資源群組中建立 Cosmos DB 執行個體,並針對所使用的儲存體衍生額外費用。 刪除 Web 應用程式並不會自動刪除您的 Cosmos DB 執行個體。 若要刪除 Cosmos DB 執行個體以及所有已儲存的聊天,您必須瀏覽至 Azure 入口網站 中的關聯資源並加以刪除。
啟用聊天記錄之後,您的使用者就能夠在應用程式的右上角顯示並隱藏它。 顯示記錄時,他們可以重新命名或刪除交談。 當他們登入應用程式時,交談會自動從最新到最舊排序,並根據交談中的第一個查詢來命名。
如果您刪除 Cosmos DB 資源,但保留 Studio 上啟用的聊天記錄選項,您的使用者會收到連線錯誤通知,但可以繼續使用 Web 應用程式而不存取聊天記錄。
更新 Web 應用程式
使用遊樂場來新增更多數據,或使用不同的案例測試模型。 當您準備好使用新的模型更新 Web 應用程式時,請選取 [ 部署 > ...再次作為 Web 應用程式 。 選取 [ 更新現有的 Web 應用程式 ],然後從清單中選擇現有的 Web 應用程式。 新的模型會部署到現有的 Web 應用程式。
清除資源
為了避免產生不必要的 Azure 費用,如果您不再需要在本快速入門中建立的資源,則應該加以刪除。 若要管理資源,您可以使用 Azure 入口網站。
相關內容
- 開始使用提示流程 SDK 建置聊天應用程式
- 使用 Azure AI SDK 建置自訂聊天應用程式。