使用 node.js 访问存储在 watson 对话中的上下文变量

Access the context variables stored in watson conversation using node.js

我想使用 node.js.

通过 APP 访问保存在 watson 对话 JSON 中的上下文变量

我试过将整个对话记录保存到 cloudant 并从那里获取。

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

根据您的需要,您可以在浏览器会话中存储上下文。这就是 conversation-simple 应用程序的作用.. https://github.com/watson-developer-cloud/conversation-simple 在这种情况下,JSON 上下文对象被传递给浏览器,并在后续请求中再次传回。 另一种方法是将此信息存储在自定义存储中,例如 Cloudant

从对话服务获得的响应采用 JSON 格式。因此,您可以取出此 JSON 响应的 "context" 参数中可用的任何上下文值。以下是对话服务的简单响应。

{
"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 键中拥有所有上下文变量。如果您检查此响应的上下文参数,您将看到 "username": "MJ" 条目。这是我添加到服务上下文中的自定义值。您可以根据需要格式化此响应并在您的应用程序中使用它。