在Node-RED中部署Watson AI(带有选项响应功能)

时间:2020-07-03 06:05:15

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

我正在使用Watson Assistant,因为我已经创造了一项技能,因此使用了“选项响应”。所以我将其部署在节点红色中。

enter image description here

问题在于,在watson与用户交互时,直到其未提出“选项响应”,但在watson必须使用选项功能进行响应时,它却没有显示任何选项!

enter image description here

正如您在此处看到的watson询问的电子邮件地址,然后下一个watson答复必须在“选项响应”中,但它不显示.....

函数1节点代码为:-

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

功能2节点代码为:-

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

在表单节点中:-

enter image description here

我试图尽我所能解释我的问题。请!请!帮我解决这个问题。 如果我使用较少的节点或其他节点,请告诉我。

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

enter image description here

当我尝试在功能节点2中键入此代码时:

msg.payload =payload

然后在Watson必须选择响应的那一刻在调试节点中是这样的:

enter image description here

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

timd的答案实际上是正确的。如果仅将文本发送到bot节点,它将仅显示测试。

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

在功能节点中,您需要将Assistant节点的输出转换为bot节点的预期输入。

不知道您使用的是哪种bot节点以及它期望的输入格式,除了发送错误的数据外,很难进一步说明细节。