java - 使用 Java 将变量传递到 IBM Watson Conversation Dialog

标签 java watson-conversation watson-dialog

我目前正在尝试将一些 Java 代码与 Watson Conversation Dialog 集成。目前,我正在使用以下代码将简单的文本输入传递到 Watson 对话框:

    MessageRequest emptyReq = new MessageRequest.Builder().inputText(" ").build();

    MessageResponse response1 = service.message(workspaceId, emptyReq).execute();

    MessageRequest req1 = new MessageRequest.Builder().inputText("cancel my delivery").context(response1.getContext()).build();

    MessageResponse response2 = service.message(workspaceId, req1).execute();

此代码按预期工作并且响应正确。但是,我不确定如何在消息中传递变量,然后由对话框解释该变量。

例如,假设我将日期存储在名为“estimatedDeliveryDate”的变量中。

我将向 Watson 发送消息“取消我的送货”以及estimatedDeliveryDate,以便对话框响应“您的订单将于 到期” >estimatedDeliveryDate 现已取消”。

任何帮助将不胜感激,谢谢。

最佳答案

在工具中,转到您的节点,单击铅笔进行编辑。然后添加

"context": {
    "estimatedDeliveryDate": "today"
 }

然后在输出部分你可以写:

"output": {
    "text": {
      "values": [
        "Your reservation for  <? $estimatedDeliveryDate ?>  got canceled"
      ]
  }

显然,您可以用从输入捕获的动态值替换today。为此,请使用@sys-date。请参阅https://www.ibm.com/watson/developercloud/doc/conversation/system-entities.html

关于java - 使用 Java 将变量传递到 IBM Watson Conversation Dialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42652515/

相关文章:

java - 如何使用 ProcessBuilder 设置工作目录

java - 将 Element 对象转换为 Int?

javascript - 如何在 Watson Conversation 中使用“选择选项”

ibm-watson - 当 Watson Assistant 聊天连续给出相同意图时如何触发对话框?

ibm-cloud - 如何从 Watson 对话 API 中的用户输入获取日期?

ibm-watson - 我如何使用 Watson Conversation 确定否定答案

java - 如何在 Spring Boot 控制台应用程序中验证实体?

java - Appium无法启动的问题

javascript - 如何使用 Watson Conversation 在屏幕上显示多条消息

java - IBM Watson 无法在企业网络中工作