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

bri*_*ck7 3 java bots ibm-watson watson-conversation ibm-cloud

我有一个spring mvc应用程序,我想让我的用户调用一个机器人,基于用户输入的机器人应该访问一个URL并根据响应提供答案.我怎样才能在Java中实现这一点?

Dud*_*udi 10

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

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

A request是一个特殊的上下文变量,它具有args,name和result.它用于告诉调用应用程序它应该根据此变量执行某些操作.

设置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
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 您的应用需要处理请求,它通常会更新一些上下文变量.会话将自动跳过下一个api调用中的输入.因为它在api调用中看到skip_user (2认同)