View a markdown version of this page

Ziele von Inferenzanbietern - Amazon Grundgestein AgentCore

Ziele von Inferenzanbietern

Ziele von Inferenzanbietern geben Ihnen die explizite Kontrolle über den Endpunkt, die Modellzuordnungen und die Operationen für einen Modellanbieter. Verwenden Sie eine Anbieterkonfiguration, wenn Sie anpassen müssen, welche Modelle verfügbar sind, Token-Limits pro Modell festlegen, das Umschreiben von Pfaden konfigurieren oder eine Verbindung zu einem Anbieter herstellen müssen, der keinen integrierten Connector hat.

Zielkonfiguration

Die Zielkonfiguration für ein Ziel eines Inferenzanbieters verwendet die folgende Struktur:

{ "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 (erforderlich) — Die HTTPS-URL des Modellanbieters.

  • ModelMapping (optional) — Konfiguration der Modell-ID-Übersetzung.

    • providerPrefix (optional) — Konfiguriert, wie Clients das Anbieterpräfix in Modell-IDs weglassen können. Wenn dieser Wert weggelassen wird, wird keine Präfixübersetzung angewendet und die Clients müssen die vollständigen Modell-IDs des Anbieters verwenden.

      • strip (optional) — Wann true können Clients Modell-IDs ohne das Anbieterpräfix verwenden (z. B. claude-opus-4-7 anstelle vonanthropic.claude-opus-4-7). Standardeinstellung: false.

      • separator (optional) — Das Trennzeichen zwischen dem Anbieterpräfix und dem Modellnamen (z. B..).

  • operations (optional) — Eine Liste von Betriebskonfigurationen, die Anforderungspfade unterstützten Modellen zuordnen:

    • path (erforderlich) — Der Anforderungspfad für diesen Vorgang (z. B./v1/chat/completions).

    • providerPath (optional) — Der Pfad, an den auf dem Anbieter weitergeleitet werden soll, falls er sich vom Anforderungspfad unterscheidet.

    • models (optional) — Die für diesen Vorgang unterstützten Modelle. Jeder Eintrag enthält ein Modellfeld (erforderlich), das eine Modell-ID oder ein Glob-Muster (z. B.anthropic.claude-opus-*) enthält.

Ein Inferenzziel für Anbieter erstellen

Das folgende Beispiel erstellt ein OpenAI-Inferenzziel mithilfe einer Anbieterkonfiguration:

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 " } } } ] }'

Im folgenden Beispiel wird ein Bedrock-Inferenzziel mit expliziter Anbieterkonfiguration und Modellzuordnung erstellt. Die modelMapping Konfiguration mit providerPrefix ermöglicht es Clients, kurze Modellnamen (likeclaude-opus-4-7) zu verwenden, während das Gateway sie in Namen mit Anbieterpräfix (like) übersetzt: 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"} ] }'

Aufrufen eines Provider-Inferenzziels

Um ein Inferenzziel aufzurufen, senden Sie Anfragen an den Pfad des Gateways. /inference Das Gateway leitet jede Anfrage basierend auf dem model Feld im Anfragetext an das richtige Ziel weiter. Der model Wert kann entweder eine einfache Modell-ID (z. B.gpt-5.5) oder eine zielqualifizierte Modell-ID in der Form {targetName}/{modelId} (z. B.openai/gpt-5.5) sein. Einzelheiten dazu, wie der model Wert einem Ziel zugeordnet wird, finden Sie unter Model-based Routing.

Das URL-Format ist:

https://{gatewayId}.gateway.bedrock-agentcore.{region}.amazonaws.com/inference/{path}

{path}Ersetzen Sie es durch den Pfad der Inferenzoperation (z. B.v1/chat/completions,v1/responses, oderv1/messages).

Verwenden des OpenAI SDK

Stellen Sie den /inference/v1 Pfad des Gateways wie folgt ein: 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!"}] )

Verwenden des Anthropic SDK

Stellen Sie den /inference Pfad des Gateways wie folgt ein: 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!"}] )

Verwenden von 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!"}]}'

Qualifiziertes Modell-Routing

Wenn mehrere Ziele dasselbe Modell bedienen, stellen Sie der Modell-ID den Zielnamen voran, um die Route an einen bestimmten Anbieter weiterzuleiten:

# Route explicitly to the "bedrock" target response = client.chat.completions.create( model="bedrock/claude-opus-4-7", messages=[{"role": "user", "content": "Hello!"}] )

Model-based Routing

Das Gateway leitet Inferenzanfragen auf der Grundlage des model Felds im Hauptteil der Anfrage weiter:

  1. Qualifiziertes Routing — Wenn die Modell-ID ein enthält / und das Präfix mit einem Zielnamen übereinstimmt, wird die Anfrage an dieses Ziel weitergeleitet (z. B. openai/gpt-5.5 Routen zum openai Ziel).

  2. Unqualifiziertes Routing — Wenn die Modell-ID kein A enthält/, gleicht das Gateway es mit allen konfigurierten Zielen ab. Eine exakte Übereinstimmung hat Vorrang vor Glob-Mustern. Wenn genau ein Ziel übereinstimmt, wird die Anfrage an dieses weitergeleitet.

  3. Kollisionsbehandlung — Wenn mehrere Ziele demselben Modell mit derselben Spezifität entsprechen, verwendet das Gateway standardmäßig das Amazon Bedrock-Ziel, wenn eines der Treffer enthalten ist. Andernfalls werden Anfragen in Round-Robin-Reihenfolge auf die passenden Ziele verteilt. Um Anfragen an ein bestimmtes Ziel zu binden, qualifizieren Sie das Modell mit dem Zielnamen als Präfix (z. B.bedrock/claude-opus-4-7).

Streaming

Streaming folgt der OpenAI SSE-Konvention. Wird "stream": true im Anforderungstext festgelegt, und das Gateway durchläuft den SSE-Stream vom Anbieter ohne Transformation:

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="")

Ausgehende Autorisierung

Die Ziele von Inference Providern unterstützen die folgenden Autorisierungstypen für ausgehende Anfragen:

  • IAM (SigV4) — Wird GATEWAY_IAM_ROLE für Anbieter verwendet, die IAM-Authentifizierung akzeptieren (z. B. Amazon Bedrock).

  • API-Schlüssel — Wird API_KEY für Anbieter verwendet, die einen API-Schlüssel benötigen (wie OpenAI und Anthropic). Das Gateway fügt den gespeicherten API-Schlüssel in ausgehende Anfragen ein.