Amazon Bedrock 模型调用指南:Mantle、InvokeModel、Converse 三条路径详解

本文介绍 Amazon Bedrock 的三条模型调用路径:bedrock-mantle(Anthropic Messages API + OpenAI 兼容接口)和 bedrock-runtime(InvokeModel / Converse),帮你根据场景选择最合适的接入方式。

更新于 2026-04-21:补充 Bedrock Mantle 对 Claude/Anthropic Messages API 的支持、InvokeModel vs Converse 对比、IAM/CRIS 差异、安全模型等内容。

更新于 2026-06-12:补充 OpenAI GPT-5.5/5.4 (Responses API)、Claude Fable 5 (Data Retention)、bedrock-mantle Claude 支持现状、mantle 独立 data_retention 设置。

背景

Bedrock 目前提供两个推理 endpoint,底层都跑在同一代全新推理引擎(Mantle)上,性能与延迟等价,差别在入口、API 格式与可用功能。

Endpoint 对比:bedrock-runtime vs bedrock-mantle


bedrock-runtimebedrock-mantle
Endpointbedrock-runtime.{region}.amazonaws.combedrock-mantle.{region}.api.aws
支持 APIInvokeModel / Converse / Messages(皆可用)Anthropic Messages ✅;OpenAI Chat Completions ✅;OpenAI Responses ✅
适用模型所有 Bedrock 模型(Claude、第三方、自定义)Claude(Messages API)+ OpenAI/DeepSeek/Qwen/GLM 等(Chat Completions / Responses API)
CRISGeo CRIS (US/EU/JP) + Global CRIS + GovCloud仅 in-region (US/EU/JP),无 Global CRIS
Cross-Inference✅ 支持(model ID 需加区域前缀如 us.❌ 不支持(model ID 不加前缀)
IAM Actionbedrock:InvokeModel(现有策略可直接用)bedrock-mantle:CreateInference(需新加策略)
CloudWatch / Service QuotasDay-1 可见已上线;RPM 配额已移除,改为 token-based 智能调度
Projects✅ 已上线;支持 Project 级别 data_retention 隔离
Quota按 account × CRIS type × endpoint 计算
迁移成本现有客户只更新 model ID 即可,最低面向 OpenAI SDK / Anthropic SDK 迁移客户

🔒 安全模型:两个 endpoint 均基于 AWS Nitro,支持 Zero Operator Access (ZOA) + ZDR — 无任何 AWS/Anthropic operator 可访问 prompts/completions;推理软件更新需签名校验。

三条调用路径详解

路径一:Anthropic Messages API(bedrock-mantle)

使用 Anthropic 官方 SDK 直接调用 Claude,endpoint 为 bedrock-mantle.{region}.api.aws

# 安装 SDK
pip install anthropic[bedrock]
from anthropic import AnthropicBedrockMantle

client = AnthropicBedrockMantle(aws_region="us-east-1")

message = client.messages.create(
    model="anthropic.claude-opus-4-7",
    max_tokens=16000,
    thinking={"type": "adaptive"},
    extra_body={
        "output_config": {"effort": "medium"},
        "anthropic_beta": ["task-budgets-2026-03-13"],
    },
    messages=[{"role": "user", "content": "..."}],
)
print(message.content[0].text)

关键点:

  • Mantle endpoint 不支持 Cross-Inference,model ID 不需要加区域前缀
  • 需要新增 IAM 策略:bedrock-mantle:CreateInference(见下方 IAM 配置)
  • SDK 支持 Python / TS / Go / Java / C# / PHP / Ruby
  • Endpoint: https://bedrock-mantle.{region}.api.aws/anthropic/v1/messages

路径二:InvokeModel(bedrock-runtime)

使用 boto3 的 invoke_model,body 为 Anthropic 原生 JSON 格式。支持 adaptive thinking / vision / tool use / compaction。

import boto3, json

client = boto3.client('bedrock-runtime')

body = {
    "anthropic_version": "bedrock-2023-05-31",
    "max_tokens": 16000,
    "thinking": {"type": "adaptive"},
    "output_config": {"effort": "high"},
    "messages": [{"role": "user", "content": "..."}],
}

resp = client.invoke_model(
    modelId="us.anthropic.claude-opus-4-7",
    body=json.dumps(body),
)

路径三:Converse(bedrock-runtime)

多模型统一接口,最简洁的集成路径,方便在不同模型/厂商间切换。支持 adaptive thinking 与 tool use;Compaction 在 beta 期不支持。

import boto3

client = boto3.client('bedrock-runtime')

resp = client.converse(
    modelId="us.anthropic.claude-opus-4-7",
    messages=[{
        "role": "user",
        "content": [{"text": "..."}],
    }],
    inferenceConfig={
        "maxTokens": 16000,
    },
    additionalModelRequestFields={
        "thinking": {"type": "adaptive"},
        "output_config": {"effort": "high"},
    },
)

三条路径对比速查


Mantle — Anthropic MessagesRuntime — InvokeModelRuntime — Converse
SDKAnthropic SDKboto3boto3
Body 格式Anthropic 原生Anthropic 原生 JSON统一格式
多模型切换仅 Claude需适配不同 body✅ 统一接口
Adaptive Thinking
Tool Use✅ (server-side)
Compaction❌ beta 期不支持
Vision
Cross-Inference
认证方式SigV4 / API KeySigV4SigV4

IAM 策略配置

bedrock-runtime(InvokeModel / Converse)使用现有 bedrock:InvokeModel 权限,已有策略无需修改。

bedrock-mantle 需要新增策略:

{
  "Effect": "Allow",
  "Action": "bedrock-mantle:CreateInference",
  "Resource": "arn:aws:bedrock-mantle:*:*:project/*",
  "Condition": { ... }
}

OpenAI GPT-5.5 / GPT-5.4(bedrock-mantle only)

GPT-5.5 和 GPT-5.4 于 2026 年 6 月 1 日在 Bedrock GA,仅通过 bedrock-mantle 端点提供,使用 OpenAI Responses API 格式。不支持 bedrock-runtime (Converse/InvokeModel)。


GPT-5.5GPT-5.4
Model IDopenai.gpt-5.5openai.gpt-5.4
Context~1M tokens~1M tokens
Max Output128K128K
定价 (Input/Output)$5 / $30 per 1M$2.50 / $15 per 1M
区域us-east-1, us-east-2us-east-1, us-east-2, us-west-2
Vision✅ (base64 / s3:// only)
APIResponses APIResponses API
from openai import OpenAI
import os

client = OpenAI(
    base_url="https://bedrock-mantle.us-east-2.api.aws/openai/v1",
    api_key=os.environ["BEDROCK_API_KEY"],
)

response = client.responses.create(
    model="openai.gpt-5.5",
    input=[
        {"role": "developer", "content": "You are a helpful assistant."},
        {"role": "user", "content": "What is Amazon Bedrock?"},
    ],
    reasoning={"effort": "medium"},
    text={"verbosity": "low"},
)
print(response.output_text)

注意:GPT-5.5/5.4 不在 list-foundation-models 里,只能通过 /v1/models 端点查询;SigV4 签名的 service name 为 bedrock-mantle

Claude Fable 5(Data Retention 要求)

Claude Fable 5 于 2026-06-09 发布,是 Anthropic 的 Mythos 级模型。需要开启 provider_data_share 数据保留模式才能调用(数据保留 30 天,Anthropic 可人工审查)。

属性
Model ID (runtime)global.anthropic.claude-fable-5
Model ID (mantle)anthropic.claude-fable-5
Context1M tokens
Max Output128K
定价 (Input/Output)$10 / $50 per 1M
ReasoningAlways on (adaptive, effort 可调)
Sampling 限制temperature 必须 1.0;top_p ≥ 0.99;不支持 top_k

Data Retention 配置(Project 级别隔离):

# 1. 创建专用 Project
curl -X POST \
  --aws-sigv4 "aws:amz:us-east-1:bedrock-mantle" \
  --user "$AK:$SK" \
  -H "Content-Type: application/json" \
  -d '{"name": "fable5-only"}' \
  "https://bedrock-mantle.us-east-1.api.aws/v1/organization/projects"

# 2. 设置 Project 级别 data_retention(仅传此字段)
curl -X POST \
  --aws-sigv4 "aws:amz:us-east-1:bedrock-mantle" \
  --user "$AK:$SK" \
  -H "Content-Type: application/json" \
  -d '{"data_retention": {"mode": "provider_data_share"}}' \
  "https://bedrock-mantle.us-east-1.api.aws/v1/organization/projects/{project_id}"

# 3. 调用时带 workspace header
curl --aws-sigv4 "aws:amz:us-east-1:bedrock-mantle" \
  --user "$AK:$SK" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-workspace-id: {project_id}" \
  -d '{"model":"anthropic.claude-fable-5","max_tokens":4096,"messages":[...]}' \
  "https://bedrock-mantle.us-east-1.api.aws/anthropic/v1/messages"

关键点:

  • 账户级别保持 default,只在 Project 里开 provider_data_share — 其他模型不受影响
  • bedrock-runtime 需要账户级别开启 provider_data_share 才能用(无 Project 隔离)
  • bedrock-mantle 和 bedrock-runtime 的 data_retention 独立管理,需分别设置
  • 有害 prompt 会被路由到 Opus 4.8(按 Opus 价格计费,数据不共享)

bedrock-mantle Data Retention 管理

注意:bedrock-mantle 有独立于 bedrock-runtime 的 data_retention 设置。

# 查看 mantle 账户级别
curl --aws-sigv4 "aws:amz:{region}:bedrock-mantle" --user "$AK:$SK" \
  "https://bedrock-mantle.{region}.api.aws/v1/data_retention"

# 设置 mantle 账户级别
curl -X PUT --aws-sigv4 "aws:amz:{region}:bedrock-mantle" --user "$AK:$SK" \
  -H "Content-Type: application/json" -d '{"mode": "default"}' \
  "https://bedrock-mantle.{region}.api.aws/v1/data_retention"

# 查看 runtime 账户级别
curl --aws-sigv4 "aws:amz:{region}:bedrock" --user "$AK:$SK" \
  "https://bedrock.{region}.amazonaws.com/data-retention"

实操注意事项

  • Inference Profile URL 编码:通过 HTTP 直接调用 bedrock-runtime 时,用户自定义 inference profile 的 ARN 中 / 需编码为 %2F,否则返回 UnknownOperationException
  • bedrock-mantle SigV4 service name:签名时必须用 bedrock-mantle,不是 bedrock
  • Anthropic Messages API 必须带 header:anthropic-version: 2023-06-01
  • GPT-5.5/5.4 图片输入:只支持 data:image/...;base64,...s3://,不支持外部 HTTP URL
  • Fable 5 sampling 限制:temperature 必须 1.0 或不设;top_p ≥ 0.99;不支持 top_k

参考

Next Post Previous Post
No Comment
Add Comment
comment url