【问题标题】:Alexa Dialog Model Step and dialogState is never in COMPLETEDAlexa Dialog Model Step 和 dialogState 从未在 COMPLETED
【发布时间】:2018-11-06 16:28:51
【问题描述】:

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

这是我的例子: 我的技能:

请求意图

Utterance : 在卧室里添加一个 {obj}

插槽:{obj} / 插槽填充

短语:

我:Alexa,在卧室里添加一个对象

Alexa:你想在卧室里添加什么物品?

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

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

我:是的

第 1 步:

DialogState 已启动

我使用 ElicitSlot 来设置 {obj} 槽

第二步:

dialogState 为 IN_PROGRESS。

我使用 ConfirmIntent 要求用户确认

第三步:

用户说是/否

ConfirmIntent 现在设置为 CONFIRMED/DENIED

但仍处于 IN_PROGRESS 中

dialogState 应该是 COMPLETED 因为我设置了我所有的 slot 和 intent 值对吗?那么为什么不应该在这里工作呢?

提前致谢

【问题讨论】:

    标签: alexa alexa-skills-kit alexa-skill alexa-slot


    【解决方案1】:

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

    有关使用Dialog.Delegate 指令here 控制对话框的更多信息

    【讨论】:

    • 感谢您的回答!
    【解决方案2】:

    DialogState 只有以下状态: "STARTED" , "IN_PROGRESS" , "COMPLETED.

    未完成的原因可能是因为并非所有步骤都完成或 IntentRequest 没有所有必需的槽值。

    【讨论】:

    • 有没有办法知道哪一步没有完成?谢谢你的回答
    【解决方案3】:

    对我来说,我必须在 Alexa 开发者控制台的Interfaces 中启用Auto Delegation 选项。

    让 Alexa 根据您的对话模型自动确定并完成对话的每个步骤。对话完成后,您的技能会收到一个 IntentRequest。您可以在意图级别覆盖此设置。 Learn More 关于自动委托。

    所有步骤完成后,技能会收到最终的IntentRequest,其中dialogState 设置为COMPLETED

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-20
      • 2019-02-27
      • 1970-01-01
      • 1970-01-01
      • 2019-02-21
      • 1970-01-01
      • 2022-12-02
      相关资源
      最近更新 更多