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 等)。

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

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

    • 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 (curl)

使用 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-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="")

支援的功能

Messages API 支援 Claude 模型的下列進階功能:

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

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

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

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

  • 延伸思考 – chain-of-thought推理。請參閱 使用模型推理來增強模型回應

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

如需完整的訊息 API 請求和回應格式,包括所有參數和功能,請參閱 Anthropic Claude 訊息 API

計數字符

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