教學課程:在 Azure AI Studio 中使用提示流程建置和部署問答

注意

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

在本 Azure AI Studio 教學課程中,您會使用產生 AI 和提示流程,為您的零售公司建立、設定及部署稱為 Contoso 的 Copilot。 您的零售公司專門從事戶外露營裝備和服裝。

警長應該回答您的產品和服務相關問題。 它也應該回答您的客戶相關問題。 例如,警員可以回答諸如「步行者徒步旅行鞋的成本是多少?」和「丹尼爾·威爾遜買多少小路步行鞋?」等問題。

本教學課程中的步驟如下:

  1. 建立 Azure AI Studio 專案。
  2. 部署 Azure OpenAI 模型,並與您的數據聊天。
  3. 從遊樂場建立提示流程。
  4. 使用多個數據源自定義提示流程。
  5. 使用問答評估數據集來評估流程。
  6. 部署流程以供取用。

必要條件

  • Azure 訂用帳戶 - 免費建立一個訂用帳戶。

  • 在所需的 Azure 訂用帳戶中授與 Azure OpenAI 的存取權。

    目前只有應用程式會授予此服務的存取權。 您可以填妥 https://aka.ms/oai/access 的表單,以申請 Azure OpenAI 的存取權。 如有問題,請在此存放庫中提出問題來與我們連絡。

  • 您需要 Azure AI 中樞資源,而且您的使用者角色必須是 Azure AI 開發人員參與者Azure AI 中樞資源的擁有者 。 如需詳細資訊,請參閱 Azure AI 中樞資源和Azure AI 角色

    • 如果您的角色是 參與者擁有者,您可以在 本教學課程中建立 Azure AI 中樞資源。
    • 如果您的角色是 Azure AI 開發人員,則必須建立 Azure AI 中樞資源。
  • 您的訂用帳戶必須低於配額限制,才能在本教學課程中部署新的模型。 否則,您已經需要部署的 聊天模型

  • 您需要產品與客戶數據的本地副本。 GitHub 上的 Azure/aistudio-copilot-sample 存放庫包含與本教學課程案例相關的範例零售客戶和產品資訊。 複製存放庫,或從 1-customer-info 和 3-product-info 複製檔案。

在 Azure AI Studio 中建立 Azure AI 專案

您的 Azure AI 專案可用來組織工作並儲存狀態,同時建置您的 Copilot。 在本教學課程中,您的專案包含您的數據、提示流程運行時間、評估和其他資源。 如需 Azure AI 專案和資源模型的詳細資訊,請參閱 Azure AI 中樞資源

若要在 Azure AI Studio建立 Azure AI 專案,請遵循下列步驟:

  1. 選取頁面頂端的 [ 置] 索引標籤。

  2. 選取 [+ 新增 AI 專案]。

    Azure AI Studio [建置] 索引標籤的螢幕快照,其中包含可建立新項目的選項。

  3. 輸入專案的 [名稱] 。

  4. 從下拉式清單中選取 Azure AI 中樞資源,以裝載您的專案。 如果您還無法存取 Azure AI 中樞資源,請選取 [建立新的資源]。

    [建立專案] 對話框中 [項目詳細數據] 頁面的螢幕快照。

    注意

    若要建立 Azure AI 中樞資源,您必須擁有 所選資源群組的擁有者參與者 許可權。 建議您與小組共用 Azure AI 中樞資源。 這可讓您與所有專案共享數據連線等設定,並集中管理安全性設定和支出。

  5. 如果您要建立新的 Azure AI 中樞資源,請輸入名稱。

  6. 從下拉式清單中選取您的 Azure 訂用帳戶 。 基於計費、存取或系統管理原因,為您的項目選擇特定的 Azure 訂用帳戶。 例如,這會授與使用者和服務主體對專案的訂用帳戶層級存取權。

  7. 將 [ 資源群組 ] 保留為預設值,以建立新的資源群組。 或者,您可以從下拉式清單中選取現有的資源群組。

    提示

    特別是針對開始使用,建議您為專案建立新的資源群組。 這可讓您輕鬆地一起管理專案及其所有資源。 當您建立專案時,資源群組中會建立數個資源,包括 Azure AI 中樞資源、容器登錄和記憶體帳戶。

  8. 輸入 Azure AI 中樞資源的 [ 位置 ],然後選取 [ 下一步]。 位置是裝載 Azure AI 中樞資源的區域。 Azure AI 中樞資源的位置也是專案的位置。 Azure AI 服務可用性會因每個區域而異。 例如,某些區域可能無法使用特定模型。

  9. 從下拉式清單中選取現有的 Azure OpenAI 資源,或建立新的資源。

    [建立專案] 對話框中 [建立資源] 頁面的螢幕快照。

  10. 在 [ 檢閱和完成 ] 頁面上,您會看到要檢閱的 Azure OpenAI 服務資源名稱和其他設定。

    [建立專案] 對話框中檢閱和完成頁面的螢幕快照。

  11. 檢閱專案詳細數據,然後選取 [ 建立 AI 專案]。 您會看到資源建立進度,並在程式完成時建立專案。

    [建立專案] 對話框中資源建立進度的螢幕快照。

