Как обработать ответ списка Dialogflow - PullRequest
1 голос
/ 27 января 2020

Я разрабатываю приложение для Google Assistant, используя Dialogflow (используя онлайн-интерфейс Dialogflow, без какого-либо внешнего сервера).

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

Я также сделал намерение, в котором перечислены все продукты, которые вы можете просмотреть. В качестве ответа он показывает «Список» Google Assistant, в котором отображаются названия всех элементов. Но когда я щелкаю один из элементов, он набирает его имя («Продукт 1»), но имя элемента не распознается, и у меня появляется запасной вариант. Хотя списки могут работать как фишки для предложений, но, похоже, ответы по-разному интерпретируются.

При поиске примеров я мог только найти примеры использования Dialogflow API из кода (https://actions-on-google.github.io/actions-on-google-nodejs/classes/conversation_helper.list.html), и кажется, что ответы в списке обрабатываются с особым типом намерения.

Есть ли способ обработки ответа списка непосредственно из онлайн-интерфейса Dialogflow?

1 Ответ

2 голосов
/ 28 января 2020

Он не обрабатывает интерфейсы List или Carousel так же, как он обрабатывает подсказки. Как вы заметили - они запускают специальное Событие, для которого вы, как ожидается, создадите Намерение.

Есть несколько причин для этого, но одна хорошая причина в том, что они, как правило, довольно динамичны c (они предназначены для представления таких вещей, как результаты поиска), поэтому управление ими с помощью Session Entity может оказаться более сложным.

Вы можете использовать встроенный редактор Dialogflow * чтобы справиться с ними. По сути, это то же самое, что использование сервера выполнения - однако Dialogflow обрабатывает большую часть управления сервером для вас.

...