教學:部署企業聊天網頁應用程式(經典版)

僅適用於:Foundry(經典)入口。 這篇文章無法在新的 Foundry 入口網站中提供。 了解更多關於新入口網站的資訊。

本文中的連結可能會開啟新版 Microsoft Foundry 文件的內容,而非您目前正在瀏覽的 Foundry(經典版)文件。

在本文中,您將在 Microsoft Foundry 入口網站部署一個企業聊天網頁應用程式,該應用程式會利用您的資料與大型語言模型。

你的資料來源用具體數據為模型提供基礎。 接地是指模型利用你的資料來理解你問題的脈絡。 你不會改變已部署的模型本身。 你的資料會保持獨立且安全地存放在原始資料來源中。

這個教學的步驟如下:

  • 配置資源。
  • 加入你的資料。
  • 用你的資料測試模型。
  • 部署你的網頁應用程式。

先決條件

重要

本文提供基於集線器的專案的舊有支援。 這方法無法用於 Foundry 專案。 看看 ,我怎麼知道我手上的專案類型?

SDK 相容性說明:程式碼範例需要特定版本的 Microsoft Foundry SDK 版本。 如果你遇到相容性問題,可以考慮 從樞紐式專案遷移到 Foundry 專案

  • 部署Azure OpenAI聊天模型。 如果你還沒有該資源,可以完成 Foundry 遊樂場快速入門 來創建此資源。

  • 一個搜尋服務連接來索引範例產品資料。 如果你還沒有,請依照步驟 建立連結 搜尋服務。

  • 產品資料的本地副本。 Azure-Samples/rag-data-openai-python-promptflow 存放庫在 GitHub 上有本教程場景的零售產品範例資訊。 該 product_info_11.md 檔案包含了 TrailWalker 登山鞋的產品資訊,適用於此教學範例。 請以 ZIP 檔 下載範例 Contoso Trek 零售產品資料到您的本地電腦。

  • 一個Microsoft。Web 資源提供者已註冊在所選訂閱中,以便你可以部署到網頁應用程式。 欲了解更多關於註冊資源提供者的資訊,請參閱 註冊資源提供者

  • 在你的 Azure 訂閱中新增角色指派所需的必要權限。 只有特定 Azure 資源的擁有者能透過角色指派授予權限。

Foundry portal 與 Azure portal

在這個教學中,你會在 Foundry 入口網站執行一些任務,也在 Azure 入口網站執行部分任務。

Foundry 入口網站是一個基於網路的環境,用於建立、訓練及部署 AI 模型。 作為開發者,這裡是你建置並部署聊天網頁應用程式的地方。

Azure 入口網站讓管理員管理並監控 Azure 資源。 作為管理員,你會使用入口網站設定不同 Azure 服務的存取權限,以便從網頁應用程式存取。

配置資源

重要

您必須擁有必要的權限,才能在您的 Azure 訂閱中新增角色指派。 透過角色指派授予權限,只有特定 Azure 資源的擁有者才允許。 你可能需要請你的 Azure 訂閱擁有者(可能是你的 IT 管理員)幫你完成這部分。

要讓資源在網頁應用程式中正常運作,請在 Azure 入口網站設定正確的權限。

首先,確定你需要在 Foundry 入口網站中設置哪些資源。

  1. 打開 Foundry 入口網站,然後選擇你用來部署 Azure OpenAI 聊天模型的樞紐專案。

  2. 從左側窗格選擇 管理中心

  3. 在您的專案下選擇 「連結資源 」。

  4. 請確定你需要配置的三個資源:Azure OpenAIAzure AI 搜尋服務,以及對應於你的 workspaceblobstoreAzure Blob 儲存

    截圖顯示了需要設定的連結資源。

    提示

    如果你在表格中找不到 「Type 」,請在右上角選擇 欄位 ,然後新增或重新排序 已選取欄位。 如果你有多個 Azure OpenAI 資源,請使用包含你已部署聊天模型的那個。

  5. 請在Azure入口網站搜尋這些名字。 在新的瀏覽器分頁打開每個模組,這樣你可以在它們之間切換。

  6. 完成時,你會開啟三個新的瀏覽器分頁: Search ServiceFoundryblobstore Container。 三個分頁都開著,因為你需要在它們間切換來設定資源。

