主題可以在程式碼編輯器中撰寫和編輯,該編輯器支援使用 YAML。 YAML 代表「YAML Ain't Markup Language」。YAML 通常用來撰寫組態檔,且比 XML 或 JSON 更容易閱讀。 YAML 檔使用 .yaml 或 .yml 副檔名。 您可以使用空格和縮排來格式化 YAML 檔案,以呈現字串、數字、布林值、清單和字典等資料結構。
若要從主題存取程式碼編輯器,請在工具列上選取 (…) 其他,然後選取開啟程式碼編輯器。
觀看此影片,大致了解如何在程式碼編輯器中使用 YAML:
重要
任何建立者都可以使用程式碼編輯器來探索主題的組態。 開發人員和高級使用者可以選擇在代碼編輯器中進行設計和編輯。 不過,在程式碼編輯器中進行修改時請務必謹慎。 標點符號或語法錯誤可能導致複雜的錯誤訊息,或中斷目前的交談。 我們的技術支援小組無法協助修復程式碼編輯器的錯誤。 如果您是初次修改 YAML,請先複製一份主題,再進行任何變更。
何時使用代碼編輯器
Copilot Studio 不需要您從頭開始撰寫 YAML。 相反,YAML 是在主題畫布上創建物件時自動生成的。 然後,可以在代碼編輯器中查看配置以更好地了解設置,也可以選擇對 YAML 進行更改。 以下是程式碼編輯器的範例使用案例:
- 程式碼編輯器會顯示主題的完整組態,不需要與主題中個別的對話方塊元素互動。 這是顯示主題中所有設定的一站式服務。
- 建立者可能會選擇從主題複製特定節點,並貼到其他主題中,而不是使用複製和貼上圖示。 這可能比選擇設定的多個節點更容易。
- 建立者可能會選擇直接在 YAML 中更新 Power Automate 流程識別碼,而不是等待與「呼叫和動作」功能表同步。
- 建立者可能會選擇在節點相似時,複製並修改問題節點或訊息節點。 不過,在這類情況下,務必確保所有識別碼和變數皆保持唯一。 記得修訂複製的識別碼,以將其變成唯一識別碼。
- 建立者可能會選擇在程式碼編輯器中進行簡單的修改,例如在主題片語中附加詞彙,因為直接在 YAML 程式碼中輸入或複製貼上文字可能更快。
瞭解代碼編輯器中的 YAML
下圖顯示典型 YAML 區塊的範例。
以下說明該程式碼如何對應到畫布上顯示的主題。
- 第 1 行:主題的類型。
- 第 2-3 行:指出交談增強主題的開始。
- 第 7 行:指出生成式回應節點。
- 第 9 行:相關變數。
- 第 11-12 行:提示與特殊指示的詳細資料。
- 第 20-26 行:知識來源連結。
- 第 28-32 行:條件群組。 每個條件都有唯一的識別碼,以及該條件的公式詳細資料與重新導向。
在程式碼編輯器中測試 YAML
如果您想要測試這段程式碼,請在 Copilot Studio 中完成下列步驟:
建立 Agent。
前往您的 Agent 的設定頁面,選取生成式 AI,然後選取生成式。
前往主題頁面,選取系統,然後選取交談增強主題。
開啟程式碼編輯器。
以下列範例 YAML 程式碼取代現有的程式碼。
kind: AdaptiveDialog beginDialog: kind: OnUnknownIntent id: main priority: -1 actions: - kind: SearchAndSummarizeContent id: search-content userInput: =System.Activity.Text variable: Topic.Answer moderationLevel: Medium additionalInstructions: Include emojis to make responses more fun. publicDataSource: sites: - "www.chessusa.com/" - "www.chess.com/" - "www.lichess.org/" sharePointSearchDataSource: {} - kind: ConditionGroup id: has-answer-conditions conditions: - id: has-answer condition: =!IsBlank(Topic.Answer) actions: - kind: EndDialog id: end-topic clearTopicQueue: true選取儲存,關閉程式碼編輯器。
在測試面板中詢問與西洋棋相關的問題 (例如「騎士該如何移動?」) 來測試 Agent。