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

如何在Node.js的Lambda中从一个Lex Intent调用另一个带响应卡的Intent?

解决方案

问题根源在于你返回了Close类型的对话动作,该动作会直接终止当前会话,导致后续无法触发任何Intent。要在同一个Lambda中触发带Yes/No响应卡的新Intent,需修改返回的对话动作类型,指定目标Intent并构造响应卡内容。

核心修改要点

  • 摒弃Close类型的dialogAction,改用ElicitIntent触发指定的新Intent
  • 在返回的messages中添加包含Yes/No选项的响应卡
  • 正确配置sessionState中的intent信息,指向目标Intent

修改后的代码示例

假设你要触发的新Intent名为ConfirmRetryIntent,以下是替换原closeresponse的函数:

function triggerIntentWithYesNoCard(intent_request, session_attributes, target_intent, card_info) {
    return {
        "sessionState": {
            "sessionAttributes": session_attributes,
            "dialogAction": {
                "type": "ElicitIntent"
            },
            "intent": {
                'name': target_intent,
                'state': "ReadyForFulfillment"
            }
        },
        "messages": [
            {
                "contentType": "ImageResponseCard",
                "content": {
                    "title": card_info.title,
                    "subTitle": card_info.subTitle,
                    "buttons": [
                        {
                            "text": "Yes",
                            "value": "Yes"
                        },
                        {
                            "text": "No",
                            "value": "No"
                        }
                    ]
                }
            }
        ],
        "sessionId": intent_request["sessionId"],
        "requestAttributes": intent_request[ENTITY.requestAttributes] ? intent_request[ENTITY.requestAttributes] : {}
    };
}

实际调用示例

当槽位校验不通过(比如手机号长度不符)时,调用该函数替代原closeresponse:

// 手机号格式校验逻辑
if (userPhone.length !== 10) {
    return triggerIntentWithYesNoCard(
        intent_request,
        session_attributes,
        "ConfirmRetryIntent",
        {
            title: "手机号格式错误",
            subTitle: "是否重新输入手机号?"
        }
    );
}

注意事项

  • 确保目标Intent(如ConfirmRetryIntent)已在Lex Bot中创建,且配置了对应的识别逻辑
  • 响应卡按钮的文本和值需与目标Intent的触发短语或槽位值匹配,保证Lex能正确识别用户选择

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 15:40:22