使用 Java 将变量传递给 IBM Watson Conversation Dialog
Using Java to pass variables to IBM Watson Conversation 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
”的变量中。
我会将消息“取消我的送货”连同estimatedDeliveryDate
发送给 Watson,以便对话框响应“您的订单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 代码与 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
”的变量中。
我会将消息“取消我的送货”连同estimatedDeliveryDate
发送给 Watson,以便对话框响应“您的订单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