Использование Java для передачи переменных в диалоговое окно IBM Watson Conversation Dialog

В настоящее время я пытаюсь интегрировать некоторый код Java с диалоговым окном Watson Conversation. На данный момент я использую следующий код для передачи простого текстового ввода в диалоговое окно 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, отменен".

Любая помощь будет принята с благодарностью, спасибо.


person ilzeilvld    schedule 07.03.2017    source источник


Ответы (1)


В Tooling перейдите к своему узлу, нажмите на карандаш для редактирования. Затем добавьте

"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

person Dudi    schedule 07.03.2017