變數概觀

Note

本文描述由 標準線束驅動的代理或代理流程中使用的功能。

變數存在於四個層級 (或作用範圍):

  • 主題變數只能在您建立的主題中使用。 此範圍是您所建立變數的預設範圍。
  • 可在所有主題中使用的全域變數 。 您可以變更任何主題變數的範圍,使之成為全域變數。
  • Copilot Studio 自動為 Agent 建立的系統變數 。 這些變數提供更多關於交談或使用者的關聯式資訊。 可在所有主題中使用它們。
  • 您在 Power Platform 中建立的環境變數 。 在 Copilot Studio 中為唯讀狀態。 它們儲存參數的鍵與值,並作為輸入提供給其他各種應用程式物件使用,包括 Copilot Studio。 您可將參數與取用物件分開,以在同一個環境中,或在移轉解決方案至其他環境時變更值。 另一種選擇是將硬式編碼的參數值保留在使用它們的元件中。

變數類型

每個變數都有一個基本類型。 變數的類型決定它可以儲存的值,以及在建立邏輯運算式時可使用的運算子。

類型 Description
String 用於表示文字的字元序列
布林值 只能是 truefalse 的邏輯值
編號 任何實數
Table 值的清單,但是所有的值都必須是相同的類型
錄製 名稱/值組的集合,其中值可以是任何類型
日期時間 相對於某個時間點的日期、時間、星期幾或月份
選擇 具有關聯同義詞的字串值清單
空白 表示「沒有值」或「未知值」的佔位符;請參閱 Power Fx 文件中的Blank以深入了解

您在第一次為變數指派值時,會同時設定該變數的類型。 之後,類型是固定的,您不能分配任何其他類型的值。 例如,如果您將初始值 1 指派給某個變數,那麼該變數的類型就會被設定為 Number。 如果您接著嘗試指派一個字串"apples",就會發生錯誤。

測試 Agent 時,可能會暫時顯示類型未知。 未知變數還沒有值。

變數的順序由編輯畫布中從上到下的位置決定。 代理程式會先考慮編寫畫布頂端的節點,再考慮底部的節點。

使用條件節點建立分支時,Copilot Studio 會將分支從左至右排序。 代理程式會先考慮最左側分支中的節點,再考慮最右側分支中的節點。

Entities

Copilot Studio 使用實體來識別使用者回應中的特定資訊類型。 找出的資訊會儲存在類型適合該資訊的變數中。 下表列出了與預先建構實體關聯的變數基本類型。

實體 變數基底類型
多選選項 選擇
使用者的整個回覆 String
年齡 編號
布林值 布林值
城市 String
顏色 String
Continent String
國家或區域 String
日期和時間 日期時間
Email String
Event String
Integer Integer
語言 String
編號
編號 編號
序數 編號
組織 String
百分比 編號
人員姓名 String
電話號碼 String
興趣點 String
速度 編號
State String
地址 String
溫度 編號
URL String
Weight 編號
郵遞區號 String
自訂實體 選擇

環境變數

環境變數是 Power Platform 的概念。 環境變數使應用程式能夠在 Power Platform 環境間遷移,從而實現基本的應用程式生命週期管理 (ALM) 情境。 在此案例中,應用程式保持完全不變,只是來源環境與目的地環境之間有一些重要外部參考不同。

使用環境變數的方式與主題、全域和系統變數相同。 一個顯著的差異是,在 Copilot Studio 中,環境變數是唯讀的。 Agent 作者無法修改 Copilot Studio 中的環境變數。 但是,管理員可以在 Power Apps 中更改環境變數的值。 在 Copilot Studio 中,您可以使用變數面板查看環境變數的相關資訊。 變數屬性面板也有連結到 Power Apps,這是環境變數的撰寫體驗。

使用環境變數的 Agent 的已發佈版本包含您在發佈 Agent 時為這些變數設定的值。 每當管理員更新環境變數時,您都必須重新發佈任何使用這些變數的 Agent,以使變更在執行階段生效。 但是,有一個例外:當密碼類型的環境變數值發生變更時,您不需要重新發佈 Agent。 與其他環境變數不同,秘密變數是在執行階段擷取的。