建立項目之後,您可以在左側導覽面板中存取 [工具]、 [元件] 和 [AI] 專案設定 資產。 如需使用 Azure AI 中樞支援 Azure OpenAI 的專案,您會看到 [工具] 底下的 [遊樂場] 瀏覽選項。

部署聊天模型

請遵循下列步驟,為您的 Copilot 部署 Azure OpenAI 聊天模型。

  1. 使用可存取 Azure OpenAI 資源的認證登入 Azure AI Studio 。 在登入工作流程期間 (或之後),選取適當的目錄、Azure 訂用帳戶和 Azure OpenAI 資源。 您應該位於 Azure AI Studio 首頁

  2. 從頂端功能表中選取 [建置],然後選取 [部署>建立>即時端點]。

    [部署] 頁面的螢幕快照,其中包含用來建立新項目的按鈕。

  3. 在 [ 選取模型 ] 頁面上,從模型清單中選取您要部署的模型。 例如,選取 gpt-35-turbo-16k。 然後選取 [ 確認]。

    模型選取頁面的螢幕快照。

  4. 在 [ 部署模型] 頁面上,輸入部署的名稱,然後選取 [ 部署]。 建立部署之後,您會看到部署詳細數據頁面。 詳細數據包括您建立部署的日期,以及您所部署模型的建立日期和版本。

  5. 在上一個步驟的 [部署詳細數據] 頁面上,選取 [在遊樂場中開啟]。

    GPT 聊天部署詳細數據的螢幕快照。

如需部署模型的詳細資訊,請參閱 如何部署模型

在沒有數據的情況下在遊樂場中聊天

在 Azure AI Studio 遊樂場中,您可以觀察您的模型如何回應,而不用您的數據。 在本節中,您會在沒有數據的情況下測試模型。 在下一節中,您會將數據新增至模型,以協助其更妥善地回答有關您產品的問題。

  1. 在遊樂場中,確定已從 [模式] 下拉式清單中選取 [聊天]。 從 [部署] 下拉式清單中選取已部署的 GPT 聊天模型。

    聊天遊樂場的螢幕快照,其中已選取聊天模式和模型。

  2. 在 [助理設定] 窗格的 [系統消息] 文本框中,提供此提示來引導助理:「您是可協助人員尋找資訊的 AI 助理」。您可以針對您的案例量身打造提示。 如需詳細資訊,請參閱 提示範例

  3. 選取 [ 套用變更 ] 以儲存變更,當系統提示您查看是否要更新系統訊息時,請選取 [ 繼續]。

  4. 在聊天會話窗格中,輸入下列問題:「TrailWalker 徒步旅行鞋的成本是多少」,然後選取要傳送的向右箭號圖示。

    第一個聊天問題的螢幕快照,其中未設定數據。

  5. 助理回答說,它不知道答案。 該模型無法存取有關 TrailWalker 徒步旅行鞋的產品資訊。

    助理的回復螢幕快照,但未將數據停在地。

在下一節中,您會將數據新增至模型,以協助其回答產品相關問題。

新增您的數據,然後再次嘗試聊天模型

