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

AWS Lex技术咨询:首次打开及Node.js独立Bot欢迎消息实现

AWS Lex 欢迎消息配置与 Node.js 集成方案

问题1:如何在首次打开AWS Lex时显示欢迎消息?

AWS Lex本身没有自带默认的欢迎触发逻辑,得咱们自己配置,分两种场景说:

  • Lex控制台测试/直接Bot交互场景:
    你可以创建一个专属的WelcomeIntent,把它设为Bot的启动意图就行:

    1. 在Lex构建器里新建一个意图,命名比如WelcomeIntent。
    2. 不用加样本 utterance,直接在「Response」里写好欢迎文本,或者关联Lambda返回动态内容。
    3. 去Bot的「设置」页面,找到「初始化与终止」选项,把WelcomeIntent设为默认启动意图。这样用户首次打开控制台测试窗口,Bot就会自动弹出欢迎消息。
  • 自定义应用集成场景:
    如果是在自己的应用里调用Lex,那首次加载完成后,不用等用户输入,主动调用Lex API触发欢迎逻辑就行,具体实现看下面的问题2。


问题2:Node.js独立应用中能否实现Lex欢迎消息?怎么弄?

当然可以!而且有两种实用方案,结合你的需求(构建器配意图,Node.js前端调用,iframe嵌入),我给你详细说:

方案1:Lex侧配置意图,前端主动触发(推荐)

这种方式把欢迎消息的管理放在Lex里,后续改文案不用动代码,和你后续的交互逻辑也统一:

  1. 先按照问题1的步骤,在Lex里建好WelcomeIntent,设置好返回内容(静态文本或Lambda动态生成都可以)。
  2. 你的Node.js应用里,当iframe加载完成后,立即调用Lex的postText() API,触发这个欢迎意图。

给你贴个AWS SDK v3的示例代码:

import { LexRuntimeV2Client, PostTextCommand } from "@aws-sdk/client-lex-runtime-v2";

// 初始化Lex客户端
const lexClient = new LexRuntimeV2Client({ region: "你的AWS区域,比如us-east-1" });

// iframe加载完成后调用这个函数发送欢迎消息
async function triggerWelcomeMessage() {
  const requestParams = {
    botId: "你的Bot ID",
    botAliasId: "你的Bot别名ID",
    localeId: "zh_CN", // 根据你的Bot语言调整,比如en_US
    sessionId: "用户唯一标识", // 可以用UUID生成,每个用户一个
    text: "" // 如果WelcomeIntent设为了启动意图,空字符串就能触发
  };

  try {
    const command = new PostTextCommand(requestParams);
    const lexResponse = await lexClient.send(command);
    // 把返回的欢迎消息展示给用户
    console.log("欢迎消息内容:", lexResponse.messages[0].content);
  } catch (error) {
    console.error("发送欢迎消息失败:", error);
  }
}

如果用Lambda处理WelcomeIntent的 fulfillment,Lambda代码可以这么写:

exports.handler = async (event) => {
  // 可以根据event里的用户信息生成动态欢迎语
  const welcomeContent = "嗨!欢迎使用咱们的Bot,有什么我能帮你的吗?";
  
  const response = {
    sessionState: {
      dialogAction: {
        type: "Close" // 关闭当前意图,等待用户下一步输入
      }
    },
    messages: [
      {
        contentType: "PlainText",
        content: welcomeContent
      }
    ]
  };
  return response;
};

方案2:前端直接展示静态欢迎消息

如果你的欢迎消息是固定不变的,也可以不用调用Lex API,在iframe加载完成后,直接在前端页面把欢迎消息渲染出来,等用户输入后再调用Lex处理请求。这种方式少一次API调用,更简单,适合静态文案的场景。

最佳方案建议

结合你的需求(Bot嵌入iframe,后续调用Lex返回槽位),方案1是最优选择:

  • 欢迎消息的配置和修改都在Lex构建器里,不用动前端代码,维护起来更方便。
  • 和后续的用户交互逻辑统一,都是通过Lex API处理,代码结构更清晰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:00:45