DialogFlow 在不等待语音命令的情况下保持会话打开
DialogFlow keep session open without waiting for a voice command
我正在开发一个 Dialogflow 项目,我需要一种方法 tell
或 ask
用户无需等待语音命令,但我还需要会话保持打开状态。
我不能使用 tell
因为它基本上会立即终止会话。
Ask
始终等待用户的语音命令。如果它无法获得任何语音命令,那么它就会结束对话。
假设用户在该状态下有多个选项,并且用户可以随时说出可用命令之一,如 next
或 previous
,流程将继续工作。
比如我们得到我们想要的状态然后:
user: next
google-home: got it! (Do not kill the session here and do not expect user voice command)
after 10 minutes...
user: previous
google-home: got it! (Do not kill the session here and do not expect user voice command)
在 DialogFlow 中是否有任何构建方式可以实现此目的。
谢谢。
不,目前这是不可能的,通常这是一个糟糕的设计目标。 Google 一般不鼓励打开麦克风,因为这可能是一个隐私问题。
您有几种解决方法:
如果 "Ok, Got it" 确实是一个可接受的响应,您可以设置一个 IFTTT 触发器(或几个),它会使用执行任何操作所需的参数触发您的 webhook "next"或者 "previous" 会做。然后用户只需要说 "Hey Google, Next",你就会得到一个通用的回复,动作就会发生,麦克风就会关闭。这不涉及 Dialogflow。
如果您需要更真实的回复,您可以创建一个使用额外短语的操作。所以像 "Hey Google, ask ultimate slide advancer to go to the next slide" 这样的东西会
开始"ultimate slide advancer"动作,所以Google会说"Ok, getting Ultimate Slide Advancer"
激活一个匹配 "Go to the next slide"
的 Intent
该意图将采取行动(转到下一张幻灯片)并做出相应响应。
如果这听起来很啰嗦,您的用户可以将 "next slide" 的快捷方式设置为 "ask ultimate slide advancer to go to the next slide"。不过,Google 助理仍会以整个例程进行响应。
(有些情况下开放式麦克风是可以接受的,但它们应该被视为退化的情况,特别是因为它们很难与开放式麦克风被滥用的情况区分开来。)
我正在开发一个 Dialogflow 项目,我需要一种方法 tell
或 ask
用户无需等待语音命令,但我还需要会话保持打开状态。
我不能使用 tell
因为它基本上会立即终止会话。
Ask
始终等待用户的语音命令。如果它无法获得任何语音命令,那么它就会结束对话。
假设用户在该状态下有多个选项,并且用户可以随时说出可用命令之一,如 next
或 previous
,流程将继续工作。
比如我们得到我们想要的状态然后:
user: next
google-home: got it! (Do not kill the session here and do not expect user voice command)
after 10 minutes...
user: previous
google-home: got it! (Do not kill the session here and do not expect user voice command)
在 DialogFlow 中是否有任何构建方式可以实现此目的。
谢谢。
不,目前这是不可能的,通常这是一个糟糕的设计目标。 Google 一般不鼓励打开麦克风,因为这可能是一个隐私问题。
您有几种解决方法:
如果 "Ok, Got it" 确实是一个可接受的响应,您可以设置一个 IFTTT 触发器(或几个),它会使用执行任何操作所需的参数触发您的 webhook "next"或者 "previous" 会做。然后用户只需要说 "Hey Google, Next",你就会得到一个通用的回复,动作就会发生,麦克风就会关闭。这不涉及 Dialogflow。
如果您需要更真实的回复,您可以创建一个使用额外短语的操作。所以像 "Hey Google, ask ultimate slide advancer to go to the next slide" 这样的东西会
开始"ultimate slide advancer"动作,所以Google会说"Ok, getting Ultimate Slide Advancer"
激活一个匹配 "Go to the next slide"
的 Intent
该意图将采取行动(转到下一张幻灯片)并做出相应响应。
如果这听起来很啰嗦,您的用户可以将 "next slide" 的快捷方式设置为 "ask ultimate slide advancer to go to the next slide"。不过,Google 助理仍会以整个例程进行响应。
(有些情况下开放式麦克风是可以接受的,但它们应该被视为退化的情况,特别是因为它们很难与开放式麦克风被滥用的情况区分开来。)