您需要範例產品資訊的本地副本。 如需範例數據的詳細資訊和連結,請參閱 必要條件

您將本機數據檔上傳至 Azure Blob 記憶體,並建立 Azure AI 搜尋服務索引。 您的資料來源用於協助將模型與特定資料結合在一起。 地面表示模型會使用您的數據來協助其了解問題的內容。 您不會變更已部署的模型本身。 您的數據會分別安全地儲存在 Azure 訂用帳戶中。 如需詳細資訊,請參閱 數據上的 Azure OpenAI。

請遵循下列步驟,將數據新增至遊樂場,以協助助理回答有關您產品的問題。

  1. 如果您尚未在 Azure AI Studio 遊樂場中,請從頂端功能表中選取 [建置],然後從可折疊的左側功能表中選取 [遊樂場]。

  2. 在 [助理設定] 窗格中,選取 [新增您的數據][預覽]>+[新增數據源]。

    聊天遊樂場的螢幕快照,其中包含新增數據源可見的選項。

  3. 出現的 [數據源] 頁面中,從 [選取數據源] 下拉式清單中選取 [上傳檔案]。

    產品數據源選取選項的螢幕快照。

    提示

    如需資料來源選項和支援的檔案類型和格式,請參閱資料上的 Azure OpenAI

  4. 輸入 產品資訊 作為產品資訊索引的名稱。

    上傳檔案所需的資源和資訊的螢幕快照。

  5. 選取或建立名為 contoso-outdoor-search 的 Azure AI 搜尋資源,然後選取連線它會造成帳戶使用量的通知。

    注意

    在本教學課程稍後的 提示流程中使用產品資訊 索引和 contoso-outdoor-search Azure AI 搜尋資源。 如果您輸入的名稱與此處指定的名稱不同,請務必使用您在教學課程其餘部分輸入的名稱。

  6. 選取包含您想要使用的 Azure OpenAI 資源的 Azure 訂用帳戶。 然後選取下一步

  7. 在 [ 上傳檔案 ] 頁面上,選取 [ 瀏覽檔案] ,然後選取您要上傳的檔案。 選取您稍早下載或建立的產品資訊檔案。 請參閱必要條件。 如果您想要上傳多個檔案,請立即上傳。 您稍後無法在相同的遊樂場會話中新增更多檔案。

  8. 選取 [上傳 ] 以將檔案上傳至您的 Azure Blob 記憶體帳戶。 然後從頁面底部選取 [下一步 ]。

    要選取和上傳檔案之對話框的螢幕快照。

  9. 在 [搜尋類型] 底下的 [數據管理] 頁面上,選取 [關鍵詞]。 此設定有助於判斷模型如何回應要求。 然後選取 [下一步]。

    注意

    如果您已在 [選取] 或 [新增數據源] 頁面上新增向量搜尋,則可以在這裡取得更多選項,以取得額外的成本。 如需詳細資訊,請參閱 數據上的 Azure OpenAI。

  10. 檢閱您輸入的詳細數據,然後選取 [ 儲存並關閉]。 您現在可以與模型聊天,並使用數據中的資訊來建構回應。

    用於新增數據的檢閱和完成頁面螢幕快照。

  11. 現在,在 [ 小幫手設定 ] 窗格中,您可以看到數據擷取正在進行中。 繼續之前,請等到您看到數據源和索引名稱取代狀態為止。

    聊天遊樂場的螢幕快照,其中包含檢視中數據擷取的狀態。

  12. 您現在可以與模型聊天,詢問與之前相同的問題(“TrailWalker 徒步旅行鞋的成本是多少),這次它會使用數據的資訊來建構回應。 您可以展開 [參考] 按鈕,以查看所使用的數據。

    助理回復與地面數據的螢幕快照。

建立提示流程所需的計算和運行時間

您可以使用提示流程,將傳送至 copilot 聊天模型的訊息優化。 提示流程需要計算實例和運行時間。 如果您已經有計算實例和運行時間,您可以略過本節並保留在遊樂場中。

若要建立計算實例和運行時間,請遵循下列步驟:

  1. 如果您沒有計算實例,您可以在 Azure AI Studio 中建立一個。
  2. 然後遵循如何建立運行時間的步驟 來建立運行時間

