Share via


教學課程:在 Azure AI Studio 中建置和部署具有提示流程的問答副手

注意

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

在此 Azure AI Studio 教學課程中,您將使用生成式 AI 和提示流程,針對名為 Contoso 的零售公司建置、設定及部署副手。 您的零售公司專門銷售戶外露營裝備和服裝。

該副手應該會回答您的產品和服務相關問題。 其應該也會回答您的客戶相關問題。 例如,該副手可以回答諸如「TrailWalker 登山健行鞋多少錢?」和「Daniel Wilson 買了多少雙登山健行鞋?」等問題。

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

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

必要條件

在 Azure AI Studio 中建立 Azure AI 專案

您的 Azure AI 專案可讓您在建置副手時用來組織工作並儲存狀態。 在此教學課程中,您的專案包含資料、提示流程執行階段、評估和其他資源。 如需 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 OpenAI 的 Azure AI 中樞,您就會在 [工具] 底下看見 [遊樂場] 瀏覽選項。

部署聊天模型

遵循下列步驟,為您的副手部署 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 On Your Data

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

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

  2. 在 [助理設定] 窗格上,選取 [新增您的資料 (預覽)] >[+ 新增資料來源]

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

  3. 在顯示的 [資料來源] 頁面中,從 [選取資料來源] 下拉式清單中選取 [上傳檔案]

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

    提示

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

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

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

  5. 選取或建立名為 contoso-outdoor-search 的 Azure AI 搜尋服務資源,然後選取連線到該資源時在您的帳戶上產生使用量的通知。

    注意

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

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

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

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

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

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

    注意

    如果您已在 [選取或新增資料來源] 頁面上新增向量搜尋,則可在此處取得更多選項,但需支付額外費用。 如需詳細資訊,請參閱 Azure OpenAI On Your Data

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

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

  11. 現在,在 [助理設定] 窗格上,您可以看到資料擷取正在進行中。 請等到您看見資料來源和索引名稱 (而非狀態) 之後再繼續。

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

  12. 您現在可以與模型聊天,詢問與之前相同的問題 (「TrailWalker 登山健行鞋多少錢」),這次其會使用來自您資料的資訊來建構回應。 您可以展開 [參考] 按鈕,以查看所使用的資料。

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

建立提示流程所需的計算和執行階段

您可以使用提示流程,將傳送至副手聊天模型的訊息最佳化。 提示流程需要計算執行個體和執行階段。 如果您已經有計算執行個體和執行階段,則可略過本節並停留在遊樂場中。

若要建立計算執行個體和執行階段,請遵循下列步驟:

  1. 如果您沒有計算執行個體,您可以在 Azure AI Studio 中建立一個
  2. 然後遵循如何建立執行階段中的步驟來建立執行階段。

若要完成此教學課程的其餘部分,請確定您的執行階段處於執行中狀態。 您可能需要選取 [重新整理],才能看到更新的狀態。

重要

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

從遊樂場建立提示流程

既然您已部署的聊天模型使用您的資料在遊樂場中運作,您可以從遊樂場中將您的副手部署為 Web 應用程式

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

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

注意

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

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

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

  2. 從 [聊天工作階段] 窗格上方的功能表中,選取 [在提示流程中開啟]

  3. 輸入提示流程的資料夾名稱。 然後選取 [開啟]。 Azure AI Studio 會將遊樂場聊天環境 (包括與您資料的連線) 匯出至提示流程。

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

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

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

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

警告

Azure AI Studio 處於預覽狀態,而且可能會變更。 本教學課程中的螢幕快照和指示可能不符合目前的體驗。

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

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

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

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

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

  • 執行階段:您稍早於此教學課程中建立的執行階段。 您可以透過左側功能表中的 [AI 專案設定] 啟動和停止執行階段與計算執行個體。 若要在提示流程中運作,請確定您的執行階段處於執行中狀態。

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

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

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

使用多個資料來源自訂提示流程

稍早在 Azure AI Studio 遊樂場中,您已新增資料來建立一個包含 Contoso 副手產品資料的搜尋索引。 到目前為止,使用者只能針對諸如「TrailWalker 登山健行鞋多少錢?」等問題來詢問產品。 但他們無法得到諸如「Daniel Wilson 買了多少雙 TrailWalker 登山健行鞋?」等問題的答案。為了實現此案例,我們要將另一個具有客戶資訊的索引新增至流程。

建立客戶資訊索引

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

遵循下列如何建立新索引的指示:

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

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

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

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

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

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

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

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

  5. 針對 [搜尋類型] 選取 [混合式 + 語意 (建議)]。 預設應選取此類型。

  6. 從 [Azure OpenAI 資源] 下拉式清單中,選取 [Default_AzureOpenAI]。 選取核取方塊,以確認 Azure OpenAI 內嵌模型將會部署 (如果其尚未部署)。 然後選取下一步

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

    注意

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

  7. 針對索引名稱輸入 customer-info。 然後選取下一步

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

  8. 檢閱您輸入的詳細資料,然後選取 [建立]

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

    注意

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

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

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

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

將客戶資訊新增至流程

警告

Azure AI Studio 處於預覽狀態,而且可能會變更。 本教學課程中的螢幕快照和指示可能不符合目前的體驗。

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

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

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

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

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

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

  4. RetrieveProductInfo 節點複製 Python 程式碼並貼入 RetrieveCustomerInfo 節點,以取代所有預設程式碼。

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

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

  6. 編輯提示流程已為您剖析的 RetrieveCustomerInfo 輸入,使其可連線到 customer-info 索引。

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

    注意

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

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

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

將擷取的文件格式化為輸出

警告

Azure AI Studio 處於預覽狀態,而且可能會變更。 本教學課程中的螢幕快照和指示可能不符合目前的體驗。

現在您的提示流程中已有產品與客戶資訊,您可將擷取的文件格式化,讓大型語言模型能夠使用它們。

  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 輸入,使其可從 RetrieveProductInfoRetrieveCustomerInfo 節點擷取產品和客戶資訊。

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

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

    名稱 類型
    docs1 object ${RetrieveProductInfo.output}
    docs2 object ${RetrieveCustomerInfo.output}
    maxTokens int 5000
  5. 從圖表中選取 DetermineReply 節點。

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

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

  7. 從圖表中選取 outputs 節點。

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

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

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

在具有產品和客戶資訊的提示流程中聊天

現在,您在提示流程中同時擁有產品和客戶資訊。 您可以在提示流程中與模型聊天,並獲得諸如「Daniel Wilson 買了多少雙 TrailWalker 登山健行鞋?」等問題的答案。在繼續進行更正式的評估之前,您可以選擇性地與模型聊天,以查看其如何回應您的問題。

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

  2. 輸入「Daniel Wilson 買了多少雙 TrailWalker 登山健行鞋?」,然後選取向右箭號圖示進行傳送。

  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}
    question 搜尋特定資訊的查詢 string ${data.question}
    answer 由模型產生來作為答案的問題回應 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. 選取 [建立],以部署提示流程。

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

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

使用已部署的流程

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

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

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

    注意

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

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

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

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

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

清除資源

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

您也可以在 Azure AI Studio停止或刪除計算執行個體

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

在本 端對端逐步解說影片 中,了解如何使用您的資料搭配 Azure AI Studio 來建立零售副手。

下一步