我正在尝试IBM Watson Assistant。最终目标是通过Watson Assistant's cURL API Endpoints (因为还没有完整的PHP SDK)将其与我的自定义PHP后端集成。。
让我告诉我到目前为止我做了什么:
。
{
"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理解我是指上一次呼叫? (aka)如何继续对话流程? (注意:我尝试使用先前的“上下文”,“实体”,“意图”发回,但仍被认为是新消息。)
请给我分享一个cURL调用示例,以跟进上一条消息。
由于还没有完整的PHP SDK,仅通过cURL API调用使我很难理解。 API文档也没有对此细节进行解释。请帮忙。
谢谢大家。
答案 0 :(得分:3)
Watson Assistant的消息API是无状态的。处理请求所需的所有内容均作为参数提交。这包括消息本身,还包括上下文。上下文保存有关对话在对话框树中的位置的状态。它还可以保存从WA传输到应用程序的信息,例如,以处理客户端操作。或从应用到WA,例如使用数据库中的记录。
应您的要求: