chatme.ai
Search
K
Comment on page

Разветвление сценария в зависимости от условий | Слот Transition Rule и под-слот Condition

Назначение и общая информация

Слот Transition Rule позволяет разветвлять Сценарий в зависимости от условий, указанных в под-слотах Condition. Вместе с под-слотами Condition представляет собой комплексный слот.

Создание и настройки слота Transition Rule

Атрибуты слота Transition Rule

Name ー название слота, которое будет отображено в Дереве Сценария. Максимальная длина значения поля — 40 символов.
При сохранении Слота проверяется значение в поле:
  1. 1.
    если поле пустое, выводится ошибка Please enter a slot name
    image.png
  2. 2.
    если в поле более 40 символов, выводится ошибка Name must contain no more than 40 characters
    image.png

Атрибуты подслотов Condition

  1. 1.
    Nameー название подслота, которое будет отображено в Дереве сценария. Максимальная длина значения поля — 40 символов. Если название не введено при создании подслота, Платформа автоматически копирует первые 40 символов текста из поля Condition в поле Name. Если же поле Name очищено при редактировании подслота, то на подслоте в Дереве сценария будут отображаться первые 34 символа из поля Condition.
    1. 1.
      При сохранении Слота проверяется значение в поле:
      1. 1.
        если в поле более 40 символов, выводится ошибка Name must contain no more than 40 characters
        image.png
  2. 2.
    Conditionー логическое выражение, которое будет проверено в процессе Общения, и если результат проверки будет ИСТИНА, Агент перейдет в ветку, идущую после этого подслота Condition. Выражение задается, используя синтаксис Синтаксис.
    1. 1.
      При сохранении Слота проверяется значение в поле:
      1. 1.
        если поле пустое, выводится ошибка Please enter a condition
        image.png

Использование синтаксиса в Подслоте Condition (Transition Rule)

В Подслоте Condition используются Выражения в поле Condition. Подробнее: Синтаксис
Результатом вычисления условия будет значение логического типа: True или False. Если результатом вычисления условия является значение какого-то другого типа (строка, число, список, и т.п.), то оно будет приведено к логическому типу.
Примеры:
  1. 1.
    Условие проверяет существование Контекстной переменной в контексте чата и возвращает True, если Контекстная переменная существует.
  2. 2.
    Условие вернёт True, если Контекстная переменная user_name определена в Контексте Чата, является строкой, и имеет значение “Василий”.
  3. 3.
    Условие всегда является истинным, т.к. значение 42 приводится к True.

Автоматическая генерация подслотов при создании Transition Rule

При создании слота Transition Rule автоматически создаются два обязательных подслота Condition.
  • Первый из них всегда имеет значение “main”, которое можно изменить на нужное нам условие, используя Синтаксис
  • Второй, имеющий значение “true”, изменить нельзя. Этот подслот всегда будет оставаться самым нижним в данном комплексном слоте — все новые подслоты Condition будут автоматически размещены выше него.

Добавление подслотов Condition

  • Используя кнопку “+” можно создать новый подслот Condition.
  • Новые подслоты Condition будут располагаться над автоматически созданного подслота Condition со значением “true” в порядке их создания.

Удаление подслотов Condition

  • Чтобы удалить Подслот Condition, необходимо кликнуть по нему правой кнопкой мыши и нажать кнопку Remove Branch, затем нажать OK во всплывшем диалоговом окне.
    image.png
    image.png
  • Возможно удалить любой Condition, кроме Подслота со значением true, если после удаления у Слота Transition Rule останется не менее двух Condition.
  • Удаление Подслота Condition со значением true или единственного, помимо него, Подслота Condition невозможно. При попытке это сделать появится следующая ошибка по центру внизу:

Работа слота

  • При прохождении сценария через слот Transition Rule, происходит проверка истинности выражений, указанных в подслотах Condition от верхнего подслота к нижнему
  • Агент немедленно перейдет в ветку первого подслота Condition, результат выражения которого будет ИСТИНА, выражения в нижерасположенных подслотах Condition не будут проверены. Например, если переменная A равна 30, Агент перейдет в ветку подслота Condition с условием {{ @a }} > 10 так как это условие первым будет удовлетворено при проверке.