Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Obiettivi del connettore di inferenza
Le destinazioni 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 del modello, la traduzione dell'ID del modello 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 fornitore di modelli supportato senza configurare manualmente gli endpoint, le operazioni o le mappature dei modelli.
Argomenti
Configurazione di 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 per il connettore integrato. I valori supportati sono
bedrock-mantle,openaieanthropic.
Ogni connettore fornisce valori predefiniti integrati 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, utilizzare al posto di).
claude-opus-4-7anthropic.claude-opus-4-7 -
Riscrittura dei percorsi: i percorsi delle richieste di inferenza in entrata sono mappati ai percorsi API del provider.
-
Operazioni supportate: l'insieme di operazioni di inferenza esposte dal connettore, come i completamenti 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 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 modello (ad esempiogpt-5.5) o un ID di modello qualificato per la destinazione nel modulo {targetName}/{modelId} (ad esempioopenai/gpt-5.5). Per dettagli su come il model valore viene abbinato a un obiettivo, vedi Model-based routing.
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!"}] )
Utilizzo dell'SDK Anthropic
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 i target di inferenza, chiama l'endpoint dei modelli dell'elenco:
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 dei modelli 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. Il valore di system indica un modello ospitato da Amazon Bedrock, mentre openai e anthropic indica i modelli forniti 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 a un nome di 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 tutti i target configurati. Una corrispondenza esatta ha la priorità rispetto ai pattern globulari. Se esattamente un obiettivo corrisponde, la richiesta viene indirizzata ad esso. -
Gestione delle collisioni: quando più obiettivi corrispondono allo stesso modello con la stessa specificità, il gateway utilizza per impostazione predefinita il target Amazon Bedrock se uno è tra quelli corrispondenti. Altrimenti, seleziona casualmente uno degli obiettivi corrispondenti su ogni richiesta, in modo che le richieste relative allo stesso modello possano arrivare a bersagli diversi. Per aggiungere le richieste a un target specifico, qualifica il modello con il nome del target come prefisso (ad esempio,).
bedrock/claude-opus-4-7
Per personalizzare o sovrascrivere il target a cui viene indirizzato un modello, puoi riscrivere il model campo in un intercettore di richieste. Per ulteriori informazioni, consulta Personalizzare il routing del modello con un intercettore di richieste.
Streaming
Lo streaming segue la convenzione OpenAI SSE. Impostato "stream": true nel corpo della richiesta, il gateway passa attraverso il flusso SSE dal provider senza 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 massimo di servizio sulla durata o sulla dimensione della risposta del flusso di risposta. Se non configuri una politica di limite dei token sulla destinazione del gateway, ogni richiesta può generare una risposta in streaming illimitata.
Senza una politica di limite dei token configurata, le risposte illimitate possono causare i seguenti problemi:
-
Esaurimento delle risorse del gateway: il gateway mantiene aperte le risorse di calcolo (memoria, slot del pool di connessioni HTTP e CPU per la valutazione delle politiche) per la durata di ogni risposta in streaming. Flussi simultanei di grandi dimensioni possono esaurire le risorse delle attività del gateway.
-
Aumento dei costi grazie alle credenziali condivise: tutti gli utenti che effettuano il routing attraverso 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 quel target. -
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 a costo massimo entro il limite di RPM, riducendo le prestazioni per gli altri utenti.
Per mitigare questi rischi, configura una politica di limite dei token sulle destinazioni 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): utilizzato
GATEWAY_IAM_ROLEper i provider che accettano l'autenticazione IAM (come Amazon Bedrock). -
Chiave API: utilizzata
API_KEYper i provider che richiedono una chiave API (come OpenAI e Anthropic). Il gateway inserisce la chiave API memorizzata nelle richieste in uscita.