Использование переменных

Выберите версию Power Virtual Agents, которую вы используете, здесь:

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

Например, сохраните имя клиента в переменной с именем UserName, и бот может обращаться к клиенту по имени, пока разговор продолжается. Или можно использовать переменные для создания логических выражений, которые динамически направляют клиента по различным путям разговора. Вы также можете передавать переменные в Power Automate и навыки Bot Framework в качестве входных параметров и сохранять выходные результаты этих действий.

Предварительные условия

Сущность и тип переменной

Power Virtual Agents использует сущности для определения определенного типа информации из ответов пользователя. Тип переменной связывается с идентифицированной информацией при ее сохранении. Тип переменной аналогичен сущности.

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

Например, базовый тип логический сопоставляется с оператором «равно» с возможными значениями True или False. Базовый тип количество дает вам числовые операторы, такие как "равно", "больше" или "больше или равно" и так далее.

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

Создание переменной

На холсте разработки бота добавьте узел вопроса. В узле автоматически создается переменная.

  1. Перейдите на страницу тем своего бота и откройте тему, в которую вы хотите добавить переменную.

  2. Выберите значок плюс (+), затем выберите Задать вопрос.

    Снимок экрана добавления узла.

    Переменная, содержащая ответ пользователя, создается автоматически.

    Создание переменной.

Выбор сущности для использования

По умолчанию узел вопроса создается с вариантами множественного выбора. Чтобы использовать другую предварительно созданную или пользовательскую сущность, выберите, что именно идентифицировать из узла.

Снимок экрана выбора сущности.

Изменение имени переменной

Автоматически создаваемые переменные имеют имя по умолчанию. Чтобы переименовать переменную, выберите имя переменной, введите новое имя и выберите Готово.

Снимок экрана переименования переменной.

Использование переменных в узлах действия

Когда вы используете переменную в узле действия, если ее базовый тип соответствует типу параметра, указанному для потока или навыка Bot Framework, вы можете передать ее этому параметру. Выходные данные узлов действий генерируют новые переменные.

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

Использование литеральных значений в узлах действий

Вы можете ввести литеральное значение в поле ввода переменной в узле действия вместо выбора переменной из меню.

Снимок экрана, показывающий использование литеральных значений для вводных данных действий.

Передача переменных между темами

При перенаправлении в другие темы вы можете передать значения в переменные в теме назначения или получить обратно переменные из нее. Передача переменных между темами особенно полезна, когда у вас уже есть информация, необходимая для темы. Ваши пользователи оценят, что им больше не придется отвечать на вопрос. Это также полезно при рефакторинге и разделении ваших тем на повторно используемые компоненты, и вы хотите передавать переменные по темам.

Примечание

Переменные типа Custom Entity, Date Time и Duration нельзя передавать между темами.

Получение значений из других тем

Когда тема определяет переменную (например, с помощью узла вопроса), бот задает вопрос пользователю для заполнения значения переменной. Если значение уже получено ботом, нет причин снова задавать вопрос. Для этих случаев эту переменную можно определить как Получение значений из других тем. Когда другая тема перенаправляют на эту тему, она может затем передать переменную (или литеральные значения) в эту переменную, и она вообще пропустит вопрос. Это приводит к беспроблемному общению пользователя с ботом.

Чтобы получать значения из других тем, установите свойство переменной:

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

  2. В области Свойства переменных в Тема (ограниченный объем) выберите Получение значений из других тем.

    Снимок экрана холста разработки, на котором показана панель свойств переменных с выбранными значениями получения из других тем.

  3. Сохраните тему.

  4. Перейдите к теме, на которую следует перенаправить. Следуйте инструкциям в Перенаправление на другую тему, чтобы перенаправить на правильную тему.

  5. Выберите + Добавление входных данных для темы назначения.

    Снимок экрана холста разработки, показывающий добавление ввода для темы назначения.

  1. Выберите переменную в перенаправленной теме, в которую вы хотите передать переменную.

    Снимок экрана холста разработки, показывающий выбор переменной в перенаправленной теме.

  2. В Введите или выберите значение выберите переменную из текущей темы, которую вы хотите передать в перенаправленную тему.

    Снимок экрана холста разработки, показывающий выбор переменной из списка параметров.

    Переменная отображается в перенаправленном узле.

    Снимок экрана холста разработки, показывающий передачу переменной в перенаправленный узел.

Возврат значений к исходным темам

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

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

Чтобы вернуть переменную в исходную тему, установите свойство переменной:

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

  2. В области Свойства переменных в Тема (ограниченный объем) выберите Возврат значений к исходным темам.

    Снимок экрана холста разработки, на котором показана панель свойств переменных с выбранными значениями получения в исходную тему.

  3. Сохраните тему.

  4. Перейдите к теме, на которую следует перенаправить. Следуйте инструкциям в Перенаправление на другую тему, чтобы перенаправить на правильную тему.

    Переменная, возвращаемая в тему, отображается в перенаправленной теме. Используйте возвращенную переменную в вашей теме.

    Снимок экрана холста разработки, показывающий перенаправленную тему с введенными и возвращенными значениями.

Использование области переменных

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

  1. В строке меню темы выберите Переменные.

    Снимок экрана холста разработки со значком панели переменных.

  2. Для каждой переменной в теме выберите, хотите ли вы, чтобы значения передавались, получались или возвращались (или и то, и другое) между темами.

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

Использование литеральных значений во вводных данных переменных

Вы можете передавать литеральные значения, а также переменные в тему. Чтобы передать литеральное значение, введите значение, которое вы хотите использовать в качестве входных данных, вместо выбора переменной.

Снимок экрана холста разработки, показывающий литеральный ввод входной переменной в узле перенаправления