【问题标题】:Dialogflow Slots Via Mutiple Call通过多个调用的 Dialogflow 插槽
【发布时间】:2020-12-26 03:59:59
【问题描述】:

在 Dialogflow 代理中,我有一个具有多个插槽的意图,并且所有这些都是必需的。一次提供所有插槽的信息是不可能的。

例如

我打算使用三个插槽: i) 电子邮件 ii) 电话 iii)出生日期(DOB)

我希望它工作的方式是询问电子邮件,用户提供电子邮件,然后询问电话,然后询问 DOB。我正在使用 Dialogflow NodeJS 客户端 API 向代理发出请求。

到目前为止,当我发出第一个请求(传递查询/话语)来检测意图时,它会检测到意图,现在当我传递值时,它会进入默认回退。

另外,使用 webhook 填充槽对我来说不是一个选项,因为代理将由客户端 api 调用。

我尝试使用事件而不是 queryText,但也无法正常工作。

【问题讨论】:

  • 文档中有一个示例,我理解这就是您想要的。你关注cloud.google.com/dialogflow/es/docs/…了吗?
  • 是的,我已经关注了这个,但这是一个非常简单的例子,在我的用例中不起作用。
  • 您是否正确传递了会话 ID?可以发布您用来拨打电话的代码的 sn-p 吗?您是否在 Node.js 库中提出过问题?

标签: google-cloud-platform dialogflow-es dialogflow-es-fulfillment google-api-nodejs-client


【解决方案1】:

找到答案,最初我是 Dialogflow 库 (Dialogflow NodeJS ) 提供的示例代码。问题是每次请求都会生成一个新的 sessionId ,当 sessionId 相同时,插槽会被填满。

因此,我没有使用 UUID 为每个请求生成 sessionId,而是将 sessionId 与查询一起传递以形成请求正文。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-29
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多