我想使用node.js通过APP访问watson对话JSON中保存的上下文变量。
我尝试将整个会话日志保存到cloudant并从那里获取。
是否有更简单的方法来访问上下文变量?我正在考虑向服务器发送一个http请求来获取正确的变量(我不知道要访问哪些变量)。
答案 0 :(得分:0)
根据您的需要,您可以在浏览器会话中存储上下文。这就是对话简单的应用程序所做的事情。Daniel Pryden's method 在这种情况下,JSON上下文对象将传递给浏览器,并在随后的请求中再次传回。 另一种方法是将此信息存储在自定义商店中,例如Cloudant
答案 1 :(得分:0)
来自Conversation服务的响应是JSON格式。因此,您可以取出" context"中可用的任何上下文值。这个JSON响应的参数。以下是Conversation服务的简单回复。
{
"intents": [],
"entities": [],
"input": {
"text": ""
},
"output": {
"text": ["Hello MJ! How can I help you today?"],
"nodes_visited": ["Conversation Start"],
"log_messages": []
},
"context": {
"username": "MJ",
"conversation_id": "5835fa3b-6a1c-4ec5-92f9-22844684670e",
"system": {
"dialog_stack": [{
"dialog_node": "Conversation Start"
}],
"dialog_turn_counter": 1,
"dialog_request_counter": 1,
"_node_output_map": {
"Conversation Start": [0]
}
}
}
}
您将在响应的 context 键中包含所有上下文变量。如果您查看此回复的上下文参数,则会看到"用户名":" MJ" 条目。这是我添加到服务上下文的自定义值。您可以根据需要格式化此响应并在您的应用程序中使用它。