当用户输入输入时,如何使 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?的主要内容,如果未能解决你的问题,请参考以下文章