若要完成本教學課程的其餘部分,請確定您的運行時間處於 [ 執行 中] 狀態。 您可能需要選取 [ 重新 整理] 以查看更新的狀態。

重要

計算實例在執行時,會向您收取費用。 若要避免產生不必要的 Azure 成本,請在未主動在提示流程中運作時暫停計算實例。 如需詳細資訊,請參閱 如何啟動和停止計算

從遊樂場建立提示流程

現在,您已部署的聊天模型正使用您的數據在遊樂場中運作,您可以從遊樂場部署您的 Copilot 作為 Web 應用程式

但您可能會問「如何進一步自定義此警戒?」您可能想要新增多個資料源、比較不同的提示或多個模型的效能。 提示流程可作為可執行的工作流程,可簡化 LLM 型 AI 應用程式的開發。 其提供管理應用程式內資料流程和處理的完整架構。

在本節中,您將瞭解如何從遊樂場轉換至提示流程。 您可以匯出遊樂場聊天環境,包括與您新增之數據的連線。 稍後在本教學課程中,您會評估流程,然後部署流程以供取用

注意

提示流程中所做的變更不會向後套用以更新遊樂場環境。

您可以遵循下列步驟,從遊樂場建立提示流程:

  1. 如果您尚未在 Azure AI Studio 遊樂場中,請從頂端功能表中選取 [建置],然後從可折疊的左側功能表中選取 [遊樂場]。

  2. 從 [聊天會話] 窗格上方的功能表中,選取 [在提示流程中開啟]。

  3. 輸入提示流程的資料夾名稱。 然後選取 [開啟]。 Azure AI Studio 會導出遊樂場聊天環境,包括聯機至您的數據以提示流程。

    在提示流程對話框中開啟的螢幕快照。

在流程中,節點會佔據舞台中心,代表具有獨特功能的特定工具。 這些節點會使用輸入和輸出來處理資料處理、工作執行和演算法作業。 藉由連線節點,您可以建立順暢的作業鏈結,以引導應用程式的資料流程。 如需詳細資訊,請參閱 提示流程工具

為了加速節點設定和微調,工作流程結構的視覺表示法是透過DAG(有向非循環圖形)圖形來提供。 此圖表會展示節點之間的連線能力和相依性,並提供整個工作流程的清楚概觀。 此處所示圖表中的節點代表您匯出至提示流程的遊樂場聊天體驗。

從遊樂場導出到提示流程的預設圖形螢幕快照。

您可以新增、更新、重新排列或移除節點。 此時您流程中的節點包括:

  • DetermineIntent:這個節點會決定使用者查詢的意圖。 它會使用系統提示來判斷意圖。 您可以編輯系統提示,以提供案例特定的幾個快照範例。
  • ExtractIntent:此節點會格式化 DetermineIntent 節點的輸出,並將其傳送至 RetrieveDocuments 節點。
  • RetrieveDocuments:此節點會搜尋與查詢相關的最上層檔。 此節點會使用搜尋類型和您在遊樂場中預先設定的任何參數。
  • FormatRetrievedDocuments:此節點會格式化 RetrieveDocuments 節點的輸出,並將其傳送至 DetermineReply 節點。
  • DetermineReply:此節點包含廣泛的系統提示,要求 LLM 僅使用擷取的文件來回應。 有兩個輸入:
    • RetrieveDocuments 節點會提供最上層擷取的檔。
    • FormatConversation 節點會提供格式化的交談歷程記錄,包括最新的查詢。

FormatReply 節點會格式化 DetermineReply 節點的輸出。

在提示流程中,您也應該看到:

  • 儲存:您可以從頂端功能表中選取 [儲存 ],隨時儲存提示流程。 當您在本教學課程中進行變更時,請務必定期儲存您的提示流程。

  • 運行時間:您稍早在本教學課程中建立的運行時間。 您可以透過 左側選單中的 AI 專案設定 來啟動和停止運行時間和計算實例。 若要在提示流程中運作,請確定您的運行時間處於 [ 執行 中] 狀態。

    提示流程編輯器和周圍功能表的螢幕快照。

  • 工具:您可以從左側功能表中的工具選取 [提示流程],隨時返回提示流程。 然後選取您稍早建立的提示流程資料夾(而非範例流程)。

    提示流程清單的螢幕快照。