啟用受管理身份

在Azure入口網站中Search service資源的瀏覽器分頁中,啟用管理身份:

  1. 在左側窗格的設定中,選擇「身份」。
  2. 切換 狀態開啟
  3. 選擇 儲存

在Azure入口網站中Foundry資源的瀏覽器分頁中,啟用受管理身份:

  1. 在左側窗格,在資源管理下,選擇「身份」。
  2. 切換 狀態開啟
  3. 選擇 儲存

在Azure入口網站中Search service資源的瀏覽器分頁中,設定 API 存取政策:

  1. 在左側窗格的 設定中,選擇 「按鍵」。
  2. API 存取控制中,選擇 Both 。
  3. 當提示時,選擇 「是 」以確認。

分配角色

請依照以下步驟對每個資源重複此模式。

為任何資源分配基於角色的存取控制(RBAC)的一般模式如下:

  1. 請前往 Azure 入口網站,取得該資源。
  2. 從Azure入口網站左側頁面,選擇存取控制(IAM)
  3. 選擇 + 新增>角色分配
  4. 搜尋你要指派的角色並選擇它。 然後選擇 「下一步」。
  5. 當你為自己分配角色時:
    1. 選擇 使用者、群組或服務主體
    2. 選擇 精選成員
    3. 搜尋你的名字並選擇它。
  6. 將角色指派給其他資源時:
    1. 選擇 受管理身份
    2. 選擇 精選成員
    3. 請使用下拉選單找到你想指派的資源類型。 例如, Foundry ToolsSearch Service
    4. 從出現的清單中選擇資源。 可能只有一個,但你仍然需要選擇它。
  7. 繼續完成精靈步驟,選擇檢視並指派以新增角色指派。

請依照以下步驟為你在本教學中設定的資源分配角色:

  • 請在Azure入口網站的瀏覽器分頁中,為 Search service 指派這些角色:

    • 搜尋索引數據讀取器Foundry 受控身份
    • 搜尋服務 貢獻者,為 Foundry 管理身份提供資料
    • 要將貢獻者角色指派給自己(若要找到貢獻者角色,請切換到最上方的特權管理員角色標籤。其他所有角色都位於工作功能角色標籤中。)
  • 在Azure入口網站的瀏覽器分頁中,為 Foundry指派這些角色:

    • 認知服務 OpenAI搜尋服務 管理身份的貢獻者
    • 為自己做出貢獻
  • 在瀏覽器分頁中,為 Azure 入口網站的 Azure Blob storage 指派這些角色:

    • 儲存體Blob資料貢獻者Foundry 受管理的身份
    • Storage Blob 資料讀取 器用於 搜尋服務 的管理身份
    • 自我貢獻

你已經完成了資源的設定。 如果你想,現在可以關閉 Azure 入口網站的瀏覽器分頁。

新增你的資料,再試一次聊天模式

Foundry 遊樂場快速入門(這是本教學的前提)中,你會看到你的模型在無需資料的情況下如何反應。 將你的資料加入模型,讓它能回答關於你產品的疑問。

要完成此部分,您需要一份本地產品資料副本。 GitHub 上的 Azure-Samples/rag-data-openai-python-promptflow 倉庫包含了與此教學情境相關的零售產品範例資訊。 具體來說,檔案 product_info_11.md 包含了與本教學範例相關的 TrailWalker 登山鞋產品資訊。 請以 ZIP 檔 下載範例 Contoso Trek 零售產品資料到您的本地電腦。

