创建从红色节点到Watson对话的上下文变量

时间:2018-10-18 12:55:00

标签: node-red watson-conversation

是否可以向Watson对话发送变量?

这只是我要尝试做的。获取松弛用户名 将用户名另存为上下文变量 当用户与聊天机器人对话时,它会说你好用户名,而无需用户输入。

我已经阅读了有关Additional_context的信息,但似乎找不到任何如何使用它的地方。这是我的功能,可以在进入Watson对话之前处理松弛文本

msg._payload = msg.payload;
msg.payload = msg._payload.event.text; 
msg.additional_context = msg._payload.event.user
node.send(msg); // Send the message long to the next node

如果我在调试节点中查找,则Additional_context键会正确返回用户ID,但是我不知道如何从“对话”节点内部“获取”它。

预先感谢

1 个答案:

答案 0 :(得分:0)

添加其他变量意味着将变量添加到消息请求的"context"部分中。将POST消息发送到Watson Assistant(Conversation)API时,按如下所示添加变量:

{ "input": { "text" : "Text the user typed." } "context" : { "username" : "user name", ...+all of the attributes of the context sent in the the last response from WA } }

请记住-在对话开始时,可​​以发送空的context或仅包含用户名变量的context。但是,在对话开始时,系统会在context字段中发送其状态,因此在下一个POST消息请求中将该上下文发回很重要(因为系统是无状态的,并且该状态保持在上下文对象)。可以将node.js的其他变量添加到此上下文中。

此处有关POST消息的更多信息:API documentation(23.10.2018)