使用多個數據源自定義提示流程

稍早在 Azure AI Studio 遊樂場中,您已新增數據,以建立一個包含 Contoso copilot 產品數據的搜尋索引。 到目前為止,使用者只能詢問有問題的產品,如“TrailWalker 徒步旅行鞋的成本是多少?”。 但他們無法得到諸如「丹尼爾·威爾遜買多少步行者徒步旅行鞋」等問題的解答?若要啟用此案例,我們會將另一個索引與客戶資訊新增至流程。

建立客戶資訊索引

您需要範例客戶資訊的本機複本。 如需範例數據的詳細資訊和連結,請參閱 必要條件

請遵循下列指示,瞭解如何建立新的索引:

  1. 從左側功能表中選取 [索引 ]。 然後選取 [+ 新增索引]。

    索引頁面的螢幕快照,其中包含用來建立新索引的按鈕。

    系統會帶您前往建立 索引精 靈。

  2. 在 [源數據] 頁面上,從 [上傳] 下拉式清單中選取 [上傳資料夾]。 選取您稍早下載或建立的客戶資訊檔案。 請參閱必要條件

    客戶數據源選取選項的螢幕快照。

  3. 請選取頁面底部的下一步

  4. 選取您用於產品資訊索引 (product-info) 的相同 Azure AI 搜尋資源 (contoso-outdoor-search)。 然後選取下一步

    所選 Azure AI 搜尋資源的螢幕快照。

  5. 針對 [搜尋類型] 選取 [混合式 + 語意][建議]。 默認應該選取此類型。

  6. [Azure OpenAI 資源] 下拉式清單中選取 [Default_AzureOpenAI]。 選取複選框,確認 Azure OpenAI 內嵌模型尚未部署。 然後選取下一步

    索引搜尋類型選項的螢幕快照。

    注意

    內嵌模型會與其他模型部署一起列在 [部署 ] 頁面中。

  7. 輸入 索引名稱的客戶資訊 。 然後選取下一步

    索引名稱和虛擬機選項的螢幕快照。

  8. 檢閱您輸入的詳細數據,然後選取 [ 建立]。

    檢閱和完成索引建立頁面的螢幕快照。

    注意

    在本教學課程稍後的 提示流程中使用客戶資訊 索引和 contoso-outdoor-search Azure AI 搜尋資源。 如果您輸入的名稱與此處指定的名稱不同,請務必使用您在教學課程其餘部分輸入的名稱。

  9. 系統會帶您前往索引詳細數據頁面,您可以在其中查看索引建立的狀態

    客戶資訊索引詳細數據的螢幕快照。

如需如何建立索引的詳細資訊,請參閱 建立索引

將客戶資訊新增至流程

建立索引之後,請返回您的提示流程,並遵循下列步驟將客戶資訊新增至流程:

  1. 從圖形選取 RetrieveDocuments 節點,並將它重新命名為 RetrieveProductInfo。 現在,擷取產品資訊節點可以與您新增至流程的擷取客戶資訊節點區別開來。

    用於擷取產品資訊的提示流程節點螢幕快照。

  2. 從頂端功能表中選取 [+ Python ],以建立用來擷取客戶資訊的新 Python 節點

    用於擷取客戶資訊的提示流程節點螢幕快照。

  3. 將節點 命名為 RetrieveCustomerInfo ,然後選取 [ 新增]。

  4. 將來自 RetrieveProductInfo 節點的 Python 程式代碼複製並貼到 RetrieveCustomerInfo 節點,以取代所有預設程式碼。

  5. 選取 [驗證並剖析輸入] 按鈕,以驗證 RetrieveCustomerInfo 節點的輸入。 如果輸入有效,提示流程會剖析輸入,並建立必要的變數,讓您在程序代碼中使用。

    驗證和剖析輸入按鈕的螢幕快照。

  6. 編輯 RetrieveCustomerInfo 輸入,提示您剖析流程,使其可以連線到您的客戶資訊索引。

    擷取客戶資訊節點中要編輯之輸入的螢幕快照。

    注意

    當您將查詢輸入值設定為 ExtractIntent.output.search_intents 之後,圖表會立即更新。 在圖表中, 您可以看到 RetrieveCustomerInfo 會從 ExtractIntent 取得輸入。

    輸入會區分大小寫,因此請確定它們完全符合這些值:

    名稱 類型
    embeddingModel 連線 ion Azure OpenAI Default_AzureOpenAI
    embeddingModelName string None
    indexName string customer-info
    查詢 string ${ExtractIntent.output.search_intents}
    queryType string simple
    search 連線 ion 認知搜尋 contoso-outdoor-search
    semanticConfiguration string None
    topK int 5
  7. 從頂端功能表中選取 [ 儲存 ],以儲存變更。

