Obiettivi del connettore di inferenza
Gli obiettivi dei connettori di inferenza forniscono una configurazione preconfigurata per i fornitori di modelli supportati. Quando si utilizza un connettore, il gateway gestisce automaticamente le operazioni, l'individuazione dei modelli, la traduzione degli ID dei modelli e la riscrittura dei percorsi in base alla conoscenza integrata dell'API del provider, quindi non è necessario specificarli manualmente.
I connettori sono consigliati quando si desidera aggiungere rapidamente un provider di modelli supportato senza configurare manualmente gli endpoint, le operazioni o le mappature dei modelli.
Argomenti
Configurazione della destinazione
La configurazione di destinazione per una destinazione del connettore di inferenza utilizza la seguente struttura:
{ "inference": { "connector": { "source": { "connectorId": "bedrock-mantle" } } } }
-
connectorID (obbligatorio) — Identificatore del connettore integrato. I valori supportati sono
bedrock-mantle,openaieanthropic.
Ogni connettore fornisce impostazioni predefinite integrate equivalenti a una configurazione del provider completamente specificata. Ad esempio, il connettore configura automaticamentebedrock-mantle:
-
Eliminazione del prefisso dell'ID del modello: i client possono omettere il prefisso del provider dagli ID del modello (ad esempio, utilizzarlo invece di).
claude-opus-4-7anthropic.claude-opus-4-7 -
Riscrittura dei percorsi: i percorsi delle richieste di inferenza in entrata vengono mappati sui percorsi API del provider.
-
Operazioni supportate: l'insieme di operazioni di inferenza esposte dal connettore, come il completamento delle chat e i messaggi.
Creazione di un obiettivo di inferenza del connettore
L'esempio seguente mostra come creare un target di inferenza utilizzando il connettore 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"} ] }'
L'esempio seguente mostra come creare un target di inferenza utilizzando il connettore 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 " } } } ] }'
L'esempio seguente mostra come creare un target di inferenza utilizzando il connettore 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" } } } ] }'
Richiamo di un target di inferenza del connettore
Per richiamare un target di inferenza, invia le richieste al percorso del gateway. /inference Il gateway indirizza ogni richiesta alla destinazione corretta in base al model campo nel corpo della richiesta. Il model valore può essere un semplice ID del modello (ad esempio,gpt-5.5) o un ID modello qualificato per il target nel modulo {targetName}/{modelId} (ad esempio,openai/gpt-5.5). Per i dettagli su come il model valore viene abbinato a un obiettivo, vedete routing. Model-based
Il formato dell'URL è:
https://{gatewayId}.gateway.bedrock-agentcore.{region}.amazonaws.com/inference/{path}
Sostituisci {path} con il percorso dell'operazione di inferenza (ad esempiov1/chat/completions,v1/responses, ov1/messages).
Utilizzo dell'SDK OpenAI
Imposta il /inference/v1 percorso del gateway come: 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!"}] )
Utilizzando Anthropic SDK
Imposta il /inference percorso del gateway come: 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!"}] )
Usare 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!"}]}'
Elenco dei modelli disponibili
Per scoprire i modelli disponibili su tutti gli obiettivi di inferenza, chiama l'endpoint list models:
awscurl --service bedrock-agentcore --region us-west-2 \ "https://<gateway-id>.gateway.bedrock-agentcore.us-west-2.amazonaws.com/inference/v1/models"
La risposta è nel /v1/models formato di OpenAI con gli ID del modello preceduti dal nome del target:
{ "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"} ] }
Il owned_by campo indica il fornitore del modello. Un valore di system indica un modello ospitato da Amazon Bedrock, mentre openai e anthropic indica i modelli serviti direttamente da tali fornitori.
Model-based routing
Il gateway indirizza le richieste di inferenza in base al model campo nel corpo della richiesta:
-
Routing qualificato: se l'ID del modello contiene un
/e il prefisso corrisponde al nome di una destinazione, la richiesta viene indirizzata a tale destinazione (ad esempio, leopenai/gpt-5.5rotte verso la destinazione).openai -
Routing non qualificato: se l'ID del modello non contiene un
/, il gateway lo confronta con tutte le destinazioni configurate. Una corrispondenza esatta ha la priorità rispetto ai modelli a globo. Se esattamente un obiettivo corrisponde, la richiesta viene indirizzata ad esso. -
Gestione delle collisioni: quando più target corrispondono allo stesso modello con la stessa specificità, il gateway utilizza come impostazione predefinita il target Amazon Bedrock, se presente tra le corrispondenze. Altrimenti, seleziona uno degli obiettivi corrispondenti a caso per ogni richiesta, in modo che le richieste per lo stesso modello possano finire su obiettivi diversi. Per associare le richieste a un obiettivo specifico, qualifica il modello con il nome del target come prefisso (ad esempio,).
bedrock/claude-opus-4-7
Streaming
Lo streaming segue la convenzione OpenAI SSE. Impostato "stream": true nel corpo della richiesta, il gateway passa attraverso il flusso SSE del provider senza alcuna trasformazione:
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="")
Limiti del flusso di risposta
Importante
AgentCore Gateway non impone un livello di servizio massimo per la durata o la dimensione della risposta del flusso di risposta. Se non si configura una politica di limite dei token sulla destinazione del gateway, ogni richiesta può generare una risposta in streaming illimitata.
Senza una politica di limitazione dei token configurata, le risposte illimitate possono causare i seguenti problemi:
-
Esaurimento delle risorse del gateway: il gateway mantiene le risorse di elaborazione (memoria, slot del pool di connessioni HTTP e CPU per la valutazione delle policy) aperte per la durata di ogni risposta di streaming. I flussi simultanei di grandi dimensioni possono esaurire le risorse delle attività del gateway.
-
Amplificazione dei costi grazie alle credenziali condivise: tutti gli utenti che utilizzano la stessa destinazione condividono un set di credenziali del provider. Un singolo utente che invia
max_tokensrichieste elevate può consumare la quota di token al minuto (TPM) del provider per tutti gli utenti di quella destinazione. -
Noisy Neighbor Effects: la limitazione Requests-per-minute (RPM) limita il numero di richieste ma non il costo per richiesta. Un singolo utente può generare richieste dal costo massimo entro il limite di RPM, con un conseguente peggioramento delle prestazioni per gli altri utenti.
Per mitigare questi rischi, configura una politica di limite dei token sugli obiettivi del gateway. Per ulteriori informazioni, consulta le politiche del gateway.
Autorizzazione in uscita
Le destinazioni dei connettori di inferenza supportano i seguenti tipi di autorizzazione in uscita:
-
IAM (SigV4): da utilizzare
GATEWAY_IAM_ROLEper i provider che accettano l'autenticazione IAM (come Amazon Bedrock). -
Chiave API: da utilizzare
API_KEYper i provider che richiedono una chiave API (come OpenAI e Anthropic). Il gateway inserisce la chiave API memorizzata nelle richieste in uscita.