Действие в Google работает, но с агентом Dialogflow не работает - PullRequest
0 голосов
/ 07 июня 2018

У меня есть проект с Actions on Google, Dialogflow & AWS Lambda для управления выполнением.В бэкэнде (NodeJs) я использую actions-on-google (v2)

const {dialogflow} = require('actions-on-google');
const app = dialogflow({debug: true});

app.intent('StartIntent', (conv) => {
  console.log('Hello AWS');
  conv.ask('Hello AWS');
});
exports.handler = app

Диалоговое окно настроено с одним Намерением StartIntent & с выполнением webhook.

Кажется, что все работает нормальнотест с действиями на симуляторе Google.Я получил ожидаемый ответ «Hello AWS».

Однако он не работает с имитатором диалогового потока.Ответа нет, хотя я могу прочитать «Информация о выполнении веб-крюка» в «Диагностической информации» с правильным ответом о выполнении:

{
  "payload": {
    "google": {
      "expectUserResponse": true,
      "richResponse": {
        "items": [
          {
            "simpleResponse": {
              "textToSpeech": "Hello AWS"
            }
          }
        ]
      },
      "userStorage": "{\"data\":{}}"
    }
  },
  "outputContexts": [
    {
      "name": "projects..../_actions_on_google",
      "lifespanCount": 99,
      "parameters": {
        "data": "{}"
      }
    }
  ]
}

Это кажется мне очень странным, поскольку действия в Google просто вызывают вызовк диалогу, и это возвращает хороший ответ.Принимая во внимание, что тестирование одного только диалогового процесса не работает.

Есть идеи?

1 Ответ

0 голосов
/ 07 июня 2018

Это ожидается.Библиотека actions-on-google настроена на интеграцию с Google Assistant.Он не пытается включить вывод, который будет использоваться универсальными агентами Dialogflow, что и используется в тестовом поле Dialogflow.

Если он работает в Assistant Simulator - вам должно быть хорошо.

Обновление

Если быть точным, библиотека actions-on-google устанавливает значения в payload.google.richResponse в ответе JSON, которые задают сообщения, отображаемые помощником Google.Как следует из названия, это специфический для Google вывод, поэтому боковая панель теста Dialogflow (как и другие агенты, работающие с Dialogflow) игнорируют этот раздел.

Dialogflow имеет общие способы отправки сообщений обратно, включаяfulfillmentText и fulfillmentMessages поля в ответе JSON.Боковая панель теста Dialogflow использует эти поля для отображения результатов.Библиотека actions-on-google не устанавливает и не использует эти поля, поэтому результаты недоступны.

...