本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Anthropic Messages API 的推論
Anthropic Messages API 使用 Anthropic 請求和回應格式,提供 Claude 模型的原生存取權。您可以在 bedrock-mantle和 bedrock-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 之前,請確定您有下列項目:
基本請求
若要將基本訊息傳送至 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 參數設定模型行為。
-
多轉對話 – 傳遞交替user和assistant訊息。
-
工具使用 – 定義模型可以呼叫的工具。請參閱 使用工具完成 Amazon Bedrock 模型回應。
-
視覺 – 將content陣列中的影像與文字一起傳送。
-
提示快取 – 快取常用內容,以減少延遲和成本。
如需完整的 Messages API 請求和回應欄位參考,請參閱 請求與回應。
計數字符
若要在傳送請求以進行推論之前計算請求將使用的輸入字符數量,請使用bedrock-mantle端點上的 Anthropic count_tokens 路徑。這是 Claude 模型唯一支援的字符計數路徑,不適用於bedrock-runtime具有區域特定端點的 ,包括僅使用跨區域推論 (CRIS) 啟動的 Claude 模型。如需詳細資訊和範例,請參閱使用 bedrock-mantle 端點計算權杖。