IBM Watson Assistent: вызов действия клиента для проверки информации о клиенте в узле диалогового окна слота - PullRequest
0 голосов
/ 16 апреля 2019

В узле с включенным слотом мне нужно проверить первый слот по клиентской базе данных (тип = Клиент, а не облачная функция или веб-действие).

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

Мне нужно собрать все это в один узел, поскольку у пользователя есть возможность предоставить всю информацию в одном предложении.

Пусть, скажем, пользователь введет "У меня был повторный звонок с Джоном сегодня"

Определение 3 слотов

 1. If recognized @sys-contact save it as $contacted_person (John) required
 2. If recognized @sys-date save it as $call_date (today) required
 3. If recognized @purpose save it as $purpose (follow up) required

В настройке слота 1 я определил действие для вызова внешней функции, которое отлично работает, оно проверяет контекст $ contact_person в базе данных и возвращает контекстную переменную с именем $ default_contact_person . Если запись найдена, то $ default_contacted_person равно $ contact_person , и если в базе данных нет такого имени, значение $ default_contact_person будет равно «Нет». Запись "

Я также создал условный ответ для первого слота, чтобы проверить значение $ default_contact_name

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

Node setup

Configuration slot #1

image response 1">

JSON of slot 1:

{
  "context": {
    "contact_person": "@sys-person.values"
  },
  "actions": [
    {
      "name": "Contact_check",
      "type": "client",
      "parameters": {
        "account_name": "$contact_person"
      },
      "result_variable": "default_contact_name"
    }
  ]
}
...