是否可以向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,但是我不知道如何从“对话”节点内部“获取”它。
预先感谢
答案 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)