2

我目前正在尝试将一些 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现已取消”。

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

4

1 回答 1

3

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

"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

于 2017-03-07T22:51:22.787 回答