請依照以下步驟將資料加入聊天遊樂場,幫助助理回答有關你產品的問題。 你並沒有改變已部署的模型本身。 你的資料會分別且安全地儲存在你的 Azure 訂閱中。

  1. 請前往 Microsoft Foundry 的專案。

  2. 從左側窗格選擇 遊樂場

  3. 選擇 「嘗試聊天遊樂場」。

  4. 部署 下拉選單選擇你已部署的聊天模式。

    聊天遊樂場的截圖,選擇聊天模式和模型。

  5. 在聊天遊樂場的左側,選擇 新增你的資料>+新增資料來源

    聊天遊樂場的截圖,顯示新增資料來源的選項。

  6. 資料來源 下拉選單中,選擇 上傳檔案

    資料來源選擇選項的截圖。

  7. 選擇「 上傳>上傳檔案 」以瀏覽您的本地檔案。

  8. 選擇你想上傳的檔案。 選擇你先前下載或建立的產品資訊檔案。 現在就把所有檔案都加入。 您將無法在同一個測試環境中新增更多檔案。

  9. 選擇 Upload 來將檔案上傳到你的 Azure Blob 儲存帳號。 然後選擇 「下一步」。

    選取並上傳檔案的對話截圖。

  10. 選擇您的Azure AI 搜尋服務服務。

  11. 對於 Vector 索引名稱,輸入 product-info 並選擇 「Next」。

  12. 搜尋設定 頁面的 向量設定中,取消勾選「 將向量搜尋加入此搜尋資源 」的勾選框。 此設定有助於決定模型如何回應請求。 然後選擇 「下一步」。

    如果你加上向量搜尋,這裡會有更多選項,但需要額外付費。

  13. 檢視你的設定,選擇 建立向量索引

  14. 在遊樂場中,你可以看到資料正在擷取中。 這個過程可能需要幾分鐘。 在繼續之前,請等待資料來源和索引名稱出現並取代原有狀態。

    聊天遊樂場的截圖,顯示資料擷取狀態。

  15. 你現在可以和模型聊天,問同樣的問題(「TrailWalker 登山鞋多少錢」),這次它會用你的資料來構建回答。 你可以展開 參考 按鈕查看所使用的資料。

部署你的網頁應用程式

當你對 Foundry 入口網站的體驗感到滿意後,將模型部署為獨立的網頁應用程式。

在 Azure 入口網站找到你的資源群組

在這個教學中,將你的網頁應用程式部署到與 Foundry 集線器相同的資源群組。 你會在 Azure 入口網站設定網頁應用程式的認證。

請依照以下步驟前往 Azure 入口網站中的資源群組:

  1. Foundry 進入你的專案。 從左側窗格選擇 管理中心

  2. Project標題下,選擇Overview

  3. 選擇資源群組名稱,在 Azure 入口網站中開啟該資源群組。 在此範例中,資源群命名為 rg-sdg-ai

    Foundry 入口中資源群組的截圖。

  4. 你現在在 Azure 入口網站,查看你部署集線器時資源群組的內容。 請注意資源群組名稱與地點。 你將在下一節使用這些資訊。

  5. 請將此頁面置於瀏覽器分頁中開啟。你之後會再回來看。

部署網頁應用程式

發佈會在你的訂閱中建立一個 Azure App 服務。 你可能會因選擇的 定價方案 而產生費用。 當你的應用程式完成後,從 Azure 入口網站刪除它。

要部署網頁應用程式:

重要

在部署到網頁應用程式之前,註冊Microsoft.Web作為資源提供者

  1. 完成前一節的步驟,將 你的資料加入 遊樂場。 你可以部署有或沒有自己的資料的網頁應用程式,但你需要一個已部署的模型,如 Foundry Playground 快速入門中所述。

  2. 選擇 部署 > ...作為一個網頁應用程式

    部署新網頁應用程式按鈕的截圖。

  3. 部署到網頁應用程式 頁面,請輸入以下細節:

    • 名稱:為你的網頁應用程式命名。
    • Subscription:您的Azure訂閱。 如果你看不到任何可用的訂閱,首先註冊 Microsoft.Web 作為資源提供者
    • 資源群組:選擇一個資源群組來部署網頁應用程式。 使用與集線器相同的資源群組。
    • 地點:選擇一個部署網頁應用程式的地點。 使用與樞紐相同的位置。
    • 定價方案:為網頁應用程式選擇一個定價方案。
    • 在網頁應用程式中啟用聊天記錄:教學中,聊天記錄框未被選取。 啟用此功能後,使用者即可存取他們先前的個別查詢與回應。 更多資訊請參閱 聊天記錄備註
  4. 選擇 部署

  5. 等應用程式部署完成。 這個過程可能需要幾分鐘。

  6. 準備好後,工具列上的 啟動 按鈕會啟用。 請不要立即啟動應用程式,也不要關閉聊天遊樂場頁面——你之後會回來查看。

設定網頁應用程式認證

