You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在基于Lambda的Alexa Skill中关闭重提示?未找到相关文档

关闭基于Lambda的Alexa Skill重提示功能的方法

嘿,我之前也碰到过这个困惑,其实核心就是明确设置重提示文本为空——因为默认情况下,如果会话没结束且你没指定重提示,Alexa会自动用系统默认的重提示语。下面分两种常用场景给你具体操作步骤:

用ASK SDK v2开发(Node.js/Python)

不管是Node.js还是Python版本的SDK,都可以在构建响应时直接设置空的重提示文本:

Node.js示例

const { ResponseBuilder } = require('ask-sdk-core');

// 以某个意图处理函数为例
const YourIntentHandler = {
  canHandle(handlerInput) {
    // 你的意图判断逻辑
  },
  handle(handlerInput) {
    return handlerInput.responseBuilder
      .speak("好的,我已经记录你的请求了")
      .withShouldEndSession(false) // 保持会话打开,等待后续指令
      .withReprompt("") // 设置空重提示,关闭自动重提示
      .getResponse();
  }
};

Python示例

from ask_sdk_core.dispatch_components import AbstractRequestHandler
from ask_sdk_core.utils import is_intent_name
from ask_sdk_core.handler_input import HandlerInput
from ask_sdk_model import Response

class YourIntentHandler(AbstractRequestHandler):
    def can_handle(self, handler_input: HandlerInput) -> bool:
        return is_intent_name("YourIntent")(handler_input)
    
    def handle(self, handler_input: HandlerInput) -> Response:
        speech_text = "好的,我已经记录你的请求了"
        
        return handler_input.response_builder.speak(speech_text) \
            .set_should_end_session(False) \
            .reprompt("") \
            .response

直接编写Lambda原生JSON响应

如果没用ASK SDK,直接构造响应JSON的话,只要在reprompt字段里设置空文本即可:

{
  "version": "1.0",
  "response": {
    "outputSpeech": {
      "type": "PlainText",
      "text": "好的,我已经记录你的请求了"
    },
    "reprompt": {
      "outputSpeech": {
        "type": "PlainText",
        "text": ""
      }
    },
    "shouldEndSession": false
  }
}

额外说明

如果你的需求是会话直接结束(不需要等待用户后续操作),那直接把shouldEndSession设为true就行,这种情况下Alexa不会触发任何重提示——但如果要保持会话打开同时关闭重提示,就必须设置空的重提示文本,这是关键哦。

内容的提问来源于stack exchange,提问作者Optimus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:30:46