首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对话框流代理在Google模拟器中工作,控制台和web链接失败

对话框流代理在Google模拟器中工作,控制台和web链接失败
EN

Stack Overflow用户
提问于 2018-06-30 06:57:43
回答 1查看 706关注 0票数 2

我正在使用对话框流V2 API。

通过在谷歌模拟器上的操作测试,一切都很完美。请参阅附图。

但是,当尝试在对话框流中使用控制台(右列)以及web集成链接时,它无法工作。

代理能够从用户输入中检测到适当的实体,但无法调用web钩子中声明的意图。https://bot.dialogflow.com/acc64a26-8d1d-4459-8ce0-24c890acb6d7

我试图在对话流论坛张贴,但有一个错误的张贴。类似的情况下,提高支持与对话流。

Google模拟器代理(Works)图像:

公共链接代理的图像(失败):

在web钩子js文件和控制台中声明的响应图像:

请在下面找到我的index.js钩子的一部分。我正在使用Dialogflow的内联编辑器。

代码语言:javascript
复制
'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)

EN

回答 1

Stack Overflow用户

发布于 2019-04-15 09:31:46

我实际上写信给Dialogflow的支持小组寻求帮助。我和里尔谈过了,他很有帮助。请参阅他的答复如下:

您的代理在Google模拟器上的操作中按预期工作,因为您使用的库是专门用于Google上的操作的。您一直使用的库是Google Node.js客户端库上的操作。 如果您也希望在您的响应中使用web演示集成,您可以使用Dialogflow的实现库,它与使用AoG客户端库的Google集成在一起。 您可以参考此示例代码来实现。“严格使用”; const函数=require(‘firebase- const’);const { WebhookClient }=require(‘dialogflow- Intent’);process.env.DEBUG =‘对话框流:调试’;exports.dialogflowFirebaseFulfillment =functions.https.onRequest((请求、响应) => {const agent =新WebhookClient({ request,response });函数欢迎(Agent){ let conv = agent.conv();conv.ask(‘欢迎来到我的代理!’);agent.add(conv);} let intentMap =新地图();intentMap.set(‘默认欢迎意图’,欢迎);agent.handleRequest(intentMap);};

Dialogflow的支持团队非常有帮助,他们的回复也非常快。我建议你写,因为每个人的问题是不同的和相当具体的!你可以在support@dialogflow.com联系到他们

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51112543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档