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

如何修改AWS QnA Bot对接Alexa的默认欢迎消息

AWS QnA Bot对接Alexa自定义欢迎消息不生效问题

问题描述

  • 使用AWS QnA Bot对接Alexa时,方案默认的Alexa欢迎消息为Hello, Please ask a question,需要将其修改为个性化内容
  • 按照内置教程指引,找到作为Alexa Skill端点的Lambda函数,定位到名为get_welcome_message的代码段,代码如下:
async function get_welcome_message(req, locale){
    console.log("=================" + JSON.stringify(req));
    const welcome_message = _.get(req,'_settings.DEFAULT_ALEXA_LAUNCH_MESSAGE', 'Hello, Please ask a question');
    if (_.get(req._settings, 'ENABLE_MULTI_LANGUAGE_SUPPORT')){
        return await translate.get_translation(welcome_message,'en',locale,req)
    } else {
        return welcome_message;
    }
}
  • 尝试直接修改代码中welcome_message变量对应的默认字符串,但无论修改为何值,Alexa返回的欢迎语始终为默认的Hello, Please ask a question
  • 已尝试的排查操作:
    • 清除Alexa端历史记录与缓存,排除缓存影响
    • 重新部署修改后的Lambda函数
    • 重建AWS QnA Bot与Alexa Skill
    • 排查Lambda代码确认,该函数是唯一设置欢迎消息的位置,所有欢迎消息调用逻辑均走该中间件
  • 核心诉求:获取修改默认欢迎消息的正确方法,排查遗漏的配置点

问题原因

修改代码不生效的核心原因是_.get方法的读取逻辑:该方法会优先从请求携带的_settings配置对象中读取DEFAULT_ALEXA_LAUNCH_MESSAGE参数值,只有当该参数完全不存在时,才会返回代码里写的字符串作为兜底默认值。
AWS QnA Bot初始化部署时,默认就会在内置配置中心写入DEFAULT_ALEXA_LAUNCH_MESSAGE参数,值就是默认欢迎语,因此代码永远不会走到你修改的兜底值分支,直接改代码自然无效。

正确修改步骤

  • 登录AWS QnA Bot管理控制台,进入全局设置页面
  • 在配置项列表中搜索DEFAULT_ALEXA_LAUNCH_MESSAGE,直接将该参数的值修改为你需要的个性化欢迎语
  • 如果你开启了多语言支持(对应配置项ENABLE_MULTI_LANGUAGE_SUPPORT为开启状态),需要同步配置对应语种的欢迎语翻译,否则系统会自动将默认值翻译为对应locale的语言返回
  • 保存配置后等待1-2分钟,配置会自动同步到后端Lambda环境,无需手动重新部署Lambda或重建Alexa Skill,直接测试即可生效

提示:AWS QnA Bot几乎所有可调整的业务逻辑参数都优先从内置配置中心读取,代码中硬编码的字符串仅作为配置缺失时的兜底,调整功能优先在配置页查找对应参数,不要直接修改代码硬编码值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 13:51:28