ibm-watson - 我们如何从后端为 IBM Watson 设置上下文变量

标签 ibm-watson watson-conversation watson-dialog

我想通过我的 Node 应用程序将一些值以 IBM Watson 中的上下文变量的形式传递给前端。我怎样才能实现它?

我尝试将要添加的值添加到当前上下文变量对象并将其发回。仍然没有帮助。有什么办法可以做到吗?


编辑:

现在,我将所需的值作为新的键值对添加到 Node 应用程序的上下文对象中,如下所示。

...
let user_name = "MJ"
context.user_name = user_name
response.send({
    output: output,
    context: JSON.stringfy(context)
})
...

在 Watson Console 中,在我使用过的一个对话节点中,

Hey $user_name, How are you?

但我得到的输出是,

Hey , How are you?

我可以在上下文对象中看到 user_name 值,但是我不能按照上面提到的方式使用它。还有其他方法吗?


感谢任何帮助。提前致谢!

最佳答案

我遇到了同样的问题。我的解决方案是在调用 IBM 服务器并请求 .json 时更改代码:

...
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      text,
      context: {username :  variable}, 
...

我在 Watson Assistant 中设置的 username 以及上下文,我使用函数通过 Query 获取名称的变量(因为在我的应用程序中,我通过 IFrame 调用聊天机器人。 ), 但您可以使用在 javascript 上设置的任何变量。

关于ibm-watson - 我们如何从后端为 IBM Watson 设置上下文变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49371158/

相关文章:

node.js - 使用 watson-developer-cloud nodejs sdk 删除多个意图

node.js - Watson Conversation 中的多个输出文本值设置

ibm-cloud - 获取 Watson Conversation Workspaces

ibm-watson - 将变量传递到 Watson Dialog

watson-conversation - 如何在 watson 对话框条件下测试上下文变量是否未定义?

node.js - 使用 Bluemix 对图像进行分类

github - 将 github 链接到 IBM watson

ibm-watson - 如何实现具有多个工作空间的 Watson 对话

artificial-intelligence - 将 Watson Assistant 用户响应限制为仅数字 - 不允许使用文本

javascript - 维护上下文