View a markdown version of this page

使用 Anthropic Messages API 的推論 - Amazon Bedrock

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Anthropic Messages API 的推論

Anthropic Messages API 使用 Anthropic 請求和回應格式,提供 Claude 模型的原生存取權。您可以在 bedrock-mantlebedrock-runtime端點上使用 Messages API,讓您靈活地選擇適合您應用程式的身分驗證和整合樣式。

端點 基本 URL 使用案例
bedrock-mantle https://bedrock-mantle.{region}.api.aws/anthropic/v1/messages 建議用於新應用程式。支援 API 金鑰身分驗證 和 Workspaces (Anthropic 相容)
bedrock-runtime https://bedrock-runtime.{region}.amazonaws.com 搭配現有的 AWS SDK 整合和調用記錄使用 。

支援的區域

訊息 API 可在所有支援 區域的bedrock-mantle端點上使用 bedrock-mantle(請參閱 支援的區域和端點)。在bedrock-runtime端點上,它可用於可使用 Claude 模型的所有區域。如需詳細資訊,請參閱 依模型的區域可用性

先決條件

使用 Messages API 之前,請確定您有下列項目:

  • 模型存取 – 在 Amazon Bedrock 主控台中請求存取 Claude 模型。請參閱 請求存取模型

  • 身分驗證 – 取決於端點:

    • bedrock-mantle – 使用 Amazon Bedrock API 金鑰 (請參閱API 金鑰) 或 AWS SigV4 登入資料。

    • bedrock-runtime – 透過 AWS SDK 使用 AWS SigV4 登入資料 (boto3 等)。

  • Anthropic 版本標頭 – 所有請求都需要 API 版本:

    • bedrock-mantleanthropic-version: 2023-06-01設定為 HTTP 標頭。

    • bedrock-runtime:在請求內文"anthropic_version": "bedrock-2023-05-31"中設定 。

基本請求

若要將基本訊息傳送至 Claude 模型,請選擇您偏好方法的標籤,然後遵循下列步驟:

bedrock-mantle (curl)
curl -X POST https://bedrock-mantle.us-east-1.api.aws/anthropic/v1/messages \ -H "x-api-key: $BEDROCK_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "Content-Type: application/json" \ -d '{ "model": "anthropic.claude-sonnet-4-6-v1", "max_tokens": 1024, "messages": [ {"role": "user", "content": "Explain quantum computing in one sentence."} ] }'
bedrock-runtime (Python)
import boto3 import json client = boto3.client("bedrock-runtime", region_name="us-east-1") response = client.invoke_model( modelId="anthropic.claude-sonnet-4-6-v1", body=json.dumps({ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 1024, "messages": [ {"role": "user", "content": "Explain quantum computing in one sentence."} ] }) ) result = json.loads(response["body"].read()) print(result["content"][0]["text"])
bedrock-runtime (AWS CLI)

使用 AWS CLI 叫用模型:

aws bedrock-runtime invoke-model \ --model-id anthropic.claude-sonnet-4-6-v1 \ --body '{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 1024, "messages": [ {"role": "user", "content": "Explain quantum computing in one sentence."} ] }' \ --cli-binary-format raw-in-base64-out \ output.json
bedrock-runtime (curl)

您可以使用 bedrock-runtime AWS SigV4 簽署請求,直接呼叫 curl。以下範例使用 curl 的內建--aws-sigv4旗標 (在 curl 7.75.0 和更新版本中提供):

curl -X POST \ "https://bedrock-runtime.us-east-1.amazonaws.com/model/anthropic.claude-sonnet-4-6-v1/invoke" \ -H "Content-Type: application/json" \ --aws-sigv4 "aws:amz:us-east-1:bedrock" \ --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \ -d '{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 1024, "messages": [ {"role": "user", "content": "Explain quantum computing in one sentence."} ] }'
注意

如果您使用來自 AWS STS 的臨時登入資料 (例如,擔任的角色), 也會透過將 -H "X-Amz-Security-Token: $AWS_SESSION_TOKEN"新增至請求來傳遞工作階段字符。對於大多數使用案例,我們建議使用自動處理請求簽署和登入資料重新整理 AWS SDKs 或 CLI。

串流回應

若要在產生回應權杖時逐步接收回應權杖,請選擇您偏好方法的標籤,然後遵循下列步驟:

bedrock-mantle (curl)
curl -X POST https://bedrock-mantle.us-east-1.api.aws/anthropic/v1/messages \ -H "x-api-key: $BEDROCK_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "Content-Type: application/json" \ -d '{ "model": "anthropic.claude-sonnet-4-6-v1", "max_tokens": 1024, "stream": true, "messages": [ {"role": "user", "content": "Write a short poem about cloud computing."} ] }'
bedrock-runtime (Python)
import boto3 import json client = boto3.client("bedrock-runtime", region_name="us-east-1") response = client.invoke_model_with_response_stream( modelId="anthropic.claude-sonnet-4-6-v1", body=json.dumps({ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 1024, "messages": [ {"role": "user", "content": "Write a short poem about cloud computing."} ] }) ) for event in response["body"]: chunk = json.loads(event["chunk"]["bytes"]) if chunk["type"] == "content_block_delta": print(chunk["delta"]["text"], end="")

支援的功能

除了上述的擴展思維適應性思維結構化輸出壓縮拒絕請求的備用額度 (Beta 版)中融合系統訊息區段之外,訊息 API 還支援 Claude 模型的下列功能:

  • 系統提示 – 使用 system 參數設定模型行為。

  • 多轉對話 – 傳遞交替userassistant訊息。

  • 工具使用 – 定義模型可以呼叫的工具。請參閱 使用工具完成 Amazon Bedrock 模型回應

  • 視覺 – 將content陣列中的影像與文字一起傳送。

  • 提示快取 – 快取常用內容,以減少延遲和成本。

如需完整的 Messages API 請求和回應欄位參考,請參閱 請求與回應

計數字符

若要在傳送請求以進行推論之前計算請求將使用的輸入字符數量,請使用bedrock-mantle端點上的 Anthropic count_tokens 路徑。這是 Claude 模型唯一支援的字符計數路徑,不適用於bedrock-runtime具有區域特定端點的 ,包括僅使用跨區域推論 (CRIS) 啟動的 Claude 模型。如需詳細資訊和範例,請參閱使用 bedrock-mantle 端點計算權杖