Есть ли способ перейти к диалоговому узлу в Watson по коду? - PullRequest
0 голосов
/ 13 февраля 2019

В Watson-разговор я первым делом спрашиваю у пользователя Id.Я получаю это в python и проверяю в простой базе данных, есть ли там идентификатор (это довольно простая логика).

Теперь я хочу перейти на узел 1, если пользователь не существует в моей базе данных.Поэтому я искал что-то в python , чтобы сделать это, так как Уотсон не может проверить мою базу данных.

Я искал несколько информации. это было наиболее полезным, но я искал больше .

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

Я ожидал что-то вроде этого:

  • Узел 1: запрос идентификатора
  • Если идентификатор существует, то:
  • Узел 2Привет, $ name!бла-бла-бла
  • но если идентификатор не существует Перейти к узлу 1.

Я сделал простую функцию, чтобы понять, что я хочу сделать:

def checkingId(bot, update):
    message=update.message.text #let's suppose it is already parsed, to make it simpler
    result=cursor.execute("select name from users where id=message")

    if(result!=None): #so if the id exists in the table
        #no problem here, keep it going like normal watson would do
                whatever()

    else:
        jumpToNode1InWatson (???)

Я также видел, что в json (?) Может быть этот параметр dialog_node": "node1 or whatever it is", поэтому я могу получить к нему доступ через python, но я не нашел в этом ничего уместного.

источник этого

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

1 Ответ

0 голосов
/ 13 февраля 2019

В этом руководстве по решению IBM Cloud для чат-бота на основе базы данных имеется код для взаимодействия с БД из Watson Assistant.Соответствующий репозиторий GitHub показывает его для Db2 и PostgreSQL.Это делается с помощью действия IBM Cloud Functions.Другой вариант - использовать клиентское диалоговое действие .

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

...