IBM Watson Assistant:如何通过对话进行 API 调用

Posted

技术标签:

【中文标题】IBM Watson Assistant:如何通过对话进行 API 调用【英文标题】:IBM Watson Assistant: How to make API calls from dialog 【发布时间】:2019-08-08 18:00:49 【问题描述】:

我们使用 Watson 功能将 IBM Watson Assistant 技能/工作区与 Facebook 页面集成。我们使用“虚拟助手”选项卡中的集成方法来做到这一点。

我们能够从 Watson 技能/工作空间常见问题解答中获得 Facebook Messenger 的响应。现在我们想向技能/工作区添加更多问题,并从数据库中获取响应。

我们知道我们可以使用 IBM Cloud Functions 来获取数据库数据并用数据进行响应,但是 Cloud Functions 操作类型(web_action 和 cloud_function 或服务器)会产生成本,因此我们正在寻找另一种方法。

我们为数据库开发了自己的 API,并希望在 Watson Assistant 对话节点操作中使用这些 API。请告诉我们如何在不使用客户端应用程序/云功能的情况下将其添加到操作中并从 API 获得响应。

注意:我们还没有为此聊天机器人开发任何应用程序,我们直接将 Watson 技能/工作区与 Facebook 页面集成,并尝试在对话节点需要的任何地方调用 API 调用。

【问题讨论】:

【参考方案1】:

如您所见,IBM Watson Assistant allows to invoke three different types of actions from a dialog node。

客户, 服务器(cloud_function), web_action.

因为对于 cloud_function 和 web_action,操作在 IBM Cloud 上托管为 Cloud Function,因此对计算资源收费。对于类型客户端,您的应用程序将处理 API 调用,费用取决于您的应用程序的托管位置。因此,总会有成本。

您可以做的是编写一个包装函数,部署为 web_action 或 cloud_function。因此,不需要太多的计算资源,费用也很低。但同样,与行动类型无关,总会有成本(也许不是收费)——一种或另一种方式......

【讨论】:

以上是关于IBM Watson Assistant:如何通过对话进行 API 调用的主要内容,如果未能解决你的问题,请参考以下文章

尝试通过 Axios (React Native) 访问 IBM Watson Assistant 消息时出现错误 500

如何在 IBM Watson Assistant 客户端中实现“客户端”类型的操作?

从 IBM Watson Assistant 获取我的聊天机器人中的选项列表

IBM Watson Assistant 响应来自机器人的延迟

Watson Assistant 使用 Twilio 与电话集成

找不到Watson Assistant登录名