Поделиться через


Обзор переменных

Переменные могут существовать на четырех уровнях или областях действия:

  • Переменные темы могут использоваться только в темах, в которых они были созданы. Это область действия по умолчанию для создаваемых вами переменных.
  • Глобальные переменные могут использоваться во всех темах. Вы можете изменить область действия переменной темы, чтобы сделать ее глобальной.
  • Системные переменные создаются автоматически вашим агентом. Они предоставляют больше контекстной информации о разговоре или пользователе. Они доступны во всех темах.
  • Переменные среды создаются в Power Platform и доступны только для чтения в Copilot Studio. Они хранят ключи и значения параметров, которые затем служат входными данными для различных других объектов приложения, включая Copilot Studio. Отделение параметров от объектов-потребителей позволяет изменять значения в той же среде или при переносе решений в другие среды. Альтернативный вариант — оставить жестко запрограммированные значения параметров в компонентах, которые их используют.

Типы переменных

Переменная связана с базовым типом. Тип определяет значения, которые может содержать переменная, и операторы, которые можно использовать при построении логического выражения с ней.

Type Описание:
String Последовательность символов, используемая для представления текста
Логический Логическое значение, которое может быть только true или false
Число Любое вещественное число
Таблицу Список значений, но все значения должны быть одного типа
Запись Коллекция пар имя-значение, где значения могут быть любого типа
Дата/время Дата, время, день недели или месяц относительно момента времени
Выбранный вариант Список строковых значений с соответствующими синонимами
Чистого листа Заполнитель для «нет значения» или «неизвестное значение»; дополнительную информацию см. в разделе Пустые значения в Power Fx

Тип переменной устанавливается при первом присвоении ей значения. После этого тип этой переменной фиксируется, и ей не могут быть присвоены значения любого другого типа. Например, переменной с заданным начальным значением 1 присваивается тип Число. Попытка присвоить ей строковое значение "apples" приводит к ошибке.

При тестировании агента переменная может временно отображаться как тип неизвестно. Переменной неизвестный еще не присвоено значение.

Порядок переменных определяется сверху вниз на холсте разработки. Узлы в верхней части холста разработки рассматриваются перед узлами в нижней.

При создании ветвей с узлами Условие ветви упорядочиваются слева направо. Узлы в крайней левой ветви рассматриваются перед узлами в крайней правой ветви.

Сущности

Copilot Studio использует сущности для определения определенного типа информации из ответов пользователя. Идентифицированная информация сохраняется в переменной того типа, который подходит для этой информации. В следующей таблице перечислены базовые типы переменных, связанные с предварительно созданными сущностями.

Объект Тип базовой переменной
Параметры с несколькими вариантами выбора Выбранный вариант
Весь ответ пользователя String
Возраст Число
Логический Логический
City String
Color String
Континент String
Страна или регион String
Дата и время Дата/время
Электронное письмо String
Мероприятие String
Целое Целое
Язык String
Money Число
Число Число
Порядковое число Число
Организация String
Процент Число
Имя человека String
Номер телефона. String
Точка интереса String
Скорость Число
State String
Улица, дом String
Температура Число
URL String
Толщина Число
Почтовый индекс String
Настраиваемый объект Выбранный вариант

Переменные среды

Переменные среды — это концепция Power Platform. Переменные среды позволяют использовать базовый сценарий управления жизненным циклом приложения (ALM) для перемещения приложения между средами Power Platform. В этом сценарии приложение остается точно таким же, за исключением нескольких ключевых внешних ссылок, которые различаются в исходной среде и целевой среде.

Используйте переменные среды таким же образом, как переменные темы, глобальные переменные и системные переменные. Одно из заметных отличий заключается в том, что переменные среды доступны только для чтения в Copilot Studio. Авторы агентов не могут изменять переменные среды в Copilot Studio. Однако администраторы могут изменять значения переменных среды в Power Apps. В Copilot Studio вы можете использовать панель переменных для просмотра информации о переменной среды. На панели Переменные также есть ссылка на собственный интерфейс разработки.

Опубликованная версия агента, использующая переменные среды, имеет значения, которые были установлены для этих переменных при публикации агента. Всякий раз, когда администратор обновляет переменные среды, необходимо повторно опубликовать все агенты, использующие эти переменные, чтобы изменения вступили в силу во время выполнения. Однако есть одно исключение: вам не нужно повторно публиковать агенты при изменении значения переменной среды типа секрет. В отличие от других переменных среды, секретные переменные извлекаются во время выполнения.