Copilot Studio 中的環境變數類型映射到 Power Apps 資料類型,如下所示:

在 Copilot Studio 中輸入 在 Power Apps 中輸入
十進位數 編號
JSON 從值中偵測類型。 如果不是 JSON => 未指定 (驗證錯誤)
文字 String
是/否 布林值
數據源 String
祕密 String

Note

您會在測試聊天中,以及在發佈時看到環境變數錯誤。 不過,這些錯誤不會顯示在主題清單中,因為環境變數不是主題變數。

系統變數

每個 Agent 都包含內建系統變數,提供關於交談的額外資訊。

主題中系統變數的螢幕擷取畫面。

Copilot Studio 不會顯示所有系統變數。 要存取隱藏的系統變數,可以使用 Power Fx 公式

若要在 Power Fx 公式中使用系統變數,請在變數名稱前新增 System.。 例如,若要在公式中包含系統變數 User.DisplayName,請將其稱為 System.User.DisplayName

Name 類型 Definition
Activity.Attachments(活動附件) 表格 使用者提供的檔案附件。
活動通道 choice 目前交談的管道識別碼。
Activity.ChannelData any 包含特定管道內容的物件。
Activity.ChannelId 字串 目前交談的管道識別碼,其類型為字串。
Activity.From.Id 字串 傳送者的管道特定唯一識別碼。
Activity.From.Name 字串 傳送者的易於使用管道特定名稱。
Activity.Name 字串 事件的名稱。
Activity.Recipient.Id 字串 傳入活動的 Type 屬性。
Activity.Recipient.Name 字串 表示代理人在頻道內的顯示名稱。 在電話通道上下文中,此變數的值是 Agent 所連接的電話號碼。
Activity.Text 字串 使用者傳送的最新訊息。
活動.類型 choice 活動的類型。
活動類型識別碼 字串 活動類型,表示為字串。
Activity.Value any 開放式值。
Bot.EnvironmentId 字串 代理的環境 ID。
Bot.Id 字串 代理的ID。
Bot.Name 字串 您的 Agent 的名稱。
Bot.SchemaName 字串 代理的架構名稱。
Bot.TenantId 字串 Agent 的租用戶 ID。
ClientPluginActions choice 用於生成式協調流程時考慮的動態用戶端外掛程式操作的集合。
Conversation.Id 字串 目前交談的唯一識別碼。
對話.測試模式中 布林值 布林旗標,表示交談是否發生在測試畫布中。
Conversation.LocalTimeZone 字串 使用者要使用的時區名稱,採用 IANA 時區資料庫格式。
Conversation.LocalTimeZoneOffset 日期時間 目前本地時區與 UTC 的時間偏移量。
Error.Code 字串 當前錯誤的錯誤碼。
當前錯誤的訊息。
錯誤訊息 字串 當前錯誤的訊息。
注意:只有在觸發程序為 On Error 時,才支援此變數。
FallbackCount 編號 此變數會計算主題無法與使用者輸入相符的次數。
注意:只有在觸發程序為 On Unknown Intent 時,才支援此變數。
InactivityTimer.Continue 布林值 布林值的旗標,表示計時器是否需要持續運行。
注意:只有在觸發程序為 Inactivity 時,才支援此變數。
InactivityTimer.Count 編號 由於使用者在設定時間後未操作而觸發的 OnInactivity 計時器次數。
注意:只有在觸發程序為 Inactivity 時,才支援此變數。 在 非活動觸發器 中了解更多。
LastMessage.Id 字串 使用者所傳送上一則訊息的識別碼。
LastMessage.Text 字串 使用者傳送的上一則訊息。
語音辨識器.已提取的實體 choice 表示從觸發訊息中提取的實體。
注意:只有在觸發程序為 On Select Intent 時,才支援此變數。
Recognizer.IntentOptions choice 代表識別器傳回不明確結果時的意圖選項。
注意:只有在觸發程序為 On Select Intent 時,才支援此變數。
Recognizer.SelectedIntent choice 表示從識別器中選擇的意圖。
注意:只有在觸發程序為 On Select Intent 時,才支援此變數。
Recognizer.TriggeringMessage.Id 字串 觸發目前主題之使用者訊息的識別碼。
Recognizer.TriggeringMessage.Text 字串 觸發目前主題的使用者訊息。
Recognizer.MultipleTopicsMatchedReason 字串 用於確定多個主題匹配的原因。
注意:只有在觸發程序為 On Select Intent 時,才支援此變數。
登入原因 choice 用於確定觸發主題時需要什麼登入選項。
注意:只有在觸發程序為 On Sign In 時,才支援此變數。
使用者語言 choice 此變數用於設定每個對話的使用者語言區域設定。

