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

2026年06月07日 11:56 processing

错误信息

InvokeModelWithResponseStream: operation error Bedrock Runtime: InvokeModelWithResponseStream, https response error StatusCode: 400, RequestID: 40183134-c42f-4bbe-ae71-cf5d2b7eb7f4, ValidationException: `temperature` is deprecated for this model. (request id: 20260607035248208703528g2y3cBDO)

AI 解决方案

🔧 报错分析:AWS Bedrock temperature 参数弃用错误

1. 🌐 错误翻译


原文:ValidationException: `temperature` is deprecated for this model.
译文:验证异常:`temperature` 参数对于此模型已弃用。

2. 🎯 原因分析


  • 根本原因:您在对 AWS Bedrock 的 InvokeModelWithResponseStream API 的请求体中,为当前调用的模型设置了 temperature 参数。

  • 具体上下文:您使用的这个特定模型(可能是新版或特定系列模型)已不再支持 temperature 参数,该参数已被弃用(deprecated)。请求因此被AWS服务端验证并拒绝,返回了状态码400。
  • 3. 💡 解决方案


    在构建请求时,移除请求体(request body)中的 temperature 参数。

    示例 (以 Python/Boto3 为例):

    import boto3
    import json
    
    bedrock_runtime = boto3.client('bedrock-runtime')
    
    # 错误示例(包含已弃用参数)
    # request_body = {
    #     "prompt": "Your prompt here",
    #     "temperature": 0.7,  # 此参数导致报错
    #     "max_tokens": 1000
    # }
    
    # 修复后的请求体
    request_body = {
        "prompt": "Your prompt here",
        # "temperature" 字段已被移除
        "max_tokens": 1000
        # 可根据模型文档添加其他支持的参数,如 `top_p`
    }
    
    response = bedrock_runtime.invoke_model_with_response_stream(
        modelId="your-model-id",  # 请替换为您的模型ID
        contentType="application/json",
        accept="application/json",
        body=json.dumps(request_body)
    )
    

    行动步骤:

  • 查阅