gpt4 book ai didi

amazon-web-services - 如何获取和使用确认 'yes' 或 'no' 用于 Alexa 技能 intent 响应

转载 作者:行者123 更新时间:2023-12-04 08:12:43 27 4
gpt4 key购买 nike

我正在开发一项 Alexa 技能,在启动时它会询问 Do you want to perform something ?取决于用户的回复 'yes''no'我想启动另一个 intent 。

var handlers = {
'LaunchRequest': function () {
let prompt = this.t("ASK_FOR_SOMETHING");
let reprompt = this.t("LAUNCH_REPROMPT");
this.response.speak(this.t("WELCOME_MSG") + ' ' + prompt).listen(reprompt);
this.emit(':responseReady');
},
"SomethingIntent": function () {
//Launch this intent if the user's response is 'yes'
}
};

我确实看过 dialog model似乎它会达到目的。但我不确定如何实现它。

最佳答案

最简单的方法来做你正在寻找的技能,是处理 AMAZON.YesIntentAMAZON.NoIntent根据您的技能(确保也将它们添加到交互模型中):

var handlers = {
'LaunchRequest': function () {
let prompt = this.t("ASK_FOR_SOMETHING");
let reprompt = this.t("LAUNCH_REPROMPT");
this.response.speak(this.t("WELCOME_MSG") + ' ' + prompt).listen(reprompt);
this.emit(':responseReady');
},
"AMAZON.YesIntent": function () {
// raise the `SomethingIntent` event, to pass control to the "SomethingIntent" handler below
this.emit('SomethingIntent');
},
"AMAZON.NoIntent": function () {
// handle the case when user says No
this.emit(':responseReady');
}
"SomethingIntent": function () {
// handle the "Something" intent here
}
};

请注意,在更复杂的技能中,您可能必须存储一些状态才能确定用户发送了"is" intent 以响应您是否“做某事”的问题。您可以使用 session object 中的技能 session 属性保存此状态。 .例如:
var handlers = {
'LaunchRequest': function () {
let prompt = this.t("ASK_FOR_SOMETHING");
let reprompt = this.t("LAUNCH_REPROMPT");
this.response.speak(this.t("WELCOME_MSG") + ' ' + prompt).listen(reprompt);
this.attributes.PromptForSomething = true;
this.emit(':responseReady');
},
"AMAZON.YesIntent": function () {
if (this.attributes.PromptForSomething === true) {
// raise the `SomethingIntent` event, to pass control to the "SomethingIntent" handler below
this.emit('SomethingIntent');
} else {
// user replied Yes in another context.. handle it some other way
// .. TODO ..
this.emit(':responseReady');
}
},
"AMAZON.NoIntent": function () {
// handle the case when user says No
this.emit(':responseReady');
}
"SomethingIntent": function () {
// handle the "Something" intent here
// .. TODO ..
}
};

最后,您还可以考虑使用 Dialog Interface正如您在问题中提到的那样,但如果您想要做的只是从启动请求中获得一个简单的是/否确认作为提示,那么我认为我上面的示例将非常直接地实现。

关于amazon-web-services - 如何获取和使用确认 'yes' 或 'no' 用于 Alexa 技能 intent 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49588227/

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