將擷取的檔案格式化為輸出

既然您的提示流程中同時有產品與客戶資訊,您就會格式化擷取的檔,讓大型語言模型可以使用它們。

  1. 從圖形中 選取 FormatRetrievedDocuments 節點。

  2. 複製並貼上下列 Python 程式代碼,以取代 FormatRetrievedDocuments 程式代碼區塊中的所有內容。

    from promptflow import tool
    
    @tool
    def format_retrieved_documents(docs1: object, docs2: object, maxTokens: int) -> str:
      formattedDocs = []
      strResult = ""
      docs = [val for pair in zip(docs1, docs2) for val in pair]
      for index, doc in enumerate(docs):
        formattedDocs.append({
          f"[doc{index}]": {
            "title": doc['title'],
            "content": doc['content']
          }
        })
        formattedResult = { "retrieved_documents": formattedDocs }
        nextStrResult = str(formattedResult)
        if (estimate_tokens(nextStrResult) > maxTokens):
          break
        strResult = nextStrResult
    
      return {
              "combined_docs": docs,
              "strResult": strResult
          }
    
    def estimate_tokens(text: str) -> int:
      return (len(text) + 2) / 3
    
  3. 選取 [驗證並剖析輸入] 按鈕,以驗證 FormatRetrievedDocuments 節點的輸入。 如果輸入有效,提示流程會剖析輸入,並建立必要的變數,讓您在程序代碼中使用。

  4. 編輯 FormatRetrievedDocuments 輸入,提示您剖析流程,以便從 RetrieveProductInfo 和 RetrieveCustomerInfo 節點擷取產品和客戶資訊

    要以擷取檔節點格式編輯的輸入螢幕快照。

    輸入會區分大小寫,因此請確定它們完全符合這些值:

    名稱 類型
    docs1 object ${RetrieveProductInfo.output}
    docs2 object ${RetrieveCustomerInfo.output}
    maxTokens int 5000
  5. 從圖形中 選取 [判斷][ 重新建立] 節點。

  6. 文件輸入設定為 ${FormatRetrievedDocuments.output.strResult}

    編輯決定回復節點中檔輸入值的螢幕快照。

  7. 從圖形中 選取輸出 節點。

  8. fetched_docs 輸入設定為 ${FormatRetrievedDocuments.output.combined_docs}

    編輯輸出節點中fetched_docs輸入值的螢幕快照。

  9. 從頂端功能表中選取 [ 儲存 ],以儲存變更。

使用產品和客戶資訊在提示流程中聊天

現在,您在提示流程中同時擁有產品和客戶資訊。 您可以在提示流程中與模型聊天,並得到諸如「丹尼爾·威爾遜買多少小走道者徒步旅行鞋」等問題的解答?在繼續進行更正式的評估之前,您可以選擇性地與模型聊天,以查看其如何回應您的問題。

  1. 從提示流程的頂端功能表中選取 [聊天 ],以嘗試聊天。

  2. 輸入「丹尼爾·威爾遜購買多少小走道鞋?」,然後選取要傳送的向右箭號圖示。

  3. 回應是您預期的回應。 此模型會使用客戶資訊來回答問題。

    助理的回復螢幕快照,其中包含產品和客戶地面數據。

使用問答評估數據集評估流程

