【问题标题】:How to handle Dialogflow list response如何处理 Dialogflow 列表响应
【发布时间】:2020-01-27 17:32:19
【问题描述】:

我正在使用 Dialogflow 为 Google Assistant 开发一个应用程序(使用 Dialogflow 在线界面,没有任何外部服务器)。

我有一份产品清单。每个产品都有一个使用其产品名称训练的意图。 例如,如果我说“产品 1”,助手会向我显示有关“产品 1”的一些信息。

我还制定了一个意图,列出您可以浏览的所有产品。作为响应,它显示了一个 Google 助理“列表”,其中显示了所有项目的名称。 但是当我单击其中一个项目时,它会输入其名称(“产品 1”),但项目名称无法识别,我得到了回退意图。 我虽然列表可以像建议芯片一样工作,但看起来答案的解释不同。

通过查找示例,我只能从代码 (https://actions-on-google.github.io/actions-on-google-nodejs/classes/conversation_helper.list.html) 中找到使用 Dialogflow API 的示例,而且列表答案似乎是通过特殊类型的意图处理的。

有没有办法直接从 Dialogflow 在线界面处理列表响应?

【问题讨论】:

    标签: dialogflow-es actions-on-google


    【解决方案1】:

    它处理列表或轮播界面的方式与处理建议芯片的方式不同。正如您所注意到的 - 它们触发了一个特殊事件,您应该为其创建一个 Intent。

    造成这种情况的原因有很多,但一个好的原因是这些往往是相当动态的(它们旨在表示搜索结果之类的东西),因此必须使用会话实体来管理这些可能会更加困难.

    可以使用Dialogflow Inline Editor 来处理它们。这与使用履行服务器基本相同 - 但是 Dialogflow 会为您处理大部分服务器管理。

    【讨论】:

    • 谢谢!我没有考虑过内联编辑器。处理列表响应效果很好(我可以将选定的选项作为字符串获取),但我找不到“重定向”到特定意图的方法。我尝试使用conv.followup 传递事件,但我的“产品”意图也应该可以直接调用而无需任何列表点击,所以我不能真正将它们用作“跟进”,对吧?
    • 抱歉,我做错了,我认为向意图添加事件会阻止“手动”调用它。但它没有,所以我只是在所有产品中添加了一个事件关键字并使用conv.followup("productName") 来触发意图。它似乎工作正常。再次感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 2018-06-20
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    • 2014-12-19
    相关资源
    最近更新 更多