Слотфиллинг сущностей не доходит до полной реализации - PullRequest
0 голосов
/ 06 января 2019

У меня странная проблема с бэкендом dialogflow / node.js.

Внутри Dialogflow у меня есть две сущности "color" и "order_amount". Я установил сущности в соответствии с намерением. Но только один из обязательных объектов отправляется обратно в мой бэкэнд, а другой не определен. Хотя оба они получены в диалоге.

app.intent('Default Welcome Intent - yes', (conv, {product_color}, {order_amount}) => {

    console.log({product_color});
    console.log({order_amount});
    conv.ask(`Top. In welke maat?`);

});

Так, например, когда это намерение выполняется, заполнение слотов выполняется в диалоговом потоке. Но у меня определена только первая сущность, например, {color} и {order_amount} не определены. Когда я переключаю {product_color} и {order_amount}, как показано ниже. Тогда product_color не определен.

app.intent('Default Welcome Intent - yes', (conv, {order_amount}, {product_color})

Кто-нибудь знает, что происходит?

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Проблема в том, что вы исправляете свой JavaScript. Второй параметр функции содержит объект со всеми параметрами Intent. Синтаксис {name1} в JavaScript отображает имена атрибутов объекта в переменную. Таким образом, вы можете переписать строку как

app.intent('Default Welcome Intent - yes', (conv, {product_color,order_amount})
0 голосов
/ 06 января 2019

Получил ответ сам. Вы можете использовать «params»: https://actions -on-google.github.io / actions-on-google-nodejs / classes / dialogflow.dialogflowconversation.html # parameters

...