IBM Watson Assistant:chatbot调用本地节点功能

时间:2019-07-15 23:03:10

标签: node.js ibm-cloud watson-assistant ibm-cloud-functions

我是IBM Watson Assistant的新手,刚刚经历并修改了GitHub简单(银行机器人)示例。该功能目前为止还不错,但是我想运行一个本地节点功能并将其结果提供给对话。

例如:

将在可访问Internet的ip /端口上启动家庭watson节点服务器。

我将在上述ip /端口上与watson聊天,并询问:“我的哪些家用计算机已启动”。

Somehow Watson将为所有局域网主机建立一个选项列表,这些主机响应来自本地节点服务器的ping并在对话中向我呈现。

我将选择其中之一,并且所选的主机可能是另一个局部函数的参数。

这样的问题: 是否有一种既定的方法来具有本地/云功能/(变量|实体),以及在本地服务器和watson-assantant之间来回调用/传递状态(阅读:不仅仅是解析人类可读的对话JSON)

是否有API规定将Watson对话中的局部函数的返回数据用作选项?

到目前为止,我与Watson有关其命名方案的最大问题。如果上述情况可行,并且您可以提供示例或api名称,那么我可以进行其余的研究。

2 个答案:

答案 0 :(得分:0)

您可能希望访问名为NodeRED的开放源代码项目-该项目可以帮助解决Iot / home元素。这个开源基础项目可以在您的PC上的云中(IBM和Non IBM)执行,最重要的是在Raspberry PI(作为OS的一部分)上执行。您可以通过可视化编程方法开发作为最小应用程序执行的流程。 (很多YouTube示例)。还有一些IBM节点可用于同时调用Watson Assistant和Watson IoT等。
您还将发现许多开发并上传到Org的库中的项目的示例。

答案 1 :(得分:-1)

为了从IBM Watson Assistant调用本地(“本地”)功能或服务,有两个选项。

  1. 从对话框节点中调用action (IBM Cloud Function)。然后,该操作将调出到已知的API端点。该端点是暴露在云可访问的IP地址处的“家庭功能”。请注意,time for the entire roundtrip has to be below 5 seconds
  2. 将聊天机器人嵌入到“ wrapping app”中,然后让该应用管理标注。公开家庭功能的问题是相同的。对话框操作的好处是没有时间限制。