使用node.js

时间:2016-10-20 05:33:04

标签: node.js watson-conversation

我想使用node.js通过APP访问watson对话JSON中保存的上下文变量。

我尝试将整个会话日志保存到cloudant并从那里获取。

是否有更简单的方法来访问上下文变量?我正在考虑向服务器发送一个http请求来获取正确的变量(我不知道要访问哪些变量)。

2 个答案:

答案 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" 条目。这是我添加到服务上下文的自定义值。您可以根据需要格式化此响应并在您的应用程序中使用它。