View a markdown version of this page

Alvos do conector de inferência - Amazon Bedrock AgentCore

Alvos do conector de inferência

Os alvos do conector de inferência fornecem configuração pré-configurada para provedores de modelos compatíveis. Quando você usa um conector, o gateway manipula automaticamente as operações, a descoberta do modelo, a tradução do ID do modelo e a reescrita do caminho com base no conhecimento incorporado da API do provedor, para que você não precise especificá-los manualmente.

Os conectores são recomendados quando você deseja adicionar rapidamente um provedor de modelos compatível sem configurar manualmente endpoints, operações ou mapeamentos de modelos.

Configurações de destino

A configuração de destino para um destino de conector de inferência usa a seguinte estrutura:

{ "inference": { "connector": { "source": { "connectorId": "bedrock-mantle" } } } }
  • connectorID (obrigatório) — Identificador do conector embutido. Os valores compatíveis são bedrock-mantle, openai e anthropic.

Cada conector fornece padrões integrados equivalentes a uma configuração de provedor totalmente especificada. Por exemplo, o bedrock-mantle conector configura automaticamente:

  • Remoção do prefixo do ID do modelo — Os clientes podem omitir o prefixo do provedor dos IDs do modelo (por exemplo, usar claude-opus-4-7 em vez de). anthropic.claude-opus-4-7

  • Reescrita do caminho — os caminhos de solicitação de inferência de entrada são mapeados para os caminhos de API do provedor.

  • Operações suportadas — O conjunto de operações de inferência que o conector expõe, como mensagens e conclusões de bate-papos.

Criação de um alvo de inferência de conectores

O exemplo a seguir mostra como criar um alvo de inferência usando o conector Bedrock Mantle:

aws bedrock-agentcore-control create-gateway-target --cli-input-json '{ "gatewayIdentifier": "GATEWAY_ID", "name": "bedrock-mantle", "targetConfiguration": { "inference": { "connector": { "source": { "connectorId": "bedrock-mantle" } } } }, "credentialProviderConfigurations": [ {"credentialProviderType": "GATEWAY_IAM_ROLE"} ] }'

O exemplo a seguir mostra como criar um destino de inferência usando o conector OpenAI:

aws bedrock-agentcore-control create-gateway-target --cli-input-json '{ "gatewayIdentifier": "GATEWAY_ID", "name": "openai", "targetConfiguration": { "inference": { "connector": { "source": { "connectorId": "openai" } } } }, "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 " } } } ] }'

O exemplo a seguir mostra como criar um alvo de inferência usando o conector Anthropic:

aws bedrock-agentcore-control create-gateway-target --cli-input-json '{ "gatewayIdentifier": "GATEWAY_ID", "name": "anthropic", "targetConfiguration": { "inference": { "connector": { "source": { "connectorId": "anthropic" } } } }, "credentialProviderConfigurations": [ { "credentialProviderType": "API_KEY", "credentialProvider": { "apiKeyCredentialProvider": { "providerArn": "arn:aws:bedrock-agentcore:us-west-2:111122223333:token-vault/default/apikeycredentialprovider/anthropic-key", "credentialLocation": "HEADER", "credentialParameterName": "x-api-key" } } } ] }'

Invocando um alvo de inferência de conectores

Para invocar um alvo de inferência, envie solicitações para o caminho do /inference gateway. O gateway encaminha cada solicitação para o destino correto com base no model campo no corpo da solicitação. O model valor pode ser um ID de modelo simples (por exemplo,gpt-5.5) ou um ID de modelo qualificado para o alvo no formulário {targetName}/{modelId} (por exemplo,openai/gpt-5.5). Para obter detalhes sobre como o model valor corresponde a uma meta, consulte Model-based roteamento.

O formato do URL é:

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

{path}Substitua pelo caminho da operação de inferência (por exemplov1/chat/completions,v1/responses, ouv1/messages).

Usando o SDK do OpenAI

Defina o /inference/v1 caminho do gateway comobase_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!"}] )

Usando o Anthropic SDK

Defina o /inference caminho do gateway comobase_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!"}] )

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

