当用户输入输入时,如何使 Watson Conversation Api 调用 Web 应用程序 URL?

Posted

技术标签:

【中文标题】当用户输入输入时,如何使 Watson Conversation Api 调用 Web 应用程序 URL?【英文标题】:How to make Watson Conversation Api Invoke a web Application Url when User Enters an Input? 【发布时间】:2017-03-08 21:45:18 【问题描述】:

我有一个 spring mvc 应用程序,我想让我的用户调用一个机器人,并且基于用户输入的机器人应该访问一个 url 并根据响应提供一个答案。我如何在 Java 中实现这一点?

【问题讨论】:

【参考方案1】:

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

这是通过使用两个功能来完成的: 上下文请求 跳过用户输入

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
  

【讨论】:

要完成上述操作,您需要点击 Watson Response -> Advanced 如何通过电话调用 Watson 对话 @briantaurostack7 你能详细说明一下吗?您可以在 Watson Conversation 旁边使用 Watson STT 和 TTS。我建议你为此打开一个不同的问题。 @Dudi 我的应用程序是否应该在上下文中查找“skip_user_input”并决定立即调用对话服务?或者会话服务本身是否继续到下一个节点,在这种情况下我不明白请求是如何执行的...... 您的应用需要处理请求,它通常会更新一些上下文变量。对话将在下一次 api 调用中自动跳过输入。正如它在 api 调用中看到的 skip_user 【参考方案2】:

借助 IBM 云功能,现在可以使用此功能。 link 有实现的细节。

【讨论】:

以上是关于当用户输入输入时,如何使 Watson Conversation Api 调用 Web 应用程序 URL?的主要内容,如果未能解决你的问题,请参考以下文章

如何使选择输入出现在点击

如何使用 Jquery 使用户从确认框中的输入框中取消焦点?

IBM Watson Slots 不接受 0

当用户单击视图的背景时,如何使键盘消失?

如何使输入文本字段用*替换任何字符? [复制]

当用户输入超过预期的参数时,强制 VBA 中的 UDF 显示 MsgBox?