Типы переменных среды в Copilot Studio сопоставляются с типами данных Power Apps следующим образом:

Тип в Copilot Studio Тип в Power Apps
Десятичное число Число
JSON Тип определяется по значению. Если не JSON => Не указано (ошибка проверки)
Текст String
Да/нет Логический
Источник данных String
Секрет String

Заметка

Ошибки переменных среды видны в тестовом чате и при публикации. Однако эти ошибки не отображаются в списке Тема, поскольку они не являются переменными темы.

Системные переменные

Каждый агент поставляется со встроенными системными переменными, которые предоставляют дополнительную информацию о разговоре.

Снимок экрана системных переменных в теме агента.

Заметка

Дополнительные сведения о голосовых переменных агент см. в разделе Использование голосовых переменных.

В списке показаны не все системные переменные. Вы должны получить доступ к этим скрытым системным переменным с помощью формулы Power Fx.

Чтобы использовать системные переменные в формуле Power Fx, вы должны добавить System. перед именем переменной. Например, чтобы включить системную переменную User.DisplayName в формулу, ссылайтесь на нее как System.User.DisplayName.

Полное имя Type Определение
Activity.Attachments таблица Файловые вложения, предоставленные пользователем
Activity.Channel вариант ИД канала текущего разговора
Activity.ChannelData любое Объект, содержащий содержимое, относящееся к каналу
Activity.ChannelId string ИД канала текущего разговора, в виде строки
Activity.From.Id string Уникальный ИД конкретного канала отправителя
Activity.From.Name string Понятное имя отправителя для конкретного канала
Activity.Name string Имя события
Activity.Recipient.Id string Свойство типа входящего действия.
Activity.Recipient.Name string Представляет отображаемое имя для агента внутри канала. В контексте канала телефонии значением этой переменной является номер телефона, к которому привязан агент.
Activity.Text string Последнее сообщение, отправленное пользователем
Activity.Type вариант Тип действия
Activity.TypeId string Тип действия, в виде строки
Activity.Value любое Открытое значение
Bot.EnvironmentId string Идентификатор среды агента
Bot.Id string Идентификатор агента
Bot.Name string Имя вашего агента
Bot.SchemaName string Имя схемы агента
Bot.TenantId string Идентификатор клиента агента
ClientPluginActions вариант Коллекция динамических действий подключаемого модуля клиента для рассмотрения для генеративной оркестрации
Conversation.Id string Уникальный ИД текущей беседы
Conversation.InTestMode Логический Логический флаг, указывающий, происходит ли разговор в тестовом холсте
Conversation.LocalTimeZone string Название часового пояса, которое будет использоваться пользователем в формате базы данных часовых поясов IANA
Conversation.LocalTimeZoneOffset datetime Смещение времени относительно UTC для текущего местного часового пояса
Error.Code string Код ошибки для текущей ошибки.
Сообщение об ошибке для текущей ошибки.
Error.Message string Сообщение об ошибке для текущей ошибки.
Примечание. Эта переменная поддерживается только в том случае, если используется триггер On Error.
FallbackCount Номер Эта переменная подсчитывает количество раз, когда тему не удалось сопоставить с пользовательским вводом.
Примечание. Эта переменная поддерживается только в том случае, если используется триггер On Unknown Intent.
InactivityTimer.Continue Логический Логический флаг, указывающий, нужно ли продолжать отсчет таймера.
Примечание. Эта переменная поддерживается только в том случае, если используется триггер Inactivity.
InactivityTimer.Count Номер Количество срабатываний таймера OnInactivity из-за бездействия пользователя после заданного времени.
Примечание. Эта переменная поддерживается только в том случае, если используется триггер Inactivity.
LastMessage.Id string ИД предыдущего сообщения, отправленного пользователем
LastMessage.Text string Предыдущее сообщение, отправленное пользователем
Recognizer.ExtractedEntities вариант Представляет извлеченные сущности из инициирующего сообщения.
Примечание. Эта переменная поддерживается только в том случае, если используется триггер On Select Intent.
Recognizer.IntentOptions вариант Представляет варианты намерений, когда распознаватель возвращает неоднозначные результаты.
Примечание. Эта переменная поддерживается только в том случае, если используется триггер On Select Intent.
Recognizer.SelectedIntent вариант Представляет намерение, выбранное из распознавателя.
Примечание. Эта переменная поддерживается только в том случае, если используется триггер On Select Intent.
Recognizer.TriggeringMessage.Id string Идентификатор пользовательского сообщения, инициировавшего текущую тему
Recognizer.TriggeringMessage.Text string Пользовательское сообщение, инициировавшее текущую тему
Recognizer.MultipleTopicsMatchedReason string Используется для определения того, почему было сопоставлено несколько тем.
Примечание. Эта переменная поддерживается только в том случае, если используется триггер On Select Intent.
SignInReason вариант Используется для определения необходимого варианта входа при запуске темы.
Примечание. Эта переменная поддерживается только в том случае, если используется триггер On Sign In.
User.Language вариант Эта переменная используется для установки языкового стандарта пользователя для каждого разговора.