Azure AI Studio 中,您想要先評估流程,再部署流程以供取用

在本節中,您會使用內建評估來評估流程與問答評估數據集。 內建評估會使用 AI 輔助計量來評估您的流程:基礎性、相關性和擷取分數。 如需詳細資訊,請參閱 內建評估計量

建立評估

您需要包含與案例相關的問題和解答的問答評估數據集。 在本機建立名為 qa-evaluation.jsonl 的新檔案。 將下列問題和答案複製"truth"並貼到 檔案中。

{"question": "What color is the CozyNights Sleeping Bag?", "truth": "Red", "chat_history": [], }
{"question": "When did Daniel Wilson order the BaseCamp Folding Table?", "truth": "May 7th, 2023", "chat_history": [] }
{"question": "How much does TrailWalker Hiking Shoes cost? ", "truth": "$110", "chat_history": [] }
{"question": "What kind of tent did Sarah Lee buy?", "truth": "SkyView 2 person tent", "chat_history": [] }
{"question": "What is Melissa Davis's phone number?", "truth": "555-333-4444", "chat_history": [] }
{"question": "What is the proper care for trailwalker hiking shoes?", "truth": "After each use, remove any dirt or debris by brushing or wiping the shoes with a damp cloth.", "chat_history": [] }
{"question": "Does TrailMaster Tent come with a warranty?", "truth": "2 years", "chat_history": [] }
{"question": "How much did David Kim spend on the TrailLite Daypack?", "truth": "$240", "chat_history": [] }
{"question": "What items did Amanda Perez purchase?", "truth": "TrailMaster X4 Tent, TrekReady Hiking Boots (quantity 3), CozyNights Sleeping Bag, TrailBlaze Hiking Pants, RainGuard Hiking Jacket, and CompactCook Camping Stove", "chat_history": [] }
{"question": "What is the Brand for TrekReady Hiking Boots", "truth": "TrekReady", "chat_history": [] }
{"question": "How many items did Karen Williams buy?", "truth": "three items of the Summit Breeze Jacket", "chat_history": [] }
{"question": "France is in Europe", "truth": "Sorry, I can only truth questions related to outdoor/camping gear and equipment", "chat_history": [] }

現在您已擁有評估數據集,您可以遵循下列步驟來評估流程:

  1. 從提示流程的頂端功能表中選取 [評估>內建評估]。

    從提示流程建立內建評估選項的螢幕快照。

    系統會帶您前往 建立新的評估 精靈。

  2. 輸入評估的名稱,然後選取運行時間。

  3. 從案例選項中選取 具有擷取增強產生的 問答組。

    選取評估案例的螢幕快照。

  4. 選取要評估的流程。 在此範例中,選取 [Contoso 戶外流程 ] 或您命名流程的任何內容。 然後選取下一步

  5. 選取您想要用來評估流程的計量。 在此範例中,選取 [基礎性]、[相關性] 和 [取分數]。

    選取評估計量的螢幕快照。

  6. 選取要用於評估的模型。 在此範例中,選取 gpt-35-turbo-16k。 然後選取 [下一步]。

    注意

    使用 AI 輔助計量進行評估時,必須呼叫另一個 GPT 模型來執行計算。 為了獲得最佳效能,請使用至少支援 16k 令牌的模型,例如 gpt-4-32k 或 gpt-35-turbo-16k 模型。 如果您先前未部署這類模型,您可以遵循部署聊天模型中的 步驟來部署另一個模型。 然後返回此步驟,然後選取您部署的模型。

  7. 選取 [ 新增數據集]。 然後選取下一步

    使用新數據集或現有數據集之選項的螢幕快照。

  8. 選取 [上傳檔案]、瀏覽檔案,然後選取您稍早建立的 qa-evaluation.jsonl 檔案。

    數據集上傳檔案按鈕的螢幕快照。

  9. 上傳檔案之後,您必須將檔案的屬性 (資料源) 對應至評估屬性。 針對每個資料來源屬性輸入下列值:

    評估數據集對應的螢幕快照。

    名稱 描述 類型 資料來源
    chat_history 聊天記錄 清單 ${data.chat_history}
    query 查詢 string ${data.question}
    問題 搜尋特定信息的查詢 string ${data.question}
    回答 模型產生的問題回應作為答案 string ${run.outputs.reply}
    文件 具有已擷取文件內容的字串 string ${run.outputs.fetched_docs}
  10. 選取 [下一步]。

  11. 檢閱評估詳細數據,然後選取 [ 提交]。

    [建立評估] 對話框中 [檢閱和完成] 頁面的螢幕快照。

    系統會帶您前往 [計量評估 ] 頁面。

