通過 Bedrock 調用 Claude 與使用 Anthropic 的客戶端 SDK 調用 Claude 略有不同。本指南將引導您完成在 Bedrock 上使用 Python 或 TypeScript 對 Claude 進行 API 調用的過程。

請注意,本指南假設您已經註冊了 AWS 帳戶並配置了程序化訪問。

安裝和配置 AWS CLI

  1. 安裝 AWS CLI 的版本2.13.23 或更新版本
  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 Console > Bedrock > Model Access 並請求訪問 Anthropic 模型。請注意,Anthropic 模型的可用性因地區而異。有關最新信息,請參閱 AWS 文檔

API 模型名稱

模型Bedrock API 模型名稱
Claude 3 Haikuanthropic.claude-3-haiku-20240307-v1:0
Claude 3 Sonnetanthropic.claude-3-sonnet-20240229-v1:0
Claude 3 Opusanthropic.claude-3-opus-20240229-v1:0

列出可用的模型

以下示例顯示如何打印通過 Bedrock 提供的所有 Claude 模型的列表:

aws bedrock list-foundation-models --region=us-west-2 --by-provider anthropic --query "modelSummaries[*].modelId"

發出請求

以下示例顯示如何在 Bedrock 上從 Claude 3 Sonnet 生成文本:

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="anthropic.claude-3-sonnet-20240229-v1:0",
    max_tokens=256,
    messages=[{"role": "user", "content": "Hello, world"}]
)
print(message.content)

有關更多詳細信息,請參閱我們的客戶端 SDK,以及此處的官方 Bedrock 文檔。