gpt4 book ai didi

node.js - 如何在 Alexa 中使用带有 intent 确认的 intent 链?

转载 作者:太空宇宙 更新时间:2023-11-03 22:04:55 24 4
gpt4 key购买 nike

我正在尝试混合对话管理和 intent 链。我已禁用自动委派。

但是我被困在了,当用户填写所有槽值时,我使用 intent 确认并提示他数据是否正确。

如果用户说“否”。我想出于同样的目的重新启动对话管理。

但是我得到的错误是,“指令“Dialog.Delegate”只能在对话框处于事件状态且尚未完成时使用”。

我尝试用其他 intent 替换第 15 行,它有效,但当我发送相同 intent 的指令时则无效。有谁知道我错过了什么?

const DeniedPostMessageIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest' &&
handlerInput.requestEnvelope.request.intent.name === 'PostMessageIntent' &&
handlerInput.requestEnvelope.request.dialogState === 'COMPLETED' &&
handlerInput.requestEnvelope.request.intent.confirmationStatus === 'DENIED';
},
handle(handlerInput) {
let speechText = ri('POST_MESSAGE.DENIED');
return handlerInput.jrb
.speak(speechText)
.addDelegateDirective({
name: 'PostMessageIntent',
confirmationStatus: 'NONE',
slots: {}
})
.getResponse();
},
};

最佳答案

注意 - 我正在使用禁用自动委派的对话管理。

Alexa 在发送带有 dialogState = COMPLETED 的相同请求之前,会发送带有 dialogState = IN_PROGRESSconfirmationStatus = DENIED 的请求确认状态=拒绝

错误

"Directive "Dialog.Delegate" can be used only when a dialog is active and hasn't been completed"

对此有一些提示,但需要注意的一件事是,我们可以在 dialogState = COMPLETED 中为单独的 intent 启动对话委托(delegate),但不能为相同的 intent 执行此操作。

因此,如果您想为相同的 intent 重新启动对话框,当 intent 确认被拒绝时,您必须在dialogState仍为IN_PROGRESS时执行此操作。如果您想处理以任何其他方式拒绝的 intent 确认,那么您也可以在dialogState为COMPLETED时执行此操作。

解决上述问题的方法是将 canHandle 函数中的dialogState 更改为IN_PROGRESS,而不是COMPLETED

canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest' &&
handlerInput.requestEnvelope.request.intent.name === 'PostMessageIntent' &&
handlerInput.requestEnvelope.request.dialogState === 'IN_PROGRESS' &&
handlerInput.requestEnvelope.request.intent.confirmationStatus === 'DENIED';
}

发现这个深埋在 - https://forums.developer.amazon.com/comments/206243/view.html

亚马逊应该注意这一点并将其添加到文档中。

关于node.js - 如何在 Alexa 中使用带有 intent 确认的 intent 链?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56821014/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com