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

标签 java ibm-cloud bots ibm-watson watson-conversation

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

最佳答案

没有直接的方法可以做到这一点。但是,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
  }
}

关于java - 如何让 Watson Conversation Api 在用户输入时调用 Web 应用程序 Url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40263747/

相关文章:

java - 在 Spring Session 中禁用多 session 支持

java - PetitParser:是否有像 plus() 但有上限的解析器?

ibm-cloud - 如何删除我的 bluemix 帐户 ID?

azure - Bot 框架编写器无法发布到 Azure LUIS 错误

javascript - Discord.js 搜索关键词

java - 是否可以向匿名类添加属性而不是仅覆盖其方法?

javaquartz调度程序立即启动新工作

ibm-mobilefirst - Bluemix 是否支持 MBaaS(移动后端即服务)?

node.js - 如何在 Node.js 本地开发中集成 IBM Watson Assistant 服务

php - 这个简单的反垃圾邮件概念有效吗? (需要优化吗?)