Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Cibles des fournisseurs d'inférence
Les cibles des fournisseurs d'inférence vous permettent de contrôler explicitement le point de terminaison, les mappages de modèles et les opérations d'un fournisseur de modèles. Utilisez une configuration de fournisseur lorsque vous devez personnaliser les modèles disponibles, définir des limites de jetons par modèle, configurer la réécriture de chemins ou vous connecter à un fournisseur qui ne possède pas de connecteur intégré.
Rubriques
Configuration cible
La configuration cible d'une cible de fournisseur d'inférence utilise la structure suivante :
{ "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"} ] } ] } } }
-
point de terminaison (obligatoire) : URL HTTPS du fournisseur du modèle.
-
ModelMapping (facultatif) — Configuration de la traduction de l'ID du modèle.
-
ProviderPrefix (facultatif) — Configure la manière dont les clients peuvent omettre le préfixe du fournisseur dans les ID de modèle. En cas d'omission, aucune traduction de préfixe n'est appliquée et les clients doivent utiliser les identifiants de modèle complets du fournisseur.
-
strip (facultatif) — Quand
trueles clients peuvent utiliser des ID de modèle sans le préfixe du fournisseur (par exemple,claude-opus-4-7au lieu deanthropic.claude-opus-4-7). La valeur par défaut estfalse. -
séparateur (facultatif) — Caractère de séparation entre le préfixe du fournisseur et le nom du modèle (par exemple,
.).
-
-
-
opérations (facultatif) — Liste des configurations opérationnelles qui mappent les chemins de demande aux modèles pris en charge :
-
path (obligatoire) — Le chemin de demande pour cette opération (par exemple,
/v1/chat/completions). -
ProviderPath (facultatif) — Le chemin vers lequel rediriger le fournisseur s'il est différent du chemin de la demande.
-
modèles (facultatif) : modèles pris en charge pour cette opération. Chaque entrée comprend un champ de modèle (obligatoire) contenant un identifiant de modèle ou un schéma globulaire (par exemple,
anthropic.claude-opus-*).
-
Création d'une cible d'inférence de fournisseur
L'exemple suivant crée une cible d'inférence OpenAI à l'aide d'une configuration de fournisseur :
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 " } } } ] }'
L'exemple suivant crée une cible d'inférence Bedrock avec une configuration de fournisseur et un mappage de modèles explicites. La modelMapping configuration avec providerPrefix permet aux clients d'utiliser des noms de modèles courts (commeclaude-opus-4-7) pendant que la passerelle les traduit en noms préfixés par le fournisseur (comme) : 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"} ] }'
Invocation d'une cible d'inférence de fournisseur
Pour invoquer une cible d'inférence, envoyez des requêtes au chemin de la passerelle. /inference La passerelle achemine chaque demande vers la bonne cible en fonction du model champ du corps de la demande. La model valeur peut être un identifiant de modèle simple (par exemplegpt-5.5) ou un identifiant de modèle qualifié pour la cible dans le formulaire {targetName}/{modelId} (par exemple,openai/gpt-5.5). Pour plus de détails sur la manière dont la model valeur est mise en correspondance avec une cible, consultez la section Model-based Routage.
Le format de l'URL est le suivant :
https://{gatewayId}.gateway.bedrock-agentcore.{region}.amazonaws.com/inference/{path}
Remplacez-le {path} par le chemin de l'opération d'inférence (par exemplev1/chat/completions,v1/responses, ouv1/messages).
Utilisation du SDK OpenAI
Définissez le /inference/v1 chemin de la passerelle comme suit 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!"}] )
Utilisation du SDK Anthropic
Définissez le /inference chemin de la passerelle comme suit 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!"}] )
Utilisation d'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!"}]}'
Routage des modèles qualifiés
Lorsque plusieurs cibles desservent le même modèle, préfixez l'ID du modèle avec le nom de la cible pour l'acheminer vers un fournisseur spécifique :
# Route explicitly to the "bedrock" target response = client.chat.completions.create( model="bedrock/claude-opus-4-7", messages=[{"role": "user", "content": "Hello!"}] )
Model-based routage
La passerelle achemine les demandes d'inférence en fonction du model champ du corps de la demande :
-
Routage qualifié : si l'ID du modèle contient un
/et que le préfixe correspond à un nom de cible, la demande est acheminée vers cette cible (par exemple,openai/gpt-5.5les itinéraires vers laopenaicible). -
Routage non qualifié : si l'ID du modèle ne contient pas de
/, la passerelle le compare à toutes les cibles configurées. Une correspondance exacte a priorité sur les modèles globulaires. Si exactement une cible correspond, la demande lui est acheminée. -
Gestion des collisions : lorsque plusieurs cibles correspondent au même modèle avec la même spécificité, la passerelle utilise par défaut la cible Amazon Bedrock si l'une d'entre elles correspond. Dans le cas contraire, il distribue les demandes entre les cibles correspondantes dans un ordre circulaire. Pour affecter les demandes à une cible spécifique, qualifiez le modèle en utilisant le nom de la cible comme préfixe (par exemple,
bedrock/claude-opus-4-7).
Pour personnaliser ou modifier la cible vers laquelle un modèle est acheminé, vous pouvez réécrire le model champ dans un intercepteur de requêtes. Pour plus d'informations, voir Personnaliser le routage des modèles à l'aide d'un intercepteur de requêtes.
Streaming
Le streaming suit la convention OpenAI SSE. "stream": trueDéfini dans le corps de la requête, et la passerelle passe par le flux SSE du fournisseur sans 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="")
Autorisation sortante
Les cibles des fournisseurs d'inférence prennent en charge les types d'autorisation sortante suivants :
-
IAM (Sigv4) : à utiliser
GATEWAY_IAM_ROLEpour les fournisseurs qui acceptent l'authentification IAM (comme Amazon Bedrock). -
Clé API : à utiliser
API_KEYpour les fournisseurs qui ont besoin d'une clé API (tels que OpenAI et Anthropic). La passerelle injecte la clé API stockée dans les demandes sortantes.