Я хочу, чтобы приложение-помощник Google сначала общалось с моим веб-сервером, а затем с диалоговым потоком

Я хочу, чтобы приложение Google Assistant сначала общалось с моим веб-сервером, а затем с Dialogflow. То, как DialogFlow документируется, помощник сначала говорит с ним, а затем он передается моему webhook. Я хочу сделать это по-другому.

Техническая архитектура помощника Google

1

Решение

Чтобы помощник Google мог общаться напрямую с вашим сервером (без промежуточного диалога), вам нужно использовать Действия SDK. Вы создадите actions.json файл, который определяет информацию о запуске и URL для веб-крючка. (Вы не можете избавиться от webhook — просто измените, как он называется.) Ваш webhook будет вызываться с JSON, формат которого отличается от формата JSON Dialogflow, или вы можете использовать библиотеку node.js, имеющую аналогичный интерфейс. к версии Dialogflow.

Ваш webhook может затем вызвать Dialogflow, используя / конечная точка запроса (для Dialogflow V1 API) или сообщение об обнаружении (для Dialogflow V2 API). Вы можете отправить ему текст от пользователя или событие, указывающее действие пользователя (или, действительно, все, что вы хотите) вместе с параметрами и контекстами, которые вы пожелаете. Dialogflow отправит ответ либо из своего раздела ответа, либо отправив его другой выполнение webhook — все, что вы выберете.

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

Есть некоторые образцы для использования Actions SDK хотя ни один из них не иллюстрирует вызов Dialogflow из webhook. (Это не очень распространенная модель — большинство вариантов использования работают лучше, чем другие.) образцы для Dialogflow в основном для веб-хуков, хотя «передача агента от человека» действительно иллюстрирует отправку в Dialogflow из вашего кода.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]