Невозможно обновить диалоговый узел в службе разговоров Watson через красный узел - PullRequest
0 голосов
/ 01 марта 2019

В узле-красном в облаке IBM.Я могу использовать узел IBM Watson «Помощник менеджера рабочего пространства» для получения определенного диалогового узла.Однако я не могу использовать тот же «помощник менеджера рабочей области» для обновления диалогового узла.Я получаю сообщение об ошибке «Недопустимое тело запроса».

Это не вопрос неправильных учетных данных, потому что я использую одинаковые учетные данные для обоих экземпляров.

Ниже приведен код в моем функциональном модуле, который передает информацию моему «помощнику менеджера рабочего пространства»узел, чтобы он мог обновить узел диалога в моей рабочей области разговора Уотсона.

var uptime = msg.payload[1].d.uptime;
var message = "Server uptime is " + uptime + " seconds.";
msg.topic = "";
msg.dialog_node.output.generic[0].values[0].text = message;
msg.payload = msg.dialog_node;
return msg;

Я буквально взял узел диалога, который был возвращен мне, и объединил его с сообщением, содержащим информацию, которую я хотел ввести,затем изменил полезную нагрузку (прежде чем пытаться обновить мой диалоговый узел) так, чтобы полезная нагрузка выглядела точно так же, как диалоговый узел, который был возвращен мне (за исключением текста для измененного сообщения).

В прошлом я успешно делал это, вручную форматируя объект msg.payload, аналогичный тому формату, в котором он возвращается. Я также пытался это сделать, но когда это не сработало, я попытался использовать этот метод.

Буду признателен за любой совет.

Заранее спасибо.

1 Ответ

0 голосов
/ 01 марта 2019

Это потому, что базовый SDK Node.JS для watson-developer-cloud был обновлен.https://cloud.ibm.com/apidocs/assistant?code=node#update-dialog-node

В указанном вами JSON должно быть хотя бы одно поле с префиксом new_ в качестве ключа.

Итак, в этом примере условие обновляется:

{
  "type":"standard",
  "title":"Entry Point For Up Down Commands",
  "output":{},
  "context":
    {
      "appl_action":"increase"
    },
  "next_step":
    {
      "behavior":"jump_to",
      "selector":"condition",
      "dialog_node":"node_11_1467233013716"
    },
  "new_conditions":"#turn_up",
  "dialog_node":"Entry Point For Up Down Commands",
  "previous_sibling":"node_1_1487022155950"
}

Мне нужно изменить вкладку информации узла с этой информацией.

...