Как сделать так, чтобы Watson Conversation Api вызывал URL веб-приложения, когда пользователь вводит данные?

У меня есть приложение Spring mvc, и я хотел бы, чтобы мой пользователь вызывал бота, и бот, основанный на вводе данных пользователем, должен получить доступ к URL-адресу и на основе ответа дать ответ. Как я могу добиться этого в Java?

2 ответа

Решение

Нет прямого способа сделать это. Тем не менее, Watson Conversation предоставляет механизм для обработки таких запросов. Вы должны будете сообщить вызывающему Java-приложению, что URL должен быть вызван.

Это делается с помощью двух функций: Context.request skip_user_input

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

настройка skip_user_input не является обязательным. Во многих случаях вы можете захотеть выполнить некоторую бизнес-логику в своем приложении и затем предоставить ее результаты через result, настройка skip_user_input истинно, скажет Watson Conversation не ждать ввода от пользователя. Таким образом, ваше условие на следующем узле должно основываться на содержимом внутри result,

{
  "output": {},
  "context": {
    "request": {
      "args": {
        "url_to_invoke": "your_url"
      },
      "name": "Call_A_URL",
      "result": "context.response"
    },
    "skip_user_input": true
  }
}

Эта функция теперь доступна с помощью облачных функций IBM. Ссылка содержит детали реализации.

Другие вопросы по тегам