Bedrock の Anthropic 互換エンドポイント(Mantle)で、LangChain から Opus 4.7 を呼んでみた
本日リリースされた Claude Opus 4.7 の AWS 公式ブログ で、AnthropicBedrockMantle というクライアントが紹介されていました。
from anthropic import AnthropicBedrockMantle
client = AnthropicBedrockMantle(aws_region=REGION)
Mantle のドキュメント には OpenAI 互換 API(Chat Completions / Responses)しか記載がありません。このクライアントはどこに接続しているのか、気になったので調べてみました。
デバッグログからエンドポイントを特定
AnthropicBedrockMantle でデバッグログを有効にして呼び出してみました。
pip install "anthropic[bedrock]"
import logging
logging.basicConfig(level=logging.DEBUG)
from anthropic import AnthropicBedrockMantle
client = AnthropicBedrockMantle(aws_region="ap-northeast-1")
response = client.messages.create(
model="anthropic.claude-opus-4-7",
max_tokens=256,
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.content[0].text)
問題なく動作し、ログに以下の行が出力されました。
DEBUG:anthropic._base_client:Sending HTTP Request: POST https://bedrock-mantle.ap-northeast-1.api.aws/anthropic/v1/messages
INFO:httpx:HTTP Request: POST https://bedrock-mantle.ap-northeast-1.api.aws/anthropic/v1/messages "HTTP/1.1 200 OK"
bedrock-mantle エンドポイントに /anthropic/v1/messages というパスが存在していました。これは Mantle のドキュメントに記載されている OpenAI 互換パス(/v1/chat/completions、/v1/responses)とは別の、Anthropic Messages API 互換のエンドポイントです。
各パスの対応状況
Opus 4.7 で各パスを試した結果です。
| API パス | 形式 | Opus 4.7 |
|---|---|---|
/v1/models |
OpenAI 互換 | ✅ リスト表示される |
/v1/chat/completions |
OpenAI 互換 | ❌ 「このモデルは非対応」 |
/v1/responses |
OpenAI 互換 | ❌ 「このモデルは非対応」 |
/anthropic/v1/messages |
Anthropic 互換 | ✅ 正常にレスポンス |
現時点では Opus 4.7 のみがこの Anthropic 互換パスに対応しており、Opus 4.6 や Sonnet 4.6 では利用できませんでした。
curl で直接叩いてみる
エンドポイントがわかったので、curl でも確認しました。SigV4 の署名サービス名は bedrock-mantle です。
curl -s -X POST \
"https://bedrock-mantle.ap-northeast-1.api.aws/anthropic/v1/messages" \
--aws-sigv4 "aws:amz:ap-northeast-1:bedrock-mantle" \
--user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}" \
-H "x-amz-security-token: ${AWS_SESSION_TOKEN}" \
-H "Content-Type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "anthropic.claude-opus-4-7",
"max_tokens": 64,
"messages": [{"role": "user", "content": "Hello!"}]
}'
{
"model": "claude-opus-4-7",
"content": [
{
"type": "text",
"text": "Hello! How can I help you today?"
}
],
"stop_reason": "end_turn",
"usage": {
"input_tokens": 24,
"output_tokens": 15,
"service_tier": "standard"
}
}
anthropic-version ヘッダーが必要な点に注意してください。
素の Anthropic SDK + 短期 Bedrock API キーで呼び出し
ここからが本題です。エンドポイントが Anthropic Messages API 互換であるなら、素の Anthropic クライアントでも base_url を差し替えれば動くはずと、試してみました。
認証には 短期 Bedrock API キー を使いました。aws-bedrock-token-generator で発行でき、最大 12 時間有効です。IAM ユーザーの作成は不要で、現在の認証情報から生成できます。
pip install aws-bedrock-token-generator
from aws_bedrock_token_generator import provide_token
import anthropic
token = provide_token(region='ap-northeast-1')
client = anthropic.Anthropic(
base_url="https://bedrock-mantle.ap-northeast-1.api.aws/anthropic",
api_key=token
)
response = client.messages.create(
model="anthropic.claude-opus-4-7",
max_tokens=64,
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.content[0].text)
print(f"model: {response.model}")
print(f"usage: input={response.usage.input_tokens}, output={response.usage.output_tokens}")
Hello! How can I help you today?
model: claude-opus-4-7
usage: input=24, output=15
動きました。素の Anthropic SDK で、Bedrock 経由の Opus 4.7 を Anthropic API と同じ使用感で呼び出せました。ポイントは以下の 3 点です。
base_urlをhttps://bedrock-mantle.{region}.api.aws/anthropicに設定api_keyに短期 Bedrock API キーを渡す- あとは通常の Anthropic API と同じコードがそのまま動く
Anthropic SDK 向けに書かれた既存のコードやツール群の資産を、Bedrock のセキュアな環境下で活用できる可能性があります。
LangChain でも動作確認
langchain-anthropic の ChatAnthropic でも、anthropic_api_url を差し替えるだけで動作しました。
pip install langchain-anthropic
from aws_bedrock_token_generator import provide_token
from langchain_anthropic import ChatAnthropic
token = provide_token(region='ap-northeast-1')
llm = ChatAnthropic(
model="anthropic.claude-opus-4-7",
anthropic_api_key=token,
anthropic_api_url="https://bedrock-mantle.ap-northeast-1.api.aws/anthropic",
max_tokens=64,
)
response = llm.invoke("Amazon Bedrockとは?1行で。")
print(response.content)
Amazon Bedrockとは、AWSが提供する、複数の基盤モデル(FM)をAPI経由で利用できるフルマネージド型の生成AIサービスです。
Anthropic SDK をベースとするエコシステムであれば、エンドポイントの差し替えだけで Bedrock 経由のモデルを利用できることが確認できました。
まとめ
Bedrock Mantle に Anthropic Messages API 互換のエンドポイント(/anthropic/v1/messages)が追加されていました。
Mantle はこれまで OpenAI 互換 API(Chat Completions / Responses)のみを提供していましたが、2026年2月に OpenAI と Amazon の戦略的パートナーシップ が発表されており、その流れで各ベンダーのネイティブ API を束ねる方向に拡張されたものと思われます。
現時点では以下の制約があります。
- Opus 4.7 のみ対応(Opus 4.6 / Sonnet 4.6 は非対応)
- 公式ドキュメントに
/anthropic/v1/messagesパスの記載はまだない
現時点での本番利用は時期尚早ですが、Bedrock 経由のモデルが Anthropic SDK を利用するワークロードからもシームレスに呼び出せるようになるのは非常に魅力的です。今後の展開に期待したいと思います。







