Я пробую IBM Watson Assistant. Конечная цель состоит в том, чтобы интегрировать его с моим пользовательским бэкэндом через Конечные точки cURL API Watson Assistant (потому что пока нет полного PHP SDK).
Позвольте мне рассказать, что я сделал до сих пор:
.
{
"intents": [
{
"intent": "locate_amenity",
"confidence": 0.999901008605957
}
],
"entities": [
{
"entity": "amenity",
"location": [
7,
10
],
"value": "gas",
"confidence": 1
}
],
"input": {
"text": "i need some gas"},
"output": {
"text": [
"Hi. It looks like a nice drive today. What would you like me to do? "],
"nodes_visited": [
"Start And Initialize Context"],
"log_messages": []
},
"context": {
"conversation_id": "153c18ee-1015-4b6a-ae04-789e29bf4a05",
"system": {
"dialog_stack": [
{
"dialog_node": "root"}
],
"dialog_turn_counter": 1,
"dialog_request_counter": 1,
"_node_output_map": {
"Start And Initialize Context": [
0,
0
]
},
"branch_exited": true,
"branch_exited_reason": "completed"},
"AConoff": "off",
"lightonoff": "off",
"musiconoff": "off",
"appl_action": "",
"heateronoff": "off",
"volumeonoff": "off",
"wipersonoff": "off",
"default_counter": 0,
"previous_cuisine": "",
"previous_restaurant_date": "",
"previous_restaurant_time": ""}
}
Теперь, пожалуйста, дайте мне понять две вещи здесь.
В этот момент я ожидал, что API вернется с сообщением:
«Поблизости есть автозаправочные станции. К какой из них вы бы хотели доехать?»
Но почему это не так. Если тогда, как мне этого добиться?
Как я должным образом ответить назад с "Go to number 5."
чтобы API понял, что я имею в виду предыдущий вызов? (ака) Как мне продолжить диалог? (Примечание: я попытался отправить обратно с предыдущими «контекстами», «сущностями», «намерениями», но это все равно как-то распознается как новое сообщение.)
Пожалуйста, поделитесь со мной примером вызова cURL для отслеживания предыдущего сообщения.
Поскольку полного PHP SDK еще нет, мне очень трудно понять только вызовы API cURL. Документация API также не объясняет эти детали. Пожалуйста помоги.
Спасибо вам всем.
API сообщений для Watson Assistant не имеет состояния. Все, что необходимо для обработки запроса, передается в виде параметров. Это включает в себя само сообщение, но также контекст. Контекст содержит состояние о том, где в диалоговом дереве находится диалог. Он также может содержать информацию, которая передается из WA в приложение, например, для обработки действия на стороне клиента. Или из приложения в WA, например, с записью из базы данных.
Подойдя к вашему запросу:
Других решений пока нет …