Dialogflow es 操作\u意图\u取消未按预期工作

Dialogflow es 操作\u意图\u取消未按预期工作,dialogflow-es,actions-on-google,google-assistant-sdk,google-home,Dialogflow Es,Actions On Google,Google Assistant Sdk,Google Home,我正在努力跟随作者写的关于媒体的伟大文章。当用户发出“退出”等全局取消命令时,我希望我的操作以“再见”消息响应。我已尝试按照Jessica提供的说明进行操作,如下所示: 将操作\u意图\u取消事件添加到我的最终意图中 了解更多-不-不是我的最终意图。正如您在下面看到的,当我尝试在事件下添加“actions\u intent\u CANCEL”时,我无法将其视为下拉列表中的建议 但考虑到行动(u intent)和(u CANCEL)的存在,我添加了它 错误 我保存了意图并在web模拟器中进行了

我正在努力跟随作者写的关于媒体的伟大文章。当用户发出“退出”等全局取消命令时,我希望我的操作以“再见”消息响应。我已尝试按照Jessica提供的说明进行操作,如下所示:

将操作\u意图\u取消事件添加到我的最终意图中

了解更多-不-不是我的最终意图。正如您在下面看到的,当我尝试在事件下添加“actions\u intent\u CANCEL”时,我无法将其视为下拉列表中的建议

但考虑到行动(u intent)和(u CANCEL)的存在,我添加了它

错误 我保存了意图并在web模拟器中进行了尝试,我看到了下面的错误


知道我为什么会出现这个错误吗?

是的,
操作\u意图\u取消
将从文档以及Dialogflow中的事件下拉列表中删除。 因此,要退出对话,您可以尝试以下操作:--

(1) 创建一个实体条目,其中包含退出对话的所有引号,例如:--再见,再见,bbye,稍后再谈

(2) 做出一个意图,举例说明用户离开对话,例如:-我有一些工作,现在再见

(3) 然后选择意图底部的结束对话点击,以便对话以示例响应结束

(4) 此外,还可以为“再见/取消”提供一个建议示例,以实现更好的对话流程


使用上述步骤,您可以模拟
操作\u意图\u取消
事件

直接在中键入
操作\u意图\u取消
是完全合适的。下拉列表中的大多数都是表示欢迎的意图,而不是可能发生的对话事件。您有正确的操作名称

听起来你处理得很正确。您还需要做的唯一一件事是明确地结束对话

如果您使用webhook来实现,那么如何实现这一点取决于您使用的库(假设您使用的是库)

如果您正在使用google library上的操作,您将使用
conv.close()
函数:

conv.close(`Okay, let's try this again later.`);
使用dialogflow实现库,它将是
agent.end()

如果使用的是multivocal,则可以将环境设置
ShouldClose
设置为true,或者在响应中将其设置为true

  Response: {
    "Action.multivocal.welcome": [
      {
        Template: {
          Text: "Hello world."
        },
        ShouldClose: true
      }
    ]
  }
如果您使用的是JSON,那么可以将
payload.data.expectUserResponse
设置为false

最后,如果您没有使用webhook来实现,而只是使用Dialogflow的Responses部分,那么您应该打开“将此意图设置为对话结束”

  Response: {
    "Action.multivocal.welcome": [
      {
        Template: {
          Text: "Hello world."
        },
        ShouldClose: true
      }
    ]
  }