1

Я пишу простую бомбу Slack, которая может искать погодные условия для данного местоположения.Slack-App-Watson: Уотсон теряет намерение из предыдущего полученного сообщения

В разговоре чата поле Уотсон, Уотсон делает хорошо:

  • меня: Погода пожалуйста
  • Уотсон (обнаружен #weather_asked): Где вы хотите знать погодные условия?
  • мне: Париж
  • Уотсон (выявляемые @location для намерения #weather_asked): Поиск погодных условий Париж ...

Но в моем Node.js приложения (подключен к отними), его кажется, что Уотсон «не имея в виду, что я обеспечиваю место для #weather_asked намерения»:

  • меня: Погода пожалуйста
  • Watson (обнаружено #weather_asked): Где [...]?
  • me: Paris
  • Watson (обнаружено только @ местоположение и намерение #location_given): Извините, я не понял. (Запасной вариант anything_else)

Это как Уотсон, когда он используется в моем NodeJS приложении, забывают первоначальное намерение #weather_asked и «сбросить» его первичные Диалоги. Что мне не хватает?

Скриншот моего Watson конфигурации Диалог Диалоги: http://imgur.com/a/vKo8P

редактировать: я узнал, мое приложение посылает вход пользователя на Уотсон с новым разговора ID. Я попытаюсь установить этот контекст, если он уже существует.

ответ

1

Я нашел решение! Проблема в том, что я не сказал Уотсону, что мой пользователь уже начал с ним разговор (это?).

Я сделал простой кусок кода, в котором хранится существующий контекст, сгруппированный с помощью user_id Slack. Если контекст уже существует для этого user_id, мое приложение вызывается API Watson и добавляет этот контекст в запрос, поэтому Уотсон знает, что этот новый пользовательский ввод следует предыдущему.