Alexa对话模型步骤和对话状态从未处于"完成"状态



我正在用PHP端点实现Alexa对话框模型。我用了Alexa医生(https://developer.amazon.com/fr/docs/custom-skills/dialog-interface-reference.html)

下面是我的例子:我的技能:

RequestIntent

话语:在卧室中添加一个{obj}

插槽:{obj}/插槽填充

短语:

Me:Alexa,在卧室中添加一个对象

Alexa:你想在卧室里加什么东西?

我:我想在卧室里加一辆汽车

Alexa:你想在卧室里加一辆车吗?

我:是

步骤1:

对话框状态已启动

我使用ElicitSlot设置{obj}插槽

步骤2:

对话状态为IN_PROGRESS。

我使用ConfirmIntent要求用户确认

步骤3:

用户说是/否

ConfirmIntent现在设置为CONFIRMED/DENIED

但仍在in_PROGRESS 中

dialogState应该是COMPLED,因为我设置了所有插槽和意向值,对吗?那为什么不应该在这里工作呢?

提前感谢

您的dialogState不是COMPLETE的原因是您使用的是Dialog.ElicitSlot指令。只有当使用Dialog.Delegate指令时,COMPLETED状态才是

有关使用Dialog.Delegate指令控制对话框的更多信息,请点击此处

DialogState只有以下状态:"已启动"、"IN_PROGRESS"、"已完成。

未完成的原因可能是并非所有步骤都已完成,或者IntentRequest没有所有所需的插槽值。

对我来说,我必须从Alexa开发者控制台启用接口中的自动委派选项。

让Alexa根据您的对话框模型自动确定并完成对话框的每个步骤。当对话框完成时,你的技能会得到一个IntentRequest。您可以在意图级别替代此设置。了解有关自动委派的更多信息。

完成所有步骤后,技能将获得最终的IntentRequestdialogState设置为COMPLETED

最新更新