建立和編輯主題

重要

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

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

在 Copilot Studio 中,主題定義了副手交談的進展方式。

您可以透過自訂提供的範本、從頭開始建立新的主題,或是從現有的說明網站取得建議,來製作主題。

在 Copilot Studio 中,主題表示使用者和副手間交談的一部分。 您可以在製作畫布上定義和使用主題。主題包含一個或多個交談節點,其共同定義主題可以採用的交談路徑。 每個節點都會執行一項動作,例如傳送訊息或提出問題。

通常,一個主題有一組觸發字詞,這是客戶可能會輸入的與特定問題相關的字詞、關鍵字或問題。 Copilot Studio 副手可使用自然語言理解、客戶訊息和所有主題的觸發字詞來找到要觸發的最佳主題。 訊息不需要完全符合主題的觸發字詞就能觸發主題。 例如,儲存時數的主題可能包括觸發字詞 check store hours。 如果客戶傳送「查看商店營業時間」,這會觸發您的商店營業時間主題。

先決條件

自然語言理解

副手會使用自然語言理解 (NLU) 來剖析客戶輸入的內容,並尋找最佳觸發字詞或節點。

例如,使用者可能會輸入「營業時間」,副手會將其與營業時間主題比對,並開始交談,詢問客戶感興趣的商店,然後顯示該商店的營業時間。

測試副手窗格會顯示副手交談在每個步驟中的進展。 您可以使用測試副手窗格微調主題,而不必離開 Copilot Studio 入口網站。

對於副手和主題限制,請參閱配額、限制和設定值

Copilot Studio 中的主題

主題類型

副手可以包含兩種類型的主題:系統自訂。 每個新副手都是從一組系統和自訂主題開始。

  • 系統主題支援基本行為,例如與某人交談或結束交談的自訂要求。 某些系統主題具有觸發字詞,您可以對其進行自訂以滿足副手的需求。

    • 您無法建立系統主題。
    • 您無法刪除系統主題,但可加以停用。
    • 您可以對系統主題進行變更。 但在您能夠輕鬆建立完整的副手體驗之前,不建議編輯系統主題。

    如需詳細資訊,請參閱使用系統主題

  • 自訂主題涵蓋常見行為,例如問候客戶、結束交談或重新開始交談。

    • 您可以變更起始自訂主題或將它們從副手中完全移除。
    • 所有您建立的主題都是自訂主題。

節點類型

可用的節點類型如下:

選項 Description
傳送訊息 傳送訊息給客戶。
提出問題 向客戶提出問題。
使用調適型卡片詢問 建立 JSON 片段以與其他應用程式交換。
新增條件 根據條件將交談分支。
變數管理 設定值、剖析值或清除所有變數。
主題管理 重新導向、轉移或結束主題或交談。
呼叫動作 呼叫類似 Power Automate 或 Excel Online 的流程,或者使用連接器或外掛程式。
進階者 生成式答案 HTTP 要求事件等。

建立主題

  1. 副手頁面上的清單中打開副手。 為了獲得更好的可見度,請暫時關閉測試副手視窗。

  2. 選取側面導覽功能表上的主題與外掛程式

  3. 選取 + 建立,指向主題,然後選取從空白開始

    觸發程序節點將顯示在製作畫布主題空白上,並且辨識意圖屬性面板會開啟。 如果面板未打開,請選擇觸發程序 節點的節點功能表圖示 (),然後選擇屬性

  4. 辨識意圖屬性面板中,按一下字詞區域。 此時將顯示字詞輔助面板。

  5. 新增字詞下,輸入主題的觸發字詞。

    您的副手需要 5 到 10 個觸發字詞來訓練 AI 理解客戶的反應。 若要新增更多觸發字詞,您可以:

    • 選取文字欄位旁邊的新增圖示 ,然後輸入所需的字詞。
    • 貼上一組觸發字詞 (每個觸發字詞佔一行),然後選擇輸入
    • 輸入一組觸發字詞,在每個觸發字詞後按 Shift+Enter 將其放在單獨的行上,然後選擇輸入

    您可以在觸發字詞中包括標點符號,但是最好使用短片語而不是長句。

  6. 選取工具列上的詳細資料,以開啟主題詳細資料面板。

  7. 新增您的副手主題詳細資訊:

    • 輸入用於辨識主題的名稱,例如「商店營業時間」。主題與外掛程式頁面會根據此名稱列出您副手中定義的所有主題。
    • 如果需要,請輸入顯示名稱,當您的副手無法確定哪個主題與客戶的訊息相符時,將向客戶顯示該顯示名稱。
    • 如果需要,請使用描述欄位為您自己和團隊中的其他副手製作者描述該主題的用途。 客戶永遠不會看到主題描述。
  8. 選取頂端功能表列上的儲存以儲存您的主題。

