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

How to implement "client" type action in IBM Watson Assistant client?

我正在使用 IBM Watson Assistant 服务来构建 AI 聊天机器人,目前我正在为此构建客户端 UI,因此根据 IBM 的文档,他们支持使用函数触发外部业务逻辑的各种操作。我假设 "client" 类型的操作可以帮助我触发一些 javascript 函数,但我在 google 上看不到任何工作示例。所以请帮助我在我的 html/javascript 客户端中实施 "client" 类型的操作。

检查此帖子中的问题 - https://developer.ibm.com/answers/questions/477020/help-with-custom-actions-for-ibm-watson-assistant/

客户端操作分为两部分。第一个是在对话框中,它表示需要一个动作,以及应该放置动作结果的位置。客户端操作要求您有一个编排层。这意味着您可以控制对话流和正在做出反应的编排层。这取决于你如何让他们协调。您没有义务遵循任何模式。最简单的方法是使用上下文。该对话框设置上下文变量,例如。 'PleaseDoSomething',应用程序看到它并做一些事情。

文档化的客户端操作构造是一个规范,它为这个过程设置了一个结构;允许其他编排层理解操作;允许您相对轻松地切换到 Cloud Functions。

如果使用客户端操作构造。

那么对话框 json 将类似于:

{
  "output": {
    "text": {
      "values": [
        "Hang on I need to look that up."
      ],
      "selection_policy": "sequential"
    },
    "actions": [
     {
       "name": "fetchBalance",
       "type": "client",
       "result_variable": "balance"
     }
   ]
  }
}

您的编排层查找 'Actions',运行 'fetchBalance' 并将结果放入上下文字段 'balance'。