Агент Dialogflow работает в симуляторе Google, не работает в консоли и веб-ссылке - PullRequest
0 голосов
/ 30 июня 2018

Я использую Dialogflow V2 API.

Все отлично работает при тестировании через Действия на симуляторе Google. Пожалуйста, найдите картинку прилагается.

Однако при попытке использовать консоль (правый столбец) в Dialogflow, а также ссылку веб-интеграции, она не работает.

Агент может обнаружить соответствующий объект из пользовательского ввода, но не может вызвать намерение, объявленное в webhook. https://bot.dialogflow.com/acc64a26-8d1d-4459-8ce0-24c890acb6d7

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

Изображение агента симулятора Google (работает):

enter image description here

Изображение агента публичной ссылки (не работает):

enter image description here

Изображение ответа, объявленное как в js-файле webhook, так и в консоли:

enter image description here

Пожалуйста, найдите часть моего сайта index.js ниже. Я использую встроенный редактор Dialogflow.

'use strict';

const functions = require('firebase-functions')
const { dialogflow } = require('actions-on-google')

const app = dialogflow()

app.intent('Default Welcome Intent', conv => {
  conv.ask('Welcome to Zera! We provide medicine and drug advice. What seems to be bothering you today?')
})

app.intent('QSpecific Problem', (conv, {SpecificProb}) => {
  conv.contexts.set('specificprob', 10, {SpecificProb: SpecificProb})
  conv.ask(`Do you have these problems before?`)
})

app.intent('QRecurring', (conv, {Recurring}) => { 
  conv.contexts.set('recurring', 10, {Recurring: Recurring})
  if (Recurring === "Recur") { 
    conv.ask(`Have you taken any medication for this?`);    
  } else { 
    const specProb = conv.contexts.get('specificprob')
    conv.ask(`How long have you been having this ${specProb.parameters.SpecificProb}?`) 
  } 
})


exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app)

1 Ответ

0 голосов
/ 15 апреля 2019

Я действительно написал в службу поддержки Dialogflow, чтобы обратиться за помощью. Я говорил с Riel, который был очень полезным. Пожалуйста, смотрите его ответ ниже:

Ваш агент работает должным образом в Действиях в Google Simulator, потому что используемая вами библиотека предназначена специально для действий в Google. используемая вами библиотека - это Действия в клиентской библиотеке Google Node.js.

Если вы хотите также использовать интеграцию демонстрации в Интернете для ваших ответов, Вы можете использовать библиотеку выполнения Dialogflow, которая имеет интеграцию с помощью Google Assistant с использованием клиентской библиотеки AoG.

Вы можете обратиться к этому примеру кода для вашего выполнения. 'используйте строгий';

const functions = require('firebase-functions');
const { WebhookClient } = require('dialogflow-fulfillment');

process.env.DEBUG = 'dialogflow:debug';

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response });

function welcome(agent) {
let conv = agent.conv();
conv.ask('Welcome to my agent!');
agent.add(conv);
}

let intentMap = new Map();
intentMap.set('Default Welcome Intent', welcome);
agent.handleRequest(intentMap);
});

Служба поддержки Dialogflow очень полезна, и их ответы очень быстрые. Я рекомендую вам написать, потому что все проблемы разные и довольно специфические! Вы можете связаться с ними по адресу support@dialogflow.com

...