我怎样才能避免输入 "held over" 到后续交互?
How can I keep inputs from being "held over" to subsequent interactions?
我的操作有 3 个输入:必需的 Book、可选的 Chapter、可选的 Verse。
如果我说 read [book] [chapter] [verse]
,我会得到正确的回应。
如果我用 read [book] [chapter]
跟进,我将获得从上一个请求传入的 Verse 值。我该如何防止这种情况发生?
Bixby 使用历史输入(例如,来自先前请求的输入)来填充用户话语中任何缺失的输入,作为提供简化对话流程的一种方式。
在像您这样不应做出此类假设的用例中,我建议您在 Action 的收集输入定义中使用 prompt-behavior (AlwaysSelection)
。这将确保 Bixby 不会使用历史输入来填补空白,而是要求用户提供有问题的输入。您可以阅读更多关于 prompt-behavior
here.
我能够绕过这个问题(看起来),但是创建了三个单独的操作(需要的书,需要的书 + 需要的章节,需要的书 + 需要的章节 + 需要的章节)。
然后,我只需要复制我的 action-endpoint
以允许同一个端点接受所有三个操作。
虽然我在某些情况下看到了 "historical inputs" 的价值,但似乎也应该有一种方法可以忽略它们。
如果您绝对不想要任何历史输入,您可以尝试制作这些概念transient
我的操作有 3 个输入:必需的 Book、可选的 Chapter、可选的 Verse。
如果我说 read [book] [chapter] [verse]
,我会得到正确的回应。
如果我用 read [book] [chapter]
跟进,我将获得从上一个请求传入的 Verse 值。我该如何防止这种情况发生?
Bixby 使用历史输入(例如,来自先前请求的输入)来填充用户话语中任何缺失的输入,作为提供简化对话流程的一种方式。
在像您这样不应做出此类假设的用例中,我建议您在 Action 的收集输入定义中使用 prompt-behavior (AlwaysSelection)
。这将确保 Bixby 不会使用历史输入来填补空白,而是要求用户提供有问题的输入。您可以阅读更多关于 prompt-behavior
here.
我能够绕过这个问题(看起来),但是创建了三个单独的操作(需要的书,需要的书 + 需要的章节,需要的书 + 需要的章节 + 需要的章节)。
然后,我只需要复制我的 action-endpoint
以允许同一个端点接受所有三个操作。
虽然我在某些情况下看到了 "historical inputs" 的价值,但似乎也应该有一种方法可以忽略它们。
如果您绝对不想要任何历史输入,您可以尝试制作这些概念transient