Переменные для интегрированной аутентификации (по умолчанию)

Следующие переменные доступны для агентов, настроенных для аутентификации с помощью Microsoft. Эта конфигурация использует проверку подлинности Microsoft Entra ID и используется по умолчанию для новых агентов.

Дополнительные сведения см. в разделе Переменные проверки подлинности.

Полное имя Type Определение
User.DisplayName string Отображаемое имя пользователя, который в данный момент общается с агент.
User.Email string Адрес электронной почты пользователя, который в данный момент общается с агент.
User.FirstName string Имя пользователя, который в данный момент общается с агент.
User.Id string Уникальный идентификатор пользователя, который в данный момент общается с агент.
User.IsLoggedIn Логический Логический флаг, который определяет, аутентифицирован ли пользователь, который в данный момент общается с агент.
User.LastName string Имя семейства пользователя, который в данный момент общается с агентом.
User.PrincipalName string Имя участника-пользователя, который в данный момент общается с агентом.

Переменные для проверки подлинности вручную с помощью Generic OAuth 2

Следующие переменные доступны для агентов, настроенных для использования поставщика услуг Generic OAuth 2.

Полное имя Type Определение
User.AccessToken string Маркер доступа для пользователя, прошедшего проверку подлинности с помощью агент.
User.DisplayName string Отображаемое имя пользователя, который в данный момент общается с агент.
User.Id string Уникальный идентификатор пользователя, который в данный момент общается с агент.
User.IsLoggedIn Логический Логический флаг, который определяет, аутентифицирован ли пользователь, который в данный момент общается с агент.

Переменные для ручной аутентификации с помощью Microsoft Entra ID

Следующие переменные доступны для агентов, настроенных для использования поставщиков услуг Microsoft Entra ID (ранее Azure Active Directory).

Полное имя Type Определение
User.AccessToken string Маркер доступа для пользователя, прошедшего проверку подлинности с помощью агент.
User.DisplayName string Отображаемое имя пользователя, который в данный момент общается с агент.
User.Email string Адрес электронной почты пользователя, который в данный момент общается с агент.
User.FirstName string Имя пользователя, который в данный момент общается с агент.
User.Id string Уникальный идентификатор пользователя, который в данный момент общается с агент.
User.IsLoggedIn Логический Логический флаг, который определяет, аутентифицирован ли пользователь, который в данный момент общается с агент.
User.LastName string Имя семейства пользователя, который в данный момент общается с агентом.
User.PrincipalName string Имя субъекта пользователя, который в данный момент общается с агентом.

Переменные для голосовых агентов

Следующие переменные доступны только для агентов с поддержкой голосовой связи.

Заметка

Дополнительные сведения о голосовых переменных агент см. в разделе Использование голосовых переменных.

Полное имя Type Определение
Activity.InputDTMFKeys string Необработанное значение ключа DTMF, полученное от телефонии.
Activity.SpeechRecognition.Confidence Номер Оценка достоверности для всего результата гипотезы Azure Site Recovery — от 0 до 1.
Activity.SpeechRecognition.MinimallyFormattedText string Слегка отформатированный текст результата гипотезы Azure Site Recovery. Например, «Пятьсот долларов». Слова пишутся прописью, но основные заглавные буквы и знаки препинания сохранены.
Activity.UserInputType вариант Тип входных данных из самых последних входных данных пользователя. Значение может быть тест, речь или DTMF.
Conversation.OnlyAllowDTMF Логический Логический флаг, указывающий, следует ли перевести IVR в режим «только DTMF» во время выполнения.
Conversation.SipUuiHeaderValue string Строка заголовка UUI, используемая для передачи контекста в IVR при начале вызова.