IBM Assistant - Почему я не могу проверить существующую / установленную сущность вместо проверки по контекстной переменной? - PullRequest
0 голосов
/ 18 апреля 2020

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

Есть несколько требований:

  1. Он должен использовать слоты, чтобы заполнить все значения сразу (без создания огромного дерева) ;
  2. Он должен принимать два способа оплаты: кредитная карта и CA sh.

Если способ оплаты кредитная карта , то он должен запросить флаг (Visa, Elo или Mastercard) до завершения покупки. Если способ оплаты ca sh, то нам просто нужно завершить sh it.

У меня есть следующие узлы:

Дерево узлов :

enter image description here

# ComprarBuqueFlores подробности:

enter image description here

В дереве вы, ребята, можете видеть, что у меня есть два разных узла (потомки # ComprarBuqueFlores ), использующих два разных метода. Первый узел проверяет контекстную переменную . Второй проверяет значение сущности .

Когда я сравниваю значения переменных контекста, он работает нормально . Однако, когда я пытаюсь проверить значение сущности напрямую, оно не работает , всегда оценивая false (даже когда @FormaDePagamento распознается как "dinheiro").

На приведенном ниже снимке экрана показано, как происходит сбой в таком случае:

enter image description here

Ошибка возникает из-за того, что ни один из дочерних узлов не принимает значение true, что означает @ FormaDePagamento: dinheiro ложно, даже если Chatbot распознает такое значение.

Итак, вопрос в следующем:

В чем разница между сравнением с переменной контекста и сравнение ее с распознанным значением объекта? Почему сравнение со значением объекта недопустимо и оценивается как ложное в такой ситуации?

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