Bedrock Runtime: InvokeModelWithResponseStream, https response error StatusCode:...
错误信息
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. 🎯 原因分析
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)
)
行动步骤: