У меня есть приложение spring mvc, и я хотел бы, чтобы мой пользователь вызывал бота, и бот на основе пользовательского ввода должен получить доступ к URL-адресу и на основе ответа предоставить ответ. Как я могу добиться этого в Java?
Как заставить Watson Conversation Api вызывать URL-адрес веб-приложения, когда пользователь вводит ввод?
Ответы (2)
Прямого способа сделать это нет. Однако Watson Conversation предоставляет механизм для обработки таких запросов. Вам нужно будет сообщить вызывающему Java-приложению, что необходимо вызвать URL-адрес.
Это делается с помощью двух функций: Context.request skip_user_input.
request
— это специальная переменная контекста, которая имеет аргументы, имя и результат. Он используется, чтобы сообщить вызывающему приложению, что оно должно выполнить какое-либо действие на основе этой переменной.
Параметр skip_user_input
является необязательным. Во многих случаях вы можете захотеть выполнить некоторую бизнес-логику в своем приложении, а затем предоставить ее результаты через result
. Если для параметра skip_user_input
задано значение true, программа Watson Conversation не будет ждать ввода от пользователя. Таким образом, ваше условие на следующем узле должно основываться на содержимом внутри result
.
{
"output": {},
"context": {
"request": {
"args": {
"url_to_invoke": "your_url"
},
"name": "Call_A_URL",
"result": "context.response"
},
"skip_user_input": true
}
}
Эта функция теперь доступна с помощью облачных функций IBM. ссылка содержит подробную информацию о реализации.