如何使 Watson Conversation Api 在用户输入时调用 Web 应用程序 Url?

How to make Watson Conversation Api Invoke a web Application Url when User Enters an Input?

我有一个 spring mvc 应用程序,我想让我的用户调用一个机器人,并且基于用户输入的机器人应该访问 url 并根据响应提供一个 answer.How 我可以在 Java 中实现吗?

没有直接的方法。但是,Watson Conversation 确实提供了一种机制来处理此类请求。 您需要告诉调用 Java 应用需要调用 url。

这是通过使用两个功能完成的: Context.request skip_user_input

A request 是一个特殊的上下文变量,具有参数、名称和结果。 它用于告诉调用应用程序它应该根据这个变量执行一些操作。

设置skip_user_input是可选的。在许多情况下,您可能希望在您的应用程序中执行一些业务逻辑,然后通过 result 提供其结果。将 skip_user_input 设置为 true,将告知 Watson Conversation 不等待用户输入。因此,您在下一个节点上的条件应该基于result 中的内容。

{
  "output": {},
  "context": {
    "request": {
      "args": {
        "url_to_invoke": "your_url"
      },
      "name": "Call_A_URL",
      "result": "context.response"
    },
    "skip_user_input": true
  }
}

在 IBM 云功能的帮助下,此功能现已可用。 link 有实现的细节。