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

如何在AWS Lex中访问原始输入文本与完整对话?

关于AWS Lex获取原始输入与完整对话的解决方案

我来帮你梳理下更简洁的实现方式,不用绕API Gateway和额外Lambda的弯路:

1. 获取触发意图的原始输入文本

其实根本不用额外做前置捕获——Lex在调用意图处理Lambda的时候,已经把用户的原始输入直接传给你了:

  • 对于Lex V1,你可以直接从Lambda事件的inputTranscript字段拿到用户的原始输入,不管Lex有没有解析出槽位或者匹配到意图,这个值都是用户实际输入的内容:
    def lambda_handler(event, context):
        original_user_input = event['inputTranscript']
        # 这里可以直接记录或者使用原始输入
    
  • 如果是Lex V2,结构略有调整,但顶层同样有inputTranscript字段,用法完全一致:
    def lambda_handler(event, context):
        original_user_input = event['inputTranscript']
        # 后续处理逻辑
    

2. 获取包含用户输入和Lex响应的完整对话

你可以利用Lex的**会话属性(sessionAttributes)**来维护对话历史,不用额外搭建服务:

  • 每次处理意图时,先从Lambda事件里取出已有的会话属性(如果是首次会话就初始化一个空的对话列表);
  • 把当前用户的输入追加到对话历史,处理完业务逻辑生成Lex响应后,再把响应内容也追加进去;
  • 最后把更新后的对话历史存回会话属性,这样后续的会话就能拿到完整的对话记录。

举个Python的示例:

def lambda_handler(event, context):
    # 1. 获取当前用户的原始输入
    user_input = event['inputTranscript']
    
    # 2. 取出已有的对话历史,没有则初始化空列表
    session_attrs = event.get('sessionAttributes', {})
    conversation_history = session_attrs.get('conversation', [])
    
    # 3. 追加用户输入到历史
    conversation_history.append({"role": "user", "content": user_input})
    
    # 4. 处理业务逻辑,生成Lex响应内容
    response_content = "这是Lex返回给用户的响应消息"
    
    # 5. 追加Lex响应到历史
    conversation_history.append({"role": "lex", "content": response_content})
    
    # 6. 把更新后的对话历史存回会话属性
    session_attrs['conversation'] = conversation_history
    
    # 7. 返回标准的Lex响应
    return {
        "sessionAttributes": session_attrs,
        "dialogAction": {
            "type": "Close",
            "fulfillmentState": "Fulfilled",
            "message": {
                "contentType": "PlainText",
                "content": response_content
            }
        }
    }
  • 如果需要持久化对话记录(比如长期保存),可以在同一个Lambda里直接对接DynamoDB,每次处理时把对话历史写入数据库,这样即使会话结束也能留存完整记录。

对比你之前考虑的前置API Gateway方案,这种方式更直接,完全利用Lex本身的能力就能实现需求,不用额外的服务链路。

内容的提问来源于stack exchange,提问作者Shachaf.Gortler

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:48:02