Bedrock Runtime: InvokeModelWithResponseStream, https response error StatusCode:...

2026年03月27日 12:13 状态: processing

🚨 错误信息

InvokeModelWithResponseStream: operation error Bedrock Runtime: InvokeModelWithResponseStream, https response error StatusCode: 400, RequestID: eedbe984-4065-40b6-8e5a-08f199e39d42, ValidationException: The provided request is not valid (request id: 202603261930593908513938kYFT5J4) (request id: 20260326193057906757411JCLCsEaY) (request id: 20260327032858704491990EkiKkyv9)

🤖 AI解决方案

报错分析报告

1.错误翻译



原文:ValidationException: The provided request is not valid
译文:验证异常:提供的请求无效

2.原因分析


  • 根本原因:调用InvokeModelWithResponseStream时,请求的参数/格式不符合Bedrock Runtime API的验证规则。

  • 具体位置:发送至Bedrock的请求体(如模型ID、输入格式、参数结构)存在缺失或错误。
  • 3.解决方案


    以Python boto3为例,修复请求参数验证问题:
    python
    import boto3
    import json

    bedrock = boto3.client("bedrock-runtime", region_name="us-east-1")

    def invoke_model_stream(model_id, prompt):
    try:
    body = {
    "prompt": prompt,
    "max_tokens_to_sample": 200,
    "temperature": 0.7
    }
    # 关键:确保model_id正确(如"anthropic.claude-v2")、body符合模型要求
    response = bedrock.invoke_model_with_response_stream(
    modelId=model_id, # 需替换为有效模型ID
    body=json.dumps(body)
    )
    return response
    except Exception as e:
    print(f"请求错误:{str(e)}")

    示例调用(替换为真实模型ID和合法prompt)


    invoke_model_stream(
    model_id="anthropic.claude-v2", # 检查模型ID是否存在于当前区域
    prompt="Hello, world!"
    )

    4. 预防措施


  • 最佳实践1:调用前对照[AWS Bedrock API文档](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html)验证参数(如模型ID、必填字段)。

  • 最佳实践2:使用AWS SDK的validate参数(若支持)或Postman先测试请求格式,再集成到代码中。
  • ---
    下一步:请补充请求的modelIdbody内容,以便进一步定位具体错误点。