Как сделать так, чтобы 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. Ссылка содержит детали реализации.