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

在AWS Bedrock调用anthropic.claude-3-haiku时遇按需吞吐量不支持错误求助

解决AWS Bedrock调用Claude 3 Haiku时的ValidationException错误

错误原因

anthropic.claude-3-haiku-20240307-v1:0 模型不支持直接通过按需吞吐量调用,必须使用包含该模型的**推理配置文件(Inference Profile)**的ID或ARN发起请求。

解决步骤

  1. 创建推理配置文件

    • 登录AWS Bedrock控制台,进入「推理配置文件」页面
    • 点击「创建推理配置文件」,填写名称和描述
    • 在「模型」部分添加anthropic.claude-3-haiku-20240307-v1:0,保存配置文件
    • 记录配置文件的ID或ARN(创建后会显示在详情页)
  2. 修改代码中的模型标识
    将原代码里的model_id替换为你刚创建的推理配置文件ID或ARN,其余代码逻辑保持不变。

修改后的示例代码

# 使用原生推理API向Anthropic Claude发送文本消息。

import boto3
import json

from botocore.exceptions import ClientError

# 在您选择的AWS区域创建Bedrock Runtime客户端。
client = boto3.client("bedrock-runtime", region_name="us-east-2")

# 替换为你的推理配置文件ID或ARN
model_id = "your-inference-profile-id-or-arn"

# 定义模型的提示词。
prompt = "Describe the purpose of a 'hello world' program in one line."

# 使用模型的原生结构格式化请求负载。
native_request = {
    "anthropic_version": "bedrock-2023-05-31",
    "max_tokens": 512,
    "temperature": 0.5,
    "messages": [
        {
            "role": "user",
            "content": [{"type": "text", "text": prompt}],
        }
    ],
}

# 将原生请求转换为JSON格式。
request = json.dumps(native_request)

try:
    # 使用请求调用模型。
    response = client.invoke_model(modelId=model_id, body=request)

except (ClientError, Exception) as e:
    print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}")
    exit(1)

print(response)
# 解码响应体。
model_response = json.loads(response["body"].read())

# 提取并打印响应文本。
response_text = model_response["content"][0]["text"]
print(response_text)

额外说明

推理配置文件是Bedrock用于管理模型吞吐量、配额和调用规则的机制,针对部分限制直接按需调用的模型,必须通过该方式发起请求。配置完成后,调用逻辑和原生模型完全一致,仅需替换模型标识为配置文件的ID或ARN即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 20:45:02