共用方式為


傳回結果的清單

重要

在對生成式 AI 進行大量投資並增強 Microsoft Copilot 的整合後,Power Virtual Agents 的功能和特性現已成為 Microsoft Copilot Studio 的一部分

當我們更新文件和培訓內容時,某些文章和螢幕擷取畫面可能會參考 Power Virtual Agents。

通常會要求副手在外部系統中尋找資料並傳回結果清單。 若要這麼做,Microsoft Copilot Studio 可以呼叫 Power Automate 流程以:

  • 驗證並連接至外部解決方案
  • 根據使用者的輸入執行查詢
  • 格式化結果
  • 將結果傳回給副手

在此範例中,您將使用 Power Automate 中的 Dataverse 連接器來搜尋帳戶。 然後,您將向 Microsoft Copilot Studio 傳回包含帳戶名稱、城市和帳號的結果清單。

先決條件

設定 Dataverse 會計資料表

帳戶資料表是標準資料表,會自動包含在 Power Platform 環境中。 但是,這不附帳戶資料。 在副手可以搜尋帳戶之前,您需要填入「帳戶」資料表。

如果您已經有含資料的帳戶表格,請略過此步驟,並繼續建立主題。 但是,在後續步驟中測試副手時,需要使用不同的搜尋字詞。

  1. 前往 Power Apps 入口網站

  2. 在側邊窗格中Dataverse下,選取資料表

  3. 選擇帳戶資料表,然後在資料表屬性頁面上,選擇編輯

  4. 將以下行新增到資料表中:

    位址 1:市/鎮 帳戶名稱 帳戶
    西雅圖 Contoso Inc AC0125
    舊金山 Contoso Residences AC0255
    Olympia Contoso 餐飲交貨 AC0035

建立主題

  1. 移至您副手的主題頁面。

  2. 建立一個名為帳戶搜尋的主題。

  3. 新增下列觸發字詞:

    • 我正在尋找客戶
    • 我正在尋找帳戶
    • 搜尋帳戶
    • 搜尋客戶
  4. 新增訊息節點,並輸入訊息您似乎正在尋找帳戶,我可以幫您尋找

  5. 新增一個問題節點,並輸入訊息您要尋找的客戶名稱是?

  6. 如需確認,選取組織

    使用者的完整回應也會起作用。 但是,選擇組織實體會利用副手的語言理解能力從回應中提取組織名稱。

    帶有訊息和問題節點的新主題的螢幕擷取畫面。

  7. 若要另存儲存回應,請將變數重新命名為組織

建立流程

  1. 在製作畫布中,選取新增節點 (+)。 選取呼叫動作,然後選取建立流程

  2. 在 Power Automate 入口網站中,將流程命名為搜尋帳戶

  3. 新增一個名為組織文字輸入。

    新增了文字輸入的流程觸發程式的螢幕擷取畫面。

  4. 選擇插入新步驟 (+) 並選擇新增動作

  5. 選擇 Microsoft Dataverse 連接器,然後選擇搜尋資料列動作。

    此動作會使用模糊比對,在您 Dataverse的帳戶表格 中尋找相關的帳戶。

    Dataverse 連接器搜尋資料列動作的螢幕擷取畫面。

  6. 搜尋字詞選取組織變數。

  7. 選取顯示進階選項,並設定以下項目:

    • 資料表篩選項目account
    • 依項目排序 - 1@search.score desc
    • 依項目排序 - 2name asc

    已設定進階選項的搜尋列動作的螢幕擷取畫面。

格式化結果

搜尋列動作會傳回資料列清單變數,其中包含 JSON 資料。 在使用資料之前,您需要使用剖析 JSON 動作對其進行分析。

  1. 選擇插入新步驟 (+) 並選擇新增動作

  2. 選取資料作業連接器,然後選取剖析 JSON 動作。

  3. 內容方塊中,在搜尋列底下選取資料列清單變數。

  4. 複製下列 JSON 結構描述,並將其貼到結構描述方塊中:

    {
        "type": "array",
        "items": {
            "type": "object",
            "properties": {
                "@@search.score": {
                    "type": "number"
                },
                "name": {
                    "type": "string"
                },
                "address1_city": {
                    "type": "string"
                },
                "accountnumber": {
                    "type": "string"
                }
            },
            "required": [
                "name"
            ]
        }
    }
    

    在剖析 JSON 節點中輸入的 JSON 結構描述螢幕擷取畫面。

  5. 選擇插入新步驟 (+) 並選擇新增動作。 選取變數連接器,然後選取初始化變數動作。

  6. 名稱輸入 ListOfAccounts。 在類型選取字串

    初始化變數動作的螢幕擷取畫面。

  7. 選擇插入新步驟 (+) 並選擇新增動作。 選取控制項連接器,然後選取套用至每個動作。

  8. 選取從先前的步驟中選取輸出方塊以打開動態內容功能表。 搜尋本文,然後在剖析 JSON 底下選取本文變數。

  9. 選擇插入新步驟 (+) 並選擇新增動作。 選取變數連接器,然後選取附加到字串變數動作。

  10. 名稱選取 ListOfAccounts。 複製下列文字,並在方塊中將其貼上:

    - @{items('Apply_to_each')['accountnumber']}: @{items('Apply_to_each')['name']} - @{items('Apply_to_each')['address1_city']}
    
  11. 在程式碼片段後面新增分行符號,讓每個結果顯示在自己的行上。

    [套用到每個] 動作的螢幕擷取畫面。

  12. 將值傳回至 Microsoft Copilot Studio 動作中,新增文字輸出。 在名稱輸入 FoundAccounts。 在選取 ListOfAccounts

    [將值傳回 Microsoft Copilot Studio] 動作的螢幕擷取畫面。

  13. 選取儲存

從 Microsoft Copilot Studio 呼叫流程

  1. 在 Microsoft Copilot Studio 製作畫布上,選取新增節點 (+),然後選取呼叫動作

  2. 選取先前建立的流程,搜尋帳戶

  3. 組織取得值的位置選取組織變數。

  4. 新增訊息節點並輸入訊息好的,這是我找到的內容。

  5. 新增第二個訊息節點。 選取插入變數,然後選取 FoundAccounts

    與副手交談的螢幕擷取畫面,副手已回覆找到的帳戶清單。

  6. 選取儲存

  7. 測試副手窗格中測試您的副手。

    測試副手窗格中副手交談的螢幕擷取畫面。