ibm-cloud - 在 Watson Assistant 和 Node RED 中使用槽
问题描述
我正在使用 Watson Assistant 和 Node RED 在 Telegram 上构建一个聊天机器人。我需要从用户那里获取一个日期和时间来进行预约,所以我使用了一个需要插入这两个信息的插槽。使用 Watson 提供的试用聊天机器人,我对 slot 没有任何问题;但是使用 Node RED,我只能输入日期。通过debug,看到输入日期后,再运行第一个slot后,返回这个错误“msg.payload.content is empty”。此外,查看助手返回的输出消息正文,msg.payload.output.generic 字段为空。另一方面,它应该包含请求在输入日期后也插入时间的助手的响应。机器人似乎卡在输入日期,但实际上我不这么认为,
可能是什么问题呢?
解决方案
Assistant V1 和 V2 都没有设置或查看msg.payload.content
。他们在输入时查看msg.payload
并在退出时将来自 Watson Assistant 的响应分配给msg.payload
.
如果您收到“msg.payload.content”是空错误,那么这将发生在您的流程中的某个地方。最有可能在您尝试处理响应的最后。如果 msg.payload.content 为空,则助手对话框不会返回任何输出。这很奇怪,因为它应该返回当前空槽的提示。
msg.payload
看起来像什么?
您使用的是 V1 还是 V2 节点,您使用的是哪个版本的 node-red-node-watson 节点?你可以通过调色板来判断。
但是,V1 和 V2 节点都已使用插槽进行了测试,并且响应确实以msg.payload.content
. 当前发布的 node-red-node-watson 版本是 0.9.0。
推荐阅读
- css - 如何在引导程序中对齐标签和选择?
- android - 如何在 Android React Native App 中使用默认 iOS 字体
- java - 如何修复 setAdapter() 调用上的“非静态方法”错误?
- swift - 为什么在这种情况下 Array 的元素是可选的?
- c++ - 在模板函数 C++ 中的 F&&,Args &&... 参数之后添加另一个函数作为参数
- r - 无法读取 R 中的 excel 表格
- mongodb - 如何将用户添加到在 docker 容器中运行的 mongoDB 数据库?
- html - 解析属性“ibooks:readaloud”的前缀“ibooks”时出错
- ruby-on-rails - 如何在子文件夹中定义到控制器的路由?
- forms - 在 PowerShell 中,如何将表单调整为屏幕分辨率?