DialogFlow, ответы Google Assistant и API определения намерений - PullRequest
0 голосов
/ 22 ноября 2018

Я хочу использовать агент DialogFlow (DF), чтобы он интегрировался с веб-сайтом.Поэтому я намерен использовать API обнаружения намерений.

В агенте DF я замечаю, что если я просто использую ответы по умолчанию для DF, то это просто текстовые ответы.В качестве альтернативы, если я хочу использовать мультимедийные ответы, я использую ответы Google Assistant, а JSON, который выводит агент, принципиально отличается (поскольку при использовании таких вещей, как фишки подсказок, у них разные JSON).

MyВопрос в том, стоит ли использовать ответы помощника Google, даже если я не собираюсь пользоваться помощником Google.Я знаю, что могу также использовать вариант выполнения для предоставления мультимедийных ответов, но я предпочитаю использовать ответы на основе графического интерфейса Google Assistant.Есть ли какие-либо недостатки в использовании ответов Google Assistant (GA) таким образом?

Чтобы привести пример, я создал намерения, в которых используются микросхемы подсказок GA, а выходные данные агента дают такие ответы вJSON:

  {
    "platform": "ACTIONS_ON_GOOGLE",
    "suggestions": {
      "suggestions": [
        {
          "title": "Suggestion Chip 1!"
        },
        {
          "title": "Suggestion 2!"
        }
      ]
    }
  },

Мое намерение состоит в том, чтобы использовать API Detect Intent, а затем добавить логику в мой графический интерфейс для интерпретации таких вещей, как подсказки, и затем отображать их соответствующим образом.

1 Ответ

0 голосов
/ 24 ноября 2018

Основная причина не использовать Действия в ответах Google заключается в том, что вы не являетесь помощником клиента.

  • Google может изменить формат ответа (он был в прошлом), и вам нужно будет изменить свой.
  • У вас могут быть другие требования к графическому интерфейсу, чем у Ассистента, ипопытка заставить себя принять участие в их модели может ограничить ваши действия.

Вместо этого Dialogflow позволяет встраивать в ответ контент, относящийся к платформе, поэтому вы можете включить в ответ любую информацию в любом формате..

Обновление для уточнения ответа.

В ответе JSON, который отправляет ваш веб-крючок, вы можете включить поле payload, которое является объектом JSON, содержащимчто вы хотите.Для Actions в Google он помещает данные в поле google под полезной нагрузкой, которая содержит специфическую информацию AoG.Вы можете создать свое собственное поле и поместить в него любой формат в любом формате.

Таким образом, ваш JSON может выглядеть примерно так:

{
  "fulfillmentText": "Normal message here."
  "payload": {
    "myDisplayFormat": {
      "suggestions": [
        "Suggestion 1",
        "Suggestion 2"
      ]
    }
  }
}

Преимущество в этом, а не вИспользуя ответ AoG, вы можете указать любую дополнительную информацию, которая нужна вашему агенту.Например, вы можете включить здесь цвет текста или информацию о шрифте, если вы хотите, чтобы все было по-другому.Если вам нужны дополнительные кнопки, которые идут по разным URL-адресам или запускают разные вещи на вашей странице, вы можете включить их здесь.Самое главное - это полностью под вашим контролем, вы не подчиняетесь тому, что Google решит сделать.

Все в разделе payload передается без изменений вашему вызову API в поле queryResult.webhookPayload.

...