推論プロバイダーのターゲット
推論プロバイダーターゲットを使用すると、モデルプロバイダーのエンドポイント、モデルマッピング、およびオペレーションを明示的に制御できます。使用可能なモデルをカスタマイズしたり、モデルごとのトークン制限を設定したり、パスの書き換えを設定したり、コネクタが組み込まれていないプロバイダーに接続したりする必要がある場合は、プロバイダー設定を使用します。
ターゲット設定
推論プロバイダーターゲットのターゲット設定では、次の構造を使用します。
{ "inference": { "provider": { "endpoint": "https://api.openai.com", "operations": [ { "path": "/v1/chat/completions", "models": [ {"model": "gpt-5.5"}, {"model": "gpt-5.4"}, {"model": "gpt-5.4-mini"} ] }, { "path": "/v1/responses", "models": [ {"model": "gpt-5.5"}, {"model": "gpt-5.4"} ] } ] } } }
-
endpoint (必須) – モデルプロバイダーの HTTPS URL。
-
modelMapping (オプション) – モデル ID 変換設定。
-
providerPrefix (オプション) – クライアントがモデル IDs からプロバイダープレフィックスを省略する方法を設定します。省略した場合、プレフィックス変換は適用されず、クライアントはプロバイダーの完全なモデル IDs を使用する必要があります。
-
strip (オプション) – の場合
true、クライアントはプロバイダープレフィックスなしでモデル IDs を使用できます (たとえば、claude-opus-4-7の代わりに)anthropic.claude-opus-4-7。デフォルトはfalseです。 -
separator (オプション) – プロバイダープレフィックスとモデル名の間の区切り文字 (例:
.)。
-
-
-
operations (オプション) – リクエストパスをサポートされているモデルにマッピングするオペレーション設定のリスト。
-
path (必須) – このオペレーションのリクエストパス (例:
/v1/chat/completions)。 -
providerPath (オプション) – リクエストパスと異なる場合にプロバイダーで に転送するパス。
-
models (オプション) – このオペレーションでサポートされているモデル。各エントリには、モデル ID または glob パターン ( など) を含むモデルフィールド (必須) が含まれます
anthropic.claude-opus-*。
-
プロバイダー推論ターゲットの作成
次の例では、プロバイダー設定を使用して OpenAI 推論ターゲットを作成します。
aws bedrock-agentcore-control create-gateway-target --cli-input-json '{ "gatewayIdentifier": "GATEWAY_ID", "name": "openai", "targetConfiguration": { "inference": { "provider": { "endpoint": "https://api.openai.com", "operations": [ { "path": "/v1/chat/completions", "models": [ {"model": "gpt-5.5"}, {"model": "gpt-5.4"}, {"model": "gpt-5.4-mini"} ] }, { "path": "/v1/responses", "models": [ {"model": "gpt-5.5"}, {"model": "gpt-5.4"} ] } ] } } }, "credentialProviderConfigurations": [ { "credentialProviderType": "API_KEY", "credentialProvider": { "apiKeyCredentialProvider": { "providerArn": "arn:aws:bedrock-agentcore:us-west-2:111122223333:token-vault/default/apikeycredentialprovider/openai-key", "credentialLocation": "HEADER", "credentialParameterName": "Authorization", "credentialPrefix": "Bearer " } } } ] }'
次の例では、明示的なプロバイダー設定とモデルマッピングを使用して Bedrock 推論ターゲットを作成します。を使用したmodelMapping設定providerPrefixでは、クライアントは短いモデル名 ( などclaude-opus-4-7) を使用でき、ゲートウェイはそれらをプロバイダープレフィックス名 ( など) に変換しますanthropic.claude-opus-4-7。
aws bedrock-agentcore-control create-gateway-target --cli-input-json '{ "gatewayIdentifier": "GATEWAY_ID", "name": "bedrock", "targetConfiguration": { "inference": { "provider": { "endpoint": "https://bedrock-mantle.us-east-1.api.aws", "modelMapping": { "providerPrefix": {"strip": true, "separator": "."} }, "operations": [ { "path": "/v1/chat/completions", "models": [ {"model": "anthropic.claude-opus-*"}, {"model": "anthropic.claude-sonnet-*"}, {"model": "openai.gpt-oss-*"} ] }, { "path": "/v1/messages", "providerPath": "/anthropic/v1/messages", "models": [ {"model": "anthropic.claude-opus-*"}, {"model": "anthropic.claude-sonnet-*"} ] } ] } } }, "credentialProviderConfigurations": [ {"credentialProviderType": "GATEWAY_IAM_ROLE"} ] }'
プロバイダー推論ターゲットの呼び出し
推論ターゲットを呼び出すには、ゲートウェイの/inferenceパスにリクエストを送信します。ゲートウェイは、リクエスト本文の modelフィールドに基づいて、各リクエストを正しいターゲットにルーティングします。model 値は、プレーンモデル ID ( などgpt-5.5) または 形式のターゲット修飾モデル ID {targetName}/{modelId} ( など) のいずれかですopenai/gpt-5.5。model 値がターゲットと一致する方法の詳細については、「モデルベースのルーティング」を参照してください。
URL 形式は次のとおりです。
https://{gatewayId}.gateway.bedrock-agentcore.{region}.amazonaws.com/inference/{path}
を推論オペレーションパス (、、 などv1/messages) v1/chat/completions{path}に置き換えv1/responsesます。
OpenAI SDK の使用
ゲートウェイの/inference/v1パスを として設定しますbase_url。
from openai import OpenAI client = OpenAI( base_url="https://<gateway-id>.gateway.bedrock-agentcore.us-west-2.amazonaws.com/inference/v1", api_key="<gateway-auth-token>" ) response = client.chat.completions.create( model="gpt-5.5", messages=[{"role": "user", "content": "Hello!"}] )
Anthropic SDK の使用
ゲートウェイの/inferenceパスを として設定しますbase_url。
import anthropic client = anthropic.Anthropic( base_url="https://<gateway-id>.gateway.bedrock-agentcore.us-west-2.amazonaws.com/inference", api_key="<gateway-auth-token>" ) response = client.messages.create( model="claude-sonnet-4-6", max_tokens=1024, messages=[{"role": "user", "content": "Hello!"}] )
awscurl の使用
awscurl --service bedrock-agentcore --region us-west-2 -X POST \ "https://<gateway-id>.gateway.bedrock-agentcore.us-west-2.amazonaws.com/inference/v1/chat/completions" \ -H "Content-Type: application/json" \ -d '{"model": "gpt-5.5", "messages": [{"role": "user", "content": "Hello!"}]}'
認定モデルルーティング
複数のターゲットが同じモデルを提供する場合は、モデル ID にターゲット名をプレフィックスして、特定のプロバイダーにルーティングします。
# Route explicitly to the "bedrock" target response = client.chat.completions.create( model="bedrock/claude-opus-4-7", messages=[{"role": "user", "content": "Hello!"}] )
モデルベースのルーティング
ゲートウェイは、リクエスト本文の modelフィールドに基づいて推論リクエストをルーティングします。
-
認定ルーティング – モデル ID に が含まれ
/、プレフィックスがターゲット名と一致する場合、リクエストはそのターゲットにルーティングされます (openaiターゲットへのopenai/gpt-5.5ルートなど)。 -
非修飾ルーティング – モデル ID に が含まれていない場合
/、ゲートウェイは設定されたすべてのターゲットと照合します。完全一致は glob パターンよりも優先されます。ターゲットが 1 つだけ一致する場合、リクエストはそのターゲットにルーティングされます。 -
衝突処理 – 複数のターゲットが同じモデルを同じ特異度で一致させる場合、ゲートウェイはデフォルトで Amazon Bedrock ターゲットに一致させます。それ以外の場合、リクエストは一致するターゲット全体にラウンドロビンの順序で分散されます。特定のターゲットにリクエストを固定するには、ターゲット名をプレフィックスとしてモデルを認定します (例:
bedrock/claude-opus-4-7)。
ストリーミング
ストリーミングは OpenAI SSE 規則に従います。リクエスト本文"stream": trueに を設定すると、ゲートウェイは変換なしでプロバイダーから SSE ストリームを通過します。
stream = client.chat.completions.create( model="gpt-5.5", messages=[{"role": "user", "content": "Write a story."}], stream=True ) for chunk in stream: print(chunk.choices[0].delta.content, end="")
アウトバウンド認可
推論プロバイダーターゲットは、次のアウトバウンド認可タイプをサポートしています。
-
IAM (SigV4) – IAM 認証を受け入れるプロバイダー (Amazon Bedrock など)
GATEWAY_IAM_ROLEに使用します。 -
API キー – API キーを必要とするプロバイダー (OpenAI や Anthropic など)
API_KEYに使用します。ゲートウェイは、保存された API キーをアウトバウンドリクエストに挿入します。