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

通过Lambda调用Bedrock Agent时重复旧输入的问题排查

AWS Lambda调用Bedrock Agent请求滞后的问题排查与解决

可能的原因及解决方法

1. Lambda容器复用导致全局变量状态残留

Lambda会复用执行容器,若在函数全局作用域初始化Bedrock客户端、存储请求/响应变量,后续调用会复用这些变量的旧值,直接引发请求滞后。

解决方法:将客户端初始化、请求参数定义移至Lambda处理函数内部,确保每次调用都重新创建实例和参数。
错误示例(全局作用域存在风险):

import boto3
import uuid

# 全局初始化,容器复用时会保留旧状态
bedrock_agent = boto3.client('bedrock-agent-runtime')
last_query = ""

def lambda_handler(event, context):
    global last_query
    session_id = str(uuid.uuid4())
    last_query = event['query']
    response = bedrock_agent.invoke_agent(
        agentId='YOUR_AGENT_ID',
        agentAliasId='YOUR_ALIAS_ID',
        sessionId=session_id,
        inputText=last_query
    )
    # 处理响应...

正确示例(函数内部初始化):

import boto3
import uuid

def lambda_handler(event, context):
    # 每次调用重新初始化客户端
    bedrock_agent = boto3.client('bedrock-agent-runtime')
    current_query = event['query']
    session_id = str(uuid.uuid4())
    
    # 调用Agent传入当前查询
    response = bedrock_agent.invoke_agent(
        agentId='YOUR_AGENT_ID',
        agentAliasId='YOUR_ALIAS_ID',
        sessionId=session_id,
        inputText=current_query
    )
    
    # 获取响应后再结束会话
    bedrock_agent.invoke_agent(
        agentId='YOUR_AGENT_ID',
        agentAliasId='YOUR_ALIAS_ID',
        sessionId=session_id,
        inputText="",
        endSession=True
    )
    
    # 解析响应内容
    output = ""
    for chunk in response['completion']:
        if 'chunk' in chunk:
            output += chunk['chunk']['bytes'].decode('utf-8')
    return {'result': output}

2. 请求参数传递错误

检查代码中是否正确从event对象获取当前查询,避免误用上一次的请求参数:

  • 确认event['query']每次都能拿到最新测试用例输入,无旧值覆盖情况;
  • 调用invoke_agent时,inputText必须传入当前查询内容,而非缓存的变量。

3. 会话管理API调用顺序错误

若使用endSession=True,需确保在获取当前请求响应之后调用该接口。提前结束会话会导致当前请求的会话状态异常,引发后续处理混乱。

同时可添加日志验证每次生成的sessionId是否为全新UUID,排除重复使用的可能。

4. Lambda测试用例缓存问题

Lambda内置测试用例可能存在缓存,建议每次测试时手动修改测试事件内容,或创建新测试用例,确保传入的查询为最新值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 13:26:04