本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Anthropic 消息 API 进行推理
Anthropic Messages API 使用 Anthropic 请求和响应格式提供对 Claude 模型的原生访问权限。您可以在bedrock-mantle和bedrock-runtime端点上使用 Messages API,这样您就可以灵活地选择适合您的应用程序的身份验证和集成风格。
| Endpoint |
基本网址 |
使用案例 |
bedrock-mantle |
https://bedrock-mantle.{region}.api.aws/anthropic/v1/messages |
推荐用于新应用程序。支持 API 密钥身份验证和工作空间 () Anthropic-compatible. |
bedrock-runtime |
https://bedrock-runtime.{region}.amazonaws.com |
与现有的 AWS SDK 集成和调用日志一起使用。 |
支持的区域:
消息 API 可在所有支持的区域的bedrock-mantle终端节点上使用bedrock-mantle(请参阅支持的区域和终端节点)。在bedrock-runtime终端上,它适用于所有可用 Claude 模型的区域。有关详细信息,请参阅各型号的地区供货情况。
先决条件
在使用消息 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)
-
使用 C AWS LI 调用模型:
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)
-
你可以使用 AWS sigv4 签署请求,bedrock-runtime直接用 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 SDK 或 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="")
支持的功能
除了上面的 “扩展思维”、“自适应思维”、“结构化输出”、“压缩”、“拒绝请求的后备积分(测试版)” 和 “Mid-conversation 系统消息” 部分外,消息 API 还支持 Claude 模型的以下功能:
-
系统提示-使用system参数设置模型行为。
-
Multi-turn 对话 —传递交替user和assistant消息。
-
工具使用-定义模型可以调用的工具。请参阅使用工具完成 Amazon Bedrock 模型响应。
-
Vision — 将content数组中的图像与文本一起发送。
-
提示缓存-缓存常用的上下文以减少延迟和成本。
有关完整的消息 API 请求和响应字段参考,请参阅请求和响应。
计算代币
要计算请求在发送请求进行推断之前将消耗的输入令牌数量,请使用端点上的 Anthropic count_tokens 路径。bedrock-mantle这是唯一支持 Region-specific 终端节点的 Claude 模型的代币计数路径,包括仅bedrock-runtime使用跨区域推理 (CRIS) 启动的 Claude 模型。有关详细信息和示例,请参阅使用基岩地幔端点计算代币。