使用Copilot Studio 自訂 Copilot 聊天 (預覽版)
[本文章是發行前版本文件,且隨時可能變更。]
透過新增其他主題、知識來源等,自訂 Copilot 聊天,使其更加聰明且更適合您的組織。
重要
- 這是預覽功能。
- 預覽功能不供生產時使用,而且功能可能受限。 這些功能應受補充使用規定規範,並且是在正式發行前先行推出,讓客戶可以搶先體驗並提供意見反應。
您可以使用 Microsoft Copilot Studio 自訂 Copilot Chat,並擴展功能,使其不僅僅是處理 Microsoft Dataverse 資料表問題和開箱即用的技能。 在自訂之前,請確保您的環境已啟用 Copilot 聊天。
注意
- 客製化 Copilot 聊天需要 Copilot Studio 授權和代理程式編輯權限。
- 此功能僅適用於獨立模型導向應用程式,尚不支援 Dynamics 365 應用程式。
- 移至 https://make.preview.powerapps.com。
- 以編輯模式開啟您的模型導向應用程式,然後在左側瀏覽列中選擇...>在 Copilot Studio 中設定。 您將會前往 Microsoft Copilot Studio,您應用程式的代理程式已在此設定。 每個獨立的模型導向應用程式 Copilot 都有自己可供自訂的私人代理程式。 首次設定代理程式需要幾秒鐘。
重要
- 如果左側導覽窗格中未出現 ...,則表示該功能在您的環境中尚不可用。 您可以設定新的早期發佈環境來存取該功能。 這是一個預覽功能,僅在早期發佈環境中可用。
- 透過新增知識來源或主題來客製化您的代理程式。 自訂此代理程式只會影響其所設定的特定應用程式的 Copilot Chat。
- 進行自訂後發佈代理程式以確保使用者可以使用變更。
將知識加入 Copilot 聊天中
您可以透過在 Copilot Studio 中新增其他知識來源來擴展應用程式的 Copilot 聊天智慧。 例如,您可以透過新增 https://learn.microsoft.com/power-apps/
作為知識來新增指向外部面向公眾的網站 (如 Power Apps 文件) 的連結,以使您的 Copilot Chat 能夠回答與在 Power Apps中建立應用程式相關的問題。 另一個範例是將您組織的內部知識作為文件上傳,以使 Copilot 聊天能夠回應不屬於應用程式資料的相關查詢。
更多資訊:為現有代理程式新增知識 – Microsoft Copilot Studio。
注意
- 目前僅支援公共網站、檔案上傳和 SharePoint 知識來源類型。 Dataverse 知識不屬於此預覽的一部分。
- Copilot Studio 生成式 AI 協調流程目前不支援。 您可以使用傳統編排主題,其觸發字詞與使用者對指定技能的查詢最接近。
一旦啟用知識,應用程式使用者可以提出相關問題以獲得答覆以及知識參考。
在 Copilot 聊天中新增主題
在 Copilot Studio 中,您可以將主題新增至已套用的 Copilot 代理程式。 這些主題可以自訂為使用各種觸發類型,並可以使用簡單訊息、調適型卡片或生成式答案進行回應。 此外,主題還可以啟動流程、連接器和 Dataverse 外掛程式等動作,實現與外部系統的無縫時間點整合。
更多資訊:建立和編輯主題 – Microsoft Copilot Studio。
注意
Copilot Studio 具有內嵌「測試您的代理程式」功能,可用於驗證所新增的主題。 但是,使用開箱即用的模型導向應用程式自訂變數 (如 Global.PA__Copilot_Model_PageContext.pageContext.id
) 的主題只能在已發佈的 Copilot 中進行測試。
提示指南定制
提示庫是預先編寫、測試和最佳化的提示的集合,旨在幫助塑造 Copilot 聊天的互動和回應。 他們確保 Copilot 聊天根據使用者的需求和偏好提供相關、準確且適合上下文的資訊。
以下步驟詳細說明如何為提示指南新增特定查詢。 現有的開箱即用的 Copilot 提示指南中附加了一個 Power Apps 說明區段。 或者,您可以直接從提示指南範例中將範例程式碼複製到新主題中。 透過提示指南向終端使用者顯示的所有提示都儲存在用於該應用程式的 Copilot Studio 代理程式中。
選擇已接收事件,並將事件名稱設為
Microsoft.PowerApps.Copilot.RequestSparks
,這是提示引導的保留名稱。或者,您可以設定條件來提示項目,以防它們特定於應用程式名稱、頁面上下文等。 例如,此提示項目檢查目前應用程式的唯一名稱或頁面上下文的資料表類型名稱是否與指定的值相符。 如果任一條件為真,則 Copilot Chat 將被啟動。
condition: =Global.PA_Copilot_Model_SessionContext.appUniqueName = "yourAppName" or Global.PA__Copilot_Model_PageContext.pageContext.entityTypeName = "Entity name"
新增適當的優先值,以便在優先順序較高的主題之後觸發觸發程序。 優先權值的範圍是 0 到 10K,0 為最高。 此處的範例使用 200。
將解析值設定為以下 Power Fx 公式,並將資料類型設定為資料表。
[{displayName:"Power Apps Help",displaySubtitle:"Power Apps Help",iconName:"List24Regular",sparks:[{displayName:"What is Copilot chat?",type:"PromptText"},{displayName:"How can I use the record picker?",type:"PromptText"},{displayName:"What types of questions can I ask Copilot?",type:"PromptText"},{displayName:"How do I provide feedback on Copilot’s responses?",type:"PromptText"}]}]
選擇編輯結構描述並貼上以下結構描述。
kind: Table properties: displayName: String displaySubtitle: String iconName: String sparks: type: kind: Table properties: displayName: String eventName: String iconName: String payload: String type: String
sparks 定義儲存在全域變數中,因此您需要設定 全域 變數,並將其命名為
PA_Copilot_Sparks.sparkGroups
和/或Global.PA_Copilot_Sparks.sparks
。 這將使用您的提示填入彈出視窗。 接下來,新增一個設定變數值的步驟。搜尋火花定義名稱,例如
Global.PA_Copilot_Sparks.sparkGroups
,並將數值設為下列 Power Fx 合併函數。合併
ForAll(Sequence(CountRows(Global.PA_Copilot_Sparks.sparkGroups)+CountRows(Topic.SparkGroupCustom)), If(Value<=CountRows(Global.PA_Copilot_Sparks.sparkGroups),Index (Global.PA_Copilot_Sparks.sparkGroups,Value), Index(Topic.SparkGroupCustom, Value - CountRows(Global.PA_Copilot_Sparks.sparkGroups))))
將變數名稱替換為您用於自訂提示的變數名稱。
發佈代理程式並播放應用程式。
提示指南自訂主題範例
這是完整的主題代碼,可以直接複製到新主題。
kind: AdaptiveDialog
beginDialog:
kind: OnEventActivity
id: main
priority: 200
eventName: Microsoft.PowerApps.Copilot.RequestSparks
actions:
- kind: ParseValue
id: iCepPf
variable: Topic.SparkGroupCustom
valueType:
kind: Table
properties:
displayName: String
displaySubtitle: String
iconName: String
sparks:
type:
kind: Table
properties:
displayName: String
eventName: String
iconName: String
payload: String
type: String
value: |-
=[{displayName:"Power Apps Help",displaySubtitle:"Power Apps Help",iconName:"List24Regular",
sparks:[
{displayName:"What is Copilot chat?",type:"PromptText"},
{displayName:"How can I use the record picker?",type:"PromptText"},
{displayName:"What types of questions can I ask Copilot?",type:"PromptText"},
{displayName:"How do I provide feedback on Copilot’s responses?",type:"PromptText"}
]}]
- kind: SetVariable
id: setVariable_pDu9cr
variable: Global.PA_Copilot_Sparks.sparkGroups
value: =ForAll(Sequence(CountRows(Global.PA_Copilot_Sparks.sparkGroups)+CountRows(Topic.SparkGroupCustom)), If(Value<=CountRows(Global.PA_Copilot_Sparks.sparkGroups),Index (Global.PA_Copilot_Sparks.sparkGroups,Value), Index(Topic.SparkGroupCustom, Value - CountRows(Global.PA_Copilot_Sparks.sparkGroups))))
注意
如果您的代理程式支援多種語言並需要及時的指南翻譯,則必須使用 SetTextVariable
設定所有面向使用者的問題字串。
已知限制
- Copilot 聊天代理程式目前未被平台識別為依賴項。 在匯出和匯入到另一個環境之前,您必須手動將相關的 Copilot 聊天代理程式新增至您的模型導向應用程式解決方案。
- 在 Copilot Studio 中設定動作可以為應用程式名稱中,具有相同首字母的應用程式建立具有相同顯示名稱的代理程式。 發生這種情況時,請在發佈時重新命名代理程式以避免混淆。
- 不支援從代理程式到使用者的影像和視訊訊息類型。 您可以使用調適型卡片作為變通方法。