【问题标题】:Deploy Watson AI (with option response function) in Node-RED在 Node-RED 中部署 Watson AI(具有选项响应功能)
【发布时间】:2020-10-23 19:45:43
【问题描述】:

如果我创建了一项技能并且我使用了“选项响应”,我正在使用 watson 助手。所以我将它部署在 node-RED 中。

问题在于,在 UI 中,当 watson 与用户交互时,它没有提出“选项响应”,但是当 watson 必须使用选项功能做出响应时,它没有显示任何选项!

您可以在这里看到 watson 要求提供电子邮件地址,然后下一个 watson 回复必须在“选项响应”中,但它没有显示.....

在函数 1 中的节点代码是:-

msg.payload = msg.payload.text;
return msg;

在函数 2 中的节点代码是:-

msg.payload = msg.payload.output.text[0];
return msg;

在表单节点中:-

我试图尽可能清楚地解释我的问题。请!请!帮我解决这个问题。 如果我使用了较少的节点或其他什么,请告诉我。

我想显示 watson 必须显示的输出:

当我尝试在函数节点 2 中输入此代码时:

msg.payload =payload

然后在调试节点中,watson 必须选择响应是这样的:

【问题讨论】:

    标签: ibm-watson node-red watson-assistant


    【解决方案1】:

    如果我误解了您,请原谅我,但我相信您正在尝试将 Watson Assistant 响应的选项输出到您的机器人响应中。如果是这种情况,您需要查看从 Watson 返回的 JSON 有效负载,如调试节点中所示。您的函数 2 仅返回来自助手的文本响应。选项响应位于 json 有效负载的不同部分,即 msg.payload = msg.payload.output.generic[0].options[0].label

    【讨论】:

    • 我昨天制作的 cmets 旨在帮助指导您在 json 有效负载中查找选项信息的位置,即标签和值。通常,应用程序 UI 代码需要将 Watson Assistant 响应转换为适合您的 UI 的正确格式。正如 chughts 指出的那样,我们不知道您正在使用哪些 UI 节点。然而,大多数将采用 html 代码。因此,您需要在函数代码中获取 Watson 响应并将其转换为 html(这也是一个猜测)。
    【解决方案2】:

    timd 的回答其实是正确的。如果您只向机器人节点发送文本,它将只显示测试。

    您需要检查您正在使用的 bot 节点期望有效负载采用什么格式,它是否可以处理选项,以及它期望选项的外观。

    在您的函数节点中,您需要将助手节点的输出转换为机器人节点的预期输入。

    如果不知道您使用的是什么机器人节点以及它所期望的输入格式,很难深入了解更多细节,除非您发送了错误的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多