設計主題交談路徑

建立主題時,這會自動在製作畫布上新增觸發程序節點。 然後,您可以新增不同類型的節點,以實現主題所需的交談路徑。

若要在主題製作畫布上的另一個節點之後或兩個節點之間新增節點,請執行以下操作:

  1. 在要新增節點的節點下方,選擇新增節點圖示

  2. 從顯示的清單中選擇所需的節點類型

    可用於選擇在觸發程序節點後插入節點的選項螢幕擷取畫面。

刪除節點

選取要刪除節點的功能表圖示 (),然後選取刪除

編輯畫布上節點的控制項

您可以使用製作畫布工具列,快速重新命名主題。 在工具列中選取主題名稱,鍵入新名稱,然後按 Enter。

主題製作畫布的螢幕擷取畫面,其中反白顯示主題名稱。

您可以使用工具列中的控制項,剪下、複製、貼上和刪除選取的節點或選取的相鄰節點。

製作畫布中用於編輯節點的工具列控制項螢幕擷取畫面。

工具列還有一個用於復原編輯的控制項。 開啟復原功能表,將所有動作還原到上次儲存或重做先前的動作。

[復原] 功能表的螢幕擷取畫面。

貼上節點

使用剪下複製工具將一個或多個節點放置到剪貼簿後,有兩種方法可將它們貼到畫布中:

  • 如果選取節點,然後選取貼上,就會在選取的節點之後插入剪貼簿中的節點。

  • 如果您選取「+」查看新增節點功能表,然後選取 貼上,則剪貼簿上的節點將插入到那個位置。

使用程式碼編輯器編輯主題

程式碼編輯器會以 YAML 這個易於閱讀和理解的標記語言來顯示主題。 您可以使用程式碼編輯器,從其他 Bot (甚至是由其他作者所建立的 Bot) 複製和貼上主題。

重要

不完全支援在程式碼編輯器中整體設計主題和貼上複雜主題。

在此範例中,您將 YAML 複製並貼上到程式碼編輯器中,以快速新增詢問客戶運送資訊的主題。

  1. 主題頁面上,選取 + 新主題

  2. 在製作畫布的右上角,選取 ... 查看更多選項,然後選取開啟程式碼編輯器

    如何打開程式碼編輯器的螢幕擷取畫面。

  3. 選取並刪除程式碼編輯器的內容。 然後複製並貼上以下 YAML 程式碼:

    kind: AdaptiveDialog
    beginDialog:
      kind: OnRecognizedIntent
      id: main
      intent:
        displayName: Lesson 3 - A topic with a condition, variables and a prebuilt entity
        triggerQueries:
          - Buy items
          - Buy online
          - Buy product
          - Purchase item
          - Order product
    
      actions:
        - kind: SendMessage
          id: Sjghab
          message: I am happy to help you place your order.
    
        - kind: Question
          id: eRH3BJ
          alwaysPrompt: false
          variable: init:Topic.State
          prompt: To what state will you be shipping?
          entity: StatePrebuiltEntity
    
        - kind: ConditionGroup
          id: sEzulE
          conditions:
            - id: pbR5LO
              condition: =Topic.State = "California" || Topic.State = "Washington" || Topic.State     = "Oregon"
    
          elseActions:
            - kind: SendMessage
              id: X7BFUC
              message: There will be an additional shipping charge of $27.50.
    
            - kind: Question
              id: 6lyBi8
              alwaysPrompt: false
              variable: init:Topic.ShippingRateAccepted
              prompt: Is that acceptable?
              entity: BooleanPrebuiltEntity
    
            - kind: ConditionGroup
              id: 9BR57P
              conditions:
                - id: BW47C4
                  condition: =Topic.ShippingRateAccepted = true
    
              elseActions:
                - kind: SendMessage
                  id: LMwySU
                  message: Thank you and please come again.
    
  4. 選取儲存,然後選取關閉程式碼編輯器問題節點現在對有關運送的問題有許多條件。

    在 Copilot Studio 程式碼編輯器中從 YAML 所建立之交談的螢幕擷取畫面。

測試並發佈您的副手

當您變更主題時請測試您的副手,以確保一切都能如期運作。

在設計並測試副手之後,請將其發佈至 Web、行動裝置或原生應用程式或 Microsoft Bot Framework 管道