具備語音功能的代理變數

以下變數僅適用於啟用語音的 Agent。 如需深入了解,請參閱使用語音變數

Name 類型 Definition
Activity.輸入DTMF鍵 字串 電話中的原始 DTMF 鍵值。
Activity.語音識別.信心度 編號 自動語音辨識假設整個結果的信賴度分數,範圍為 0 到 1。
Activity.SpeechRecognition.MinimallyFormattedText 字串 稍微格式化的自動語音辨識假設結果文字。 例如:「Five hundred dollars.」文字以完整拼寫呈現,但包含基本的大小寫與標點符號。
Activity.UserInputType (活動.使用者輸入類型) choice 來自 Agent 使用者的最新輸入的類型。 該值可以是測試、語音或 DTMF。
會話.僅允許DTMF 布林值 布林值旗標,表示 IVR 是否應在執行時設定為僅 DTMF 模式。
Conversation.SipUuiHeaderValue 字串 UUI 標頭字串,用於在呼叫開始時將上下文傳遞到 IVR。

用於整合驗證的變數 (預設)

以下變數適用於配置成透過 Microsoft 驗證的代理程式。 此設定使用 Microsoft Entra ID 確認,是新 Agent 的預設設定。 如需深入了解,請參閱驗證變數

Name 類型 Definition
使用者.顯示名稱 (User.DisplayName) 字串 目前與 Agent 交談的使用者的顯示名稱。
User.Email 字串 目前與 Agent 交談的使用者的電子郵件地址。
使用者.名字 字串 目前與 Agent 交談的使用者的名字。
使用者 ID (User.Id) 字串 目前與 Agent 交談的使用者的唯一 ID。
User.IsLoggedIn 布林值 布爾標誌,表示目前與 Agent 交談的使用者是否經過驗證。
使用者.姓氏 字串 目前與 Agent 交談的使用者的姓氏。
User.PrincipalName 字串 目前與 Agent 交談的使用者的使用者主體名稱。

使用通用 OAuth 2 進行手動驗證的變數

以下變數適用於設定為使用通用 OAuth 2 服務提供者的 Agent。

Name 類型 Definition
User.AccessToken 字串 使用者與 Agent 驗證時所使用的存取權杖。
使用者.顯示名稱 (User.DisplayName) 字串 目前與 Agent 交談的使用者的顯示名稱。
使用者 ID (User.Id) 字串 目前與 Agent 交談的使用者的唯一 ID。
User.IsLoggedIn 布林值 布爾標誌,表示目前與 Agent 交談的使用者是否經過驗證。

用於 Microsoft Entra ID 手動驗證的變數

以下變數可供配置為使用 Microsoft Entra ID (前稱 Azure Active Directory)服務提供者的代理使用。

Name 類型 Definition
User.AccessToken 字串 使用者與 Agent 驗證時所使用的存取權杖。
使用者.顯示名稱 (User.DisplayName) 字串 目前與 Agent 交談的使用者的顯示名稱。
User.Email 字串 目前與 Agent 交談的使用者的電子郵件地址。
使用者.名字 字串 目前與 Agent 交談的使用者的名字。
使用者 ID (User.Id) 字串 目前與 Agent 交談的使用者的唯一 ID。
User.IsLoggedIn 布林值 布爾標誌,表示目前與 Agent 交談的使用者是否經過驗證。
使用者.姓氏 字串 目前與 Agent 交談的使用者的姓氏。
User.PrincipalName 字串 目前正在與代理交談的使用者的主要名稱。