檢視評估狀態和結果

現在您可以遵循下列步驟來檢視評估狀態和結果:

  1. 建立評估之後,如果您還沒有移至 [建>置評估]。 在 [ 計量評估 ] 頁面上,您可以看到評估狀態和您選取的計量。 您可能需要在幾分鐘后選取 [ 重新 整理],才能看到 [ 已完成 ] 狀態。

    計量評估頁面的螢幕快照。

    提示

    評估進入 [已完成 ] 狀態之後,您就不需要運行時間或計算來完成本教學課程的其餘部分。 您可以停止計算實例,以避免產生不必要的 Azure 成本。 如需詳細資訊,請參閱 如何啟動和停止計算

  2. 選取第一個完成評估的名稱(contoso-evaluate-from-flow_variant_0),以查看評估詳細數據,其中包含您稍早對應的數據行。

    詳細計量結果頁面的螢幕快照。

  3. 選取已完成第二個評估的名稱(evaluation_contoso-evaluate-from-flow_variant_0),以查看評估計量: 基礎性相關性擷取分數

    平均計量分數的螢幕快照。

如需詳細資訊,請參閱 檢視評估結果

部署流程

既然您已 建置流程 並完成以計量為基礎的 評估,現在可以建立在線端點以進行即時推斷。 這表示您可以使用已部署的流程即時回答問題。

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

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

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

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

    提示流程編輯器中 [部署] 按鈕的螢幕快照。

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

    部署精靈中基本設定頁面的螢幕快照。

  5. 選取 [下一步 ] 以繼續進行進階設定頁面。

  6. 在 [ 進階設定 - 端點 ] 頁面上,保留預設設定,然後選取 [ 下一步]。

  7. 在 [ 進階設定 - 部署] 頁面上,保留默認設定,然後選取 [ 下一步]。

  8. 在 [ 進階設定 - 輸出和連線 ] 頁面上,確定已選取 [端點回應中包含的所有輸出]。

    部署精靈中進階設定頁面的螢幕快照。

  9. 選取 [ 檢閱 + 建立 ] 以檢閱設定並建立部署。

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

    檢閱提示流程部署設定頁面的螢幕快照。

如需詳細資訊,請參閱 如何部署流程

使用已部署的流程

您的 copilot 應用程式可以使用已部署的提示流程即時回答問題。 您可以使用 REST 端點或 SDK 來使用已部署的流程。

  1. 若要在 Azure AI Studio 中檢視部署的狀態,請從左側導覽中選取 [部署]。 成功建立部署之後,您可以選取部署來檢視詳細數據。

    正在進行中提示流程部署狀態的螢幕快照。

    注意

    如果您看到訊息指出「目前此端點沒有部署」,或 狀態 仍在 更新中,您可能需要在幾分鐘后選取 [ 重新 整理] 以查看部署。

  2. 或者,詳細數據頁面是您可以變更驗證類型或啟用監視的位置。

    提示流程部署詳細數據頁面的螢幕快照。

  3. 選取 [取 用] 索引標籤。您可以看到程式代碼範例和 REST 端點,讓 Copilot 應用程式使用已部署的流程。

    提示流程部署端點和程式碼範例的螢幕快照。

清除資源

為了避免產生不必要的 Azure 成本,如果不再需要資源,您應該刪除在本教學課程中建立的資源。 若要管理資源,您可以使用 Azure 入口網站

您也可以在 Azure AI Studio停止或刪除計算實例。

Azure AI Studio 企業聊天解決方案示範

在本端對端逐步解說影片,瞭解如何使用您的數據與 Azure AI Studio 建立零售員警。

下一步