Questa guida ti guida attraverso la configurazione e l'esecuzione di chiamate API a Claude in Amazon Bedrock. Claude in Amazon Bedrock viene eseguito su infrastruttura gestita da AWS con accesso zero dell'operatore (il personale di Anthropic non ha accesso all'infrastruttura di inferenza), permettendoti di creare applicazioni sensibili interamente all'interno del confine di sicurezza AWS mentre utilizzi la stessa forma di Messages API che usi con l'API di prima parte di Anthropic.
Questa pagina copre la nuova offerta Claude in Amazon Bedrock, che espone l'API Messages su /anthropic/v1/messages. Per l'integrazione Bedrock legacy (l'API InvokeModel con identificatori di modello con versione ARN e codifica AWS event-stream), vedi Claude on Amazon Bedrock.
Claude in Amazon Bedrock è in anteprima di ricerca, disponibile nella regione US East (N. Virginia) us-east-1 al lancio. Contatta il tuo dirigente account Anthropic per richiedere l'accesso.
Prima di iniziare, assicurati di avere:
us-east-1. L'anteprima di ricerca richiede un account dedicato per l'isolamento. Il tuo dirigente account Anthropic invierà il tuo ID account al team Bedrock Marketplace per l'inserimento nella whitelist (in genere elaborato entro 24 ore).Claude in Amazon Bedrock supporta tre percorsi di autenticazione. Scegli quello che meglio si adatta ai tuoi requisiti di sicurezza.
Utilizza un ruolo del servizio Bedrock con chiavi gestite da AWS per l'accesso più sicuro e di lunga durata:
Admin: provisioning del ruolo del servizio
Un amministratore AWS provisioning un ruolo del servizio Bedrock e concede ai sviluppatori l'autorizzazione iam:PassRole sull'ARN del ruolo del servizio.
Developer: passare il ruolo
Quando chiami l'API, passa l'ARN del ruolo del servizio come parametro di richiesta. Bedrock assume il ruolo per tuo conto e firma le richieste con credenziali gestite da AWS. Un esempio di codice che mostra dove va il parametro ARN verrà aggiunto quando i pacchetti SDK verranno pubblicati.
Per l'accesso federato all'identità con una sessione massima di 12 ore:
Admin: configurare il ruolo IAM
Crea un ruolo IAM limitato ai tuoi modelli Claude. La politica di trust nomina il tuo provider di identità (SAML, OIDC o AWS Identity Center). La politica di autorizzazioni concede bedrock-mantle:CreateInference solo sugli ARN del modello consentiti.
Developer: autenticarsi e assumere
Autenticati tramite il tuo provider di identità aziendale, quindi assumi il ruolo IAM. AWS STS emette credenziali temporanee che l'SDK o la CLI utilizza per firmare le richieste.
Per l'accesso a breve termine senza ruoli IAM (massimo 12 ore, meno preferito):
Admin: limitare i tipi di token
Blocca le chiavi di lunga durata allegando una politica che nega bedrock:CallWithBearerToken a meno che la condizione bedrock:BearerTokenType corrisponda a un token a breve termine.
Developer: creare un token
Utilizza la CLI aws-bedrock-token-generator (link in sospeso di pubblicazione) per creare un token bearer. Passalo nell'intestazione x-api-key su ogni richiesta.
Gli SDK client di Anthropic supportano Claude in Amazon Bedrock tramite un pacchetto o modulo specifico di Bedrock.
L'endpoint segue il modello https://bedrock-mantle.{region}.api.aws/anthropic/v1/messages. A differenza dell'integrazione Bedrock legacy, questo endpoint utilizza lo streaming SSE standard e la stessa forma di corpo della richiesta dell'API di prima parte di Anthropic.
L'SDK risolve le credenziali e la regione utilizzando la precedenza standard di AWS: argomenti del costruttore, quindi variabili di ambiente (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, AWS_REGION), quindi il file di configurazione AWS e la catena di credenziali (SSO, ruoli assunti, ruolo attività ECS, IMDS).
Se il client dedicato AnthropicBedrockMantle non è ancora disponibile nella versione SDK della tua lingua, puoi utilizzare il client Anthropic standard: imposta base_url su https://bedrock-mantle.{region}.api.aws/anthropic e passa il tuo token bearer come api_key. Questo percorso supporta solo l'autenticazione con token bearer. La firma SigV4 richiede il client dedicato.
Gli ID modello in Claude in Amazon Bedrock portano un prefisso del provider anthropic.. Le capacità e i comportamenti del modello sono documentati nella pagina Panoramica dei modelli. Consulta la tua email di benvenuto AWS per l'ID modello esatto abilitato per il tuo account.
Claude in Amazon Bedrock supporta funzionalità che vengono eseguite all'interno del modello. Le funzionalità che richiedono infrastruttura gestita da Anthropic non sono disponibili.
Supportate:
/v1/messages)Non supportate:
/v1/usersL'anteprima di ricerca è disponibile solo in us-east-1 (IAD).
La quota predefinita è di 2 milioni di token di input al minuto (TPM). Puoi richiedere fino a 4 milioni di TPM di input senza approvazione aggiuntiva di Anthropic. AWS applica limiti di richieste al minuto (RPM) dal lato Bedrock; contatta il supporto AWS per gli adeguamenti RPM.
Tutti i dati di inferenza vengono conservati per 30 giorni nell'archiviazione AWS. Non esiste un'opzione di rinuncia alla conservazione zero-dati su questa offerta. Per i clienti standard, Anthropic può ispezionare i dati archiviati per la revisione di sicurezza e abuso. Per i clienti di livello Select, solo AWS può ispezionare i dati; Anthropic può eseguire operazioni automatizzate ma non revisioni manuali. Per i dettagli sull'idoneità al livello Select, contatta il tuo dirigente account Anthropic.
Claude in Amazon Bedrock emette log sia a CloudWatch che a CloudTrail. Anthropic consiglia di conservare i log di attività su almeno una base mobile di 30 giorni per comprendere i modelli di utilizzo e investigare i potenziali problemi.
Per il supporto dell'anteprima di ricerca, contatta [email protected]. Includi il tuo ID account AWS e l'request-id da qualsiasi risposta API non riuscita.
Was this page helpful?
from anthropic import AnthropicBedrockMantle
client = AnthropicBedrockMantle(aws_region="us-east-1")
message = client.messages.create(
model="CLAUDE_MODEL_ID",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello, Claude"}],
)
print(message.content[0].text)