Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Objetivos del proveedor de inferencias
Los objetivos del proveedor de inferencias proporcionan un control explícito sobre el punto final, las asignaciones de modelos y las operaciones de un proveedor de modelos. Usa una configuración de proveedor cuando necesites personalizar los modelos disponibles, establecer límites de tokens por modelo, configurar la reescritura de rutas o conectarte a un proveedor que no tenga un conector integrado.
Temas
Configuración de destino
La configuración de destino de un objetivo de proveedor de inferencias utiliza la siguiente estructura:
{ "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"} ] } ] } } }
-
punto final (obligatorio): la URL HTTPS del proveedor del modelo.
-
ModelMapping (opcional): configuración de traducción del ID del modelo.
-
ProviderPrefix (opcional): configura la forma en que los clientes pueden omitir el prefijo del proveedor en los ID del modelo. Si se omite, no se aplica ninguna traducción de prefijos y los clientes deben usar los ID de modelo completos del proveedor.
-
strip (opcional): cuando
truelos clientes pueden usar los ID de modelo sin el prefijo del proveedor (por ejemplo,claude-opus-4-7en lugar de).anthropic.claude-opus-4-7El valor predeterminado esfalse. -
separador (opcional): el carácter separador entre el prefijo del proveedor y el nombre del modelo (por ejemplo,
.).
-
-
-
operaciones (opcional): una lista de configuraciones de operaciones que asignan las rutas de solicitud a los modelos compatibles:
-
ruta (obligatoria): la ruta de solicitud para esta operación (por ejemplo,
/v1/chat/completions). -
providerPath (opcional): la ruta a la que se debe reenviar en el proveedor si difiere de la ruta de solicitud.
-
modelos (opcional): los modelos compatibles con esta operación. Cada entrada incluye un campo de modelo (obligatorio) que contiene un identificador de modelo o un patrón global (por ejemplo,
anthropic.claude-opus-*).
-
Crear un objetivo de inferencia de proveedores
El siguiente ejemplo crea un objetivo de inferencia de OpenAI mediante una configuración de proveedor:
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 " } } } ] }'
El siguiente ejemplo crea un objetivo de inferencia de Bedrock con una configuración de proveedores y un mapeo de modelos explícitos. La modelMapping configuración providerPrefix permite a los clientes usar nombres de modelo cortos (comoclaude-opus-4-7) mientras que la puerta de enlace los traduce a nombres con el prefijo del proveedor (como): 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"} ] }'
Invocar un objetivo de inferencia de un proveedor
Para invocar un objetivo de inferencia, envíe las solicitudes a la ruta de la puerta de enlace. /inference La puerta de enlace dirige cada solicitud al destino correcto según el model campo del cuerpo de la solicitud. El model valor puede ser un identificador de modelo simple (por ejemplo,gpt-5.5) o un identificador de modelo válido para el objetivo en el formulario {targetName}/{modelId} (por ejemplo,openai/gpt-5.5). Para obtener más información sobre cómo se hace coincidir el model valor con un objetivo, consulte Model-based enrutamiento.
El formato de la dirección URL es:
https://{gatewayId}.gateway.bedrock-agentcore.{region}.amazonaws.com/inference/{path}
{path}Sustitúyalo por la ruta de la operación de inferencia (por ejemplov1/chat/completions,v1/responses, ov1/messages).
Uso del SDK de OpenAI
Establezca la /inference/v1 ruta de la puerta de enlace como: 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!"}] )
Uso del SDK de Anthropic
Establezca la /inference ruta de la puerta de enlace como: 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!"}] )
Uso de 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!"}]}'
Modelo de enrutamiento calificado
Cuando varios destinos sirvan al mismo modelo, añada el nombre del objetivo al ID del modelo como prefijo para dirigirlos a un proveedor específico:
# Route explicitly to the "bedrock" target response = client.chat.completions.create( model="bedrock/claude-opus-4-7", messages=[{"role": "user", "content": "Hello!"}] )
Model-based enrutamiento
La pasarela enruta las solicitudes de inferencia en función del model campo del cuerpo de la solicitud:
-
Enrutamiento cualificado: si el identificador del modelo contiene un nombre de destino
/y el prefijo coincide con el nombre de un objetivo, la solicitud se dirige a ese destino (por ejemplo, seopenai/gpt-5.5dirige alopenaidestino). -
Enrutamiento no calificado: si el ID del modelo no contiene un
/, la puerta de enlace lo compara con todos los destinos configurados. La coincidencia exacta tiene prioridad sobre los patrones globales. Si un objetivo coincide exactamente, la solicitud se dirige a ese objetivo. -
Gestión de colisiones: cuando varios objetivos coinciden con el mismo modelo y con la misma especificidad, la puerta de enlace utiliza de forma predeterminada el objetivo de Amazon Bedrock si hay alguno entre los que coinciden. De lo contrario, distribuye las solicitudes entre los objetivos coincidentes en orden continuo. Para anclar las solicitudes a un objetivo específico, califique el modelo con el nombre del objetivo como prefijo (por ejemplo,).
bedrock/claude-opus-4-7
Para personalizar o anular el objetivo al que se dirige un modelo, puede volver a escribir el model campo en un interceptor de solicitudes. Para obtener más información, consulte Personalizar el modelo de enrutamiento con un interceptor de solicitudes.
Transmisión
La transmisión sigue la convención OpenAI SSE. Si se establece "stream": true en el cuerpo de la solicitud, la puerta de enlace pasará por el flujo de SSE desde el proveedor sin transformarse:
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="")
Autorización de salida
Los objetivos del proveedor de inferencias admiten los siguientes tipos de autorización saliente:
-
IAM (SIGv4): utilícelo
GATEWAY_IAM_ROLEpara los proveedores que aceptan la autenticación de IAM (como Amazon Bedrock). -
Clave de API: utilícela
API_KEYpara los proveedores que requieren una clave de API (como OpenAI y Anthropic). La puerta de enlace inyecta la clave de API almacenada en las solicitudes salientes.