通过 Bedrock 调用 Claude 与使用 Anthropic 客户端 SDK 调用 Claude 的方式略有不同。本指南将引导您完成使用 Python 或 TypeScript 向 Bedrock 上的 Claude 进行 API 调用的过程。 请注意,本指南假设您已经注册了 AWS 账户并配置了程序化访问。

安装和配置 AWS CLI

  1. 安装版本号为 2.13.23 或更高版本的 AWS CLI
  2. 使用 AWS configure 命令配置您的 AWS 凭证(请参阅配置 AWS CLI)或通过在 AWS 仪表板中导航到”命令行或程序化访问”并按照弹出模态框中的说明来查找您的凭证。
  3. 验证您的凭证是否正常工作:
Shell
aws sts get-caller-identity

安装用于访问 Bedrock 的 SDK

Anthropic 的客户端 SDK支持 Bedrock。您也可以直接使用 AWS SDK,如 boto3
pip install -U "anthropic[bedrock]"

访问 Bedrock

订阅 Anthropic 模型

前往 AWS 控制台 > Bedrock > 模型访问并请求访问 Anthropic 模型。请注意,Anthropic 模型的可用性因地区而异。有关最新信息,请参阅 AWS 文档

API 模型 ID

模型Bedrock 基础模型 IDglobaluseujpapac
Claude Sonnet 4.5anthropic.claude-sonnet-4-5-20250929-v1:0Copied!
Claude Sonnet 4anthropic.claude-sonnet-4-20250514-v1:0Copied!
Claude Sonnet 3.7anthropic.claude-3-7-sonnet-20250219-v1:0Copied!
Claude Sonnet 3.5 anthropic.claude-3-5-sonnet-20241022-v2:0Copied!
Claude Opus 4.1anthropic.claude-opus-4-1-20250805-v1:0Copied!
Claude Opus 4anthropic.claude-opus-4-20250514-v1:0Copied!
Claude Opus 3 anthropic.claude-3-opus-20240229-v1:0Copied!
Claude Haiku 4.5anthropic.claude-haiku-4-5-20251001-v1:0Copied!
Claude Haiku 3.5anthropic.claude-3-5-haiku-20241022-v1:0Copied!
Claude Haiku 3anthropic.claude-3-haiku-20240307-v1:0Copied!
有关区域与全局模型 ID 的更多信息,请参阅下面的全局与区域端点部分。

列出可用模型

以下示例展示了如何打印通过 Bedrock 提供的所有 Claude 模型的列表:
aws bedrock list-foundation-models --region=us-west-2 --by-provider anthropic --query "modelSummaries[*].modelId"

发出请求

以下示例展示了如何从 Bedrock 上的 Claude 生成文本:
from anthropic import AnthropicBedrock

client = AnthropicBedrock(
    # 通过提供以下密钥进行身份验证,或使用默认的 AWS 凭证提供程序,例如
    # 使用 ~/.aws/credentials 或 "AWS_SECRET_ACCESS_KEY" 和 "AWS_ACCESS_KEY_ID" 环境变量。
    aws_access_key="<access key>",
    aws_secret_key="<secret key>",
    # 可以使用 aws_session_token 使用临时凭证。
    # 详细信息请参阅 https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html。
    aws_session_token="<session_token>",
    # aws_region 更改发出请求的 AWS 区域。默认情况下,我们读取 AWS_REGION,
    # 如果不存在,我们默认为 us-east-1。请注意,我们不读取 ~/.aws/config 中的区域。
    aws_region="us-west-2",
)

message = client.messages.create(
    model="global.anthropic.claude-sonnet-4-5-20250929-v1:0",
    max_tokens=256,
    messages=[{"role": "user", "content": "Hello, world"}]
)
print(message.content)
有关更多详情,请参阅我们的客户端 SDK,以及官方 Bedrock 文档此处

活动日志

Bedrock 提供了一项调用日志服务,允许客户记录与您的使用相关的提示和完成。 Anthropic 建议您至少在 30 天滚动基础上记录您的活动,以便了解您的活动并调查任何潜在的滥用。
启用此服务不会给 AWS 或 Anthropic 任何访问您内容的权限。

功能支持

您可以在此处找到 Bedrock 上当前支持的所有功能。

Bedrock 上的 PDF 支持

PDF 支持可通过 Converse API 和 InvokeModel API 在 Amazon Bedrock 上获得。有关 PDF 处理功能和限制的详细信息,请参阅 PDF 支持文档 Converse API 用户的重要注意事项:
  • 视觉 PDF 分析(图表、图像、布局)需要启用引用
  • 没有引用,只能进行基本文本提取
  • 为了获得完全控制而不强制引用,请使用 InvokeModel API
有关两种文档处理模式及其限制的更多详情,请参阅 PDF 支持指南

100 万令牌上下文窗口

Claude Sonnet 4 和 4.5 在 Amazon Bedrock 上支持 100 万令牌上下文窗口
100 万令牌上下文窗口目前处于测试版。要使用扩展上下文窗口,请在您的 Bedrock API 请求中包含 context-1m-2025-08-07 测试版标头。

全局与区域端点

Claude Sonnet 4.5 和所有未来模型开始,Amazon Bedrock 提供两种端点类型:
  • 全局端点:动态路由以实现最大可用性
  • 区域端点:通过特定地理区域保证数据路由
区域端点的价格比全局端点高 10%。
这仅适用于 Claude Sonnet 4.5 和未来模型。较旧的模型(Claude Sonnet 4、Opus 4 及更早版本)保持其现有的定价结构。

何时使用每个选项

全局端点(推荐):
  • 提供最大可用性和正常运行时间
  • 动态将请求路由到具有可用容量的区域
  • 无价格溢价
  • 最适合数据驻留灵活的应用程序
区域端点 (CRIS):
  • 通过特定地理区域路由流量
  • 数据驻留和合规性要求所需
  • 适用于美国、欧盟、日本和澳大利亚
  • 10% 的价格溢价反映了专用区域容量的基础设施成本

实现

使用全局端点(Sonnet 4.5 和 4 的默认值): Claude Sonnet 4.5 和 4 的模型 ID 已包含 global. 前缀:
from anthropic import AnthropicBedrock

client = AnthropicBedrock(aws_region="us-west-2")

message = client.messages.create(
    model="global.anthropic.claude-sonnet-4-5-20250929-v1:0",
    max_tokens=256,
    messages=[{"role": "user", "content": "Hello, world"}]
)
使用区域端点 (CRIS): 要使用区域端点,请从模型 ID 中删除 global. 前缀:
from anthropic import AnthropicBedrock

client = AnthropicBedrock(aws_region="us-west-2")

# 使用美国区域端点 (CRIS)
message = client.messages.create(
    model="anthropic.claude-sonnet-4-5-20250929-v1:0",  # 无 global. 前缀
    max_tokens=256,
    messages=[{"role": "user", "content": "Hello, world"}]
)

其他资源