預設情況下,只有你能存取網頁應用程式。 在這個教學中,新增認證以限制你 Azure 租戶成員的存取權限。 使用者需使用他們的 Microsoft Entra 帳號登入以存取您的應用程式。 如果你願意,也可以用類似的流程新增另一個身份提供者。 該應用程式只會用使用者的登入資訊來驗證他們是租戶成員。

  1. 回到瀏覽器分頁,開啟Azure入口網站,或在新的瀏覽器分頁中開啟 Azure 入口。查看你部署網頁應用程式的資源群組內容。 你可能需要重新整理畫面才能看到網頁應用程式。

  2. 從資源群組中的資源清單中選擇 App Service 資源。

  3. 設定下的可摺疊左側選單中,選擇「認證」。

    Azure入口網站設定中網頁應用程式認證選單項目的截圖。

  4. 如果您在本頁看到Microsoft列出身份提供者,則無需進一步說明。 你可以跳過下一步。

  5. 請依下列設定新增身份提供者:

    • Identity provider:選擇 Microsoft 作為身份提供者。 本頁的設定將應用程式侷限於你的租戶使用,所以你不需要在這裡改變其他設定。
    • 租戶類型:勞動力
    • 應用程式註冊:建立新的應用程式註冊
    • 名稱您的網頁應用程式服務名稱
    • 支援的帳號類型:目前租戶 - 單一租戶
    • 限制存取:需要認證
    • 未認證請求:HTTP 302 Found redirect - 推薦用於網站

使用網頁應用程式

你快到了。 現在你可以測試網頁應用程式了。

  1. 如果你更改了設定,請等大約 10 分鐘讓驗證設定生效。

  2. 回到瀏覽器分頁,找到 Foundry 入口網站中的聊天遊樂場頁面。

  3. 選擇 啟動 以開啟已部署的網頁應用程式。 如果被要求,請接受權限請求。

  4. 如果你在 Playground 裡沒有看到 啟動 ,請從左側窗格選擇 網頁應用程式,然後從清單中選擇你的應用程式以開啟應用程式。

    如果認證設定還沒啟用,請關閉你網頁應用程式的瀏覽器分頁,然後回到 Foundry 入口的聊天遊樂場。 再等一會兒,再試一次。

  5. 在你的網頁應用程式裡,問和之前一樣的問題(「TrailWalker 登山鞋多少錢」)。 這次,應用程式會利用你的資料來構建回應。 展開 參考 按鈕即可查看所使用的資料。

    透過已部署的網頁應用程式進行聊天體驗的截圖。

了解聊天歷史

透過聊天紀錄功能,你的用戶可以看到他們過去的查詢和回應。

部署 網頁應用程式時啟用聊天紀錄。 選擇網頁 應用程式中的「啟用聊天紀錄 」勾選框。

部署網頁應用程式時啟用聊天紀錄的選項截圖。

重要

啟用聊天紀錄會在你的資源群組中建立一個 Cosmos DB 實例 ,並因使用儲存空間產生 額外費用 。 刪除你的網頁應用程式並不會自動刪除你的 Cosmos 資料庫實例。 要刪除你的 Cosmos DB 實例和所有儲存的聊天內容,請到 Azure 入口網站的相關資源並刪除它。

啟用聊天紀錄後,用戶可以在應用程式右上角顯示或隱藏聊天紀錄。 當歷史紀錄顯示時,他們可以重新命名或刪除對話內容。 當他們登入應用程式時,對話會依序從最新到最舊排序,並根據對話中的第一個查詢來命名。

如果你刪除 Cosmos 資料庫資源,但保留工作室的聊天紀錄選項,使用者會看到連線錯誤,但可以繼續使用網頁應用程式而不保留聊天紀錄。

更新網頁應用程式

利用 Playground 加入更多資料或用不同情境測試模型。 當你準備好用新模型更新網頁應用程式時,選擇 部署 > ...作為網頁應用程式 。 選擇 「更新現有網頁應用程式」,然後從清單中選擇現有的網頁應用程式。 新模型會部署到現有的網頁應用程式。

清理資源

為了避免不必要的 Azure 成本,如果你不需要,請刪除你在此快速入門中建立的資源。 在Azure 入口網站管理資源。