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

Alexa技能LaunchRequest启动失败求助:响应异常问题排查

修复「Bigger Brain」Alexa技能启动失败问题

核心代码错误分析

你提供的Python代码存在多个语法和逻辑错误,直接导致技能无法正常响应:

  • 类方法缩进错误:LaunchRequestHandler类下的can_handle和handle方法未缩进,Python会将它们视为全局函数而非类成员方法,导致技能无法识别处理程序。
  • 重复定义handle方法:同一个类里定义了两个handle方法,属于无效语法,会引发逻辑混乱。
  • 注释未加#:代码中的说明文字(如to create SkillBuilder instance and register the handlers)没有用#标记,会被Python当作代码执行,触发语法错误。
  • is_request_type引用缺失:未正确导入该函数,导致无法判断请求类型。

修复后的完整代码

import logging
import ask_sdk_core.utils as ask_utils
from ask_sdk_core.skill_builder import SkillBuilder
from ask_sdk_core.dispatch_components import AbstractRequestHandler, AbstractExceptionHandler
from ask_sdk_core.utils import is_intent_name, is_request_type
from ask_sdk_model import Response
from ask_sdk_model.ui import SimpleCard

shouldEndRequest = False

# 创建SkillBuilder实例并注册处理器
sb = SkillBuilder()

# 自定义LaunchRequestHandler处理技能启动
class LaunchRequestHandler(AbstractRequestHandler):
    def can_handle(self, handler_input):
        return is_request_type("LaunchRequest")(handler_input)

    def handle(self, handler_input):
        speech_text = "Welcome to Bigger Brain, the interaction model that is cooler than Alexa. Let us chat. Ask me whatever you want."  
        handler_input.response_builder.speak(speech_text).set_card(
            SimpleCard("Bigger Brain", speech_text)).set_should_end_session(
            False)
        return handler_input.response_builder.response

sb.add_request_handler(LaunchRequestHandler())

额外检查项

  • 交互模型优化:LaunchRequest是Alexa内置系统意图,无需手动添加到intents数组中,删除你提供的JSON中自定义的LaunchRequest配置,避免冲突。
  • 日志排查:在AWS Lambda控制台开启日志功能,查看错误堆栈信息,确认是否存在其他代码问题(比如缺少异常处理器)。
  • 部署验证:确保Lambda函数执行角色权限正确,代码已重新部署,交互模型已重新构建并发布。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 11:38:22