1

我通过Google Actions Builder(不是 SDK)为Google Assistant创建了一个项目。我成功连接了我的 webhook(实现),但发现没有类似于Dialogflow 中的@sys.any的意图,以允许将任何用户响应发送回我的 webhook。每次触发 NO_MATCH 意图时,最终都会结束对话。

我已经将我的履行设计得很稳健以适应一系列答案,并希望 Google 上的 Actions 继续将任何答案发送回我的履行,但是我找不到允许任何答案触发我的 webhook 的意图。是否有一个简单的意图(场景)来调用每个响应?

还是连接到 Google Assistant 以使用 Dialogflow 是一个更好的方向,因为我看到 Dialogflow 使用@sys.any意图来捕获任何单词以实现我的成就?

4

2 回答 2

2

要清楚 -@sys.any在 Dialogflow 中是实体类型,而不是意图。

虽然您可以制作一个单独使用的 Dialogflow Intent @sys.any,但通常不应该 - 使用 Context-limited Fallback Intent 是一种更好的处理方式。

Actions Builder 有一个类似的概念,但并不完全相同。

虽然没有内置@sys.any类型,但您可以创建自己的类型,其工作方式完全相同:

  1. 在左侧导航中,展开类型部分,然后单击展开区域底部的+图标。
  2. 给它一个名字——我倾向于使用“任何”。
  3. 在类型定义中,选择“自由格式文本”选项。

您现在可以创建使用此“任何”类型的 Intent 或 Slot。

流程描述的屏幕插图

于 2020-07-30T12:20:58.430 回答
0

感谢Prisoner为我指明了正确的方向。一旦我分配给一个意图然后是场景,自由格式文本类型就发挥了作用然后分配给意图的信息很棘手,并且还使用了这个很好的资源: https ://support.google.com/actions-console/answer/9802296?hl=en

创建“Any”类型后,我创建了一个名为“UserProvidesAnything”的意图,并将“Any”类型添加为插槽。我添加了一个训练短语,例如:blah blah blah(任何文本)并将我的“任何”自由形式类型分配给这个短语。

UserProvidesAnything” Intent 已添加到场景的自定义 Intent 处理中,并且我的 webhook 已成功调用。每个 webhook 响应都会重新激活这个场景,并且任何文本都会被传回。感谢您

于 2020-07-30T23:04:11.447 回答