Listando os modelos disponíveis

Para descobrir modelos disponíveis em todos os alvos de inferência, chame o endpoint dos modelos de lista:

awscurl --service bedrock-agentcore --region us-west-2 \ "https://<gateway-id>.gateway.bedrock-agentcore.us-west-2.amazonaws.com/inference/v1/models"

A resposta está no /v1/models formato do OpenAI com IDs de modelo prefixados pelo nome de destino:

{ "data": [ {"id": "bedrock-mantle/anthropic.claude-opus-4-7", "object": "model", "owned_by": "system"}, {"id": "openai/gpt-5.5", "object": "model", "owned_by": "openai"}, {"id": "anthropic/claude-sonnet-4-6", "object": "model", "owned_by": "anthropic"} ] }

O owned_by campo indica o fornecedor do modelo. Um valor de system indica um modelo hospedado pelo Amazon Bedrock, enquanto openai e anthropic indica modelos atendidos diretamente por esses fornecedores.

Model-based roteamento

O gateway encaminha as solicitações de inferência com base no model campo no corpo da solicitação:

  1. Roteamento qualificado — Se o ID do modelo contiver um / e o prefixo corresponder ao nome de um destino, a solicitação será roteada para esse destino (por exemplo, openai/gpt-5.5 rotas para o openai destino).

  2. Roteamento não qualificado — Se o ID do modelo não contiver um/, o gateway o comparará com todos os destinos configurados. Uma correspondência exata tem prioridade sobre os padrões globais. Se exatamente um destino corresponder, a solicitação será encaminhada para ele.

  3. Tratamento de colisão — Quando vários alvos correspondem ao mesmo modelo com a mesma especificidade, o gateway assume como padrão o alvo Amazon Bedrock se um estiver entre as correspondências. Caso contrário, ele seleciona um dos alvos correspondentes aleatoriamente em cada solicitação, para que as solicitações do mesmo modelo possam chegar a alvos diferentes. Para fixar solicitações em um alvo específico, qualifique o modelo com o nome do alvo como prefixo (por exemplo,bedrock/claude-opus-4-7).

Streaming

O streaming segue a convenção OpenAI SSE. "stream": trueDefinido no corpo da solicitação, o gateway passa pelo fluxo SSE do provedor sem transformação:

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

Limites do fluxo de resposta

Importante

AgentCore O gateway não impõe um nível máximo de serviço na duração do fluxo de resposta ou no tamanho da resposta. Se você não configurar uma política de limite de token no destino do gateway, cada solicitação poderá gerar uma resposta de streaming ilimitada.

Sem uma política de limite de token configurada, respostas ilimitadas podem causar os seguintes problemas:

  • Esgotamento dos recursos do gateway — O gateway mantém os recursos computacionais (memória, slots do pool de conexões HTTP e CPU para avaliação de políticas) abertos durante cada resposta de streaming. Grandes fluxos simultâneos podem esgotar os recursos de tarefas do gateway.

  • Amplificação de custos em credenciais compartilhadas — Todos os usuários que passam pelo mesmo destino compartilham um conjunto de credenciais de provedor. Um único usuário que envia altas max_tokens solicitações pode consumir a cota de tokens por minuto (TPM) do provedor para todos os usuários desse alvo.

  • Efeitos de vizinhança ruidosa — a limitação Requests-per-minute (RPM) limita a contagem de solicitações, mas não o custo por solicitação. Um único usuário pode gerar solicitações de custo máximo dentro do limite de RPM, reduzindo o desempenho de outros usuários.

Para mitigar esses riscos, configure uma política de limite de token em seus alvos de gateway. Para obter mais informações, consulte Políticas de gateway.

Autorização de saída

Os alvos do conector de inferência oferecem suporte aos seguintes tipos de autorização de saída:

  • IAM (SigV4) — Use GATEWAY_IAM_ROLE para provedores que aceitam a autenticação do IAM (como o Amazon Bedrock).

  • Chave de API — Use API_KEY para provedores que exigem uma chave de API (como OpenAI e Anthropic). O gateway injeta a chave de API armazenada nas solicitações de saída.