Chiamare Claude tramite Bedrock differisce leggermente da come si chiamerebbe Claude quando si utilizzano gli SDK client di Anthropic. Questa guida ti guiderà attraverso il processo di completamento di una chiamata API a Claude su Bedrock in Python o TypeScript.

Nota che questa guida presuppone che tu abbia già effettuato l’iscrizione a un account AWS e configurato l’accesso programmatico.

Installa e configura l’AWS CLI

  1. Installa una versione dell’AWS CLI alla versione 2.13.23 o più recente
  2. Configura le tue credenziali AWS utilizzando il comando AWS configure (vedi Configura l’AWS CLI) o trova le tue credenziali navigando su “Accesso a riga di comando o programmatico” all’interno del tuo dashboard AWS e seguendo le istruzioni nella finestra modale popup.
  3. Verifica che le tue credenziali funzionino:
Shell
aws sts get-caller-identity  

Installa un SDK per accedere a Bedrock

Gli SDK client di Anthropic supportano Bedrock. Puoi anche utilizzare direttamente un SDK AWS come boto3.

pip install -U "anthropic[bedrock]"

Accesso a Bedrock

Iscriviti ai modelli Anthropic

Vai su AWS Console > Bedrock > Model Access e richiedi l’accesso ai modelli Anthropic. Nota che la disponibilità dei modelli Anthropic varia in base alla regione. Consulta la documentazione AWS per le informazioni più recenti.

Nomi dei modelli API

ModelloNome del modello API Bedrock
Claude 3 Haikuanthropic.claude-3-haiku-20240307-v1:0
Claude 3 Sonnetanthropic.claude-3-sonnet-20240229-v1:0
Claude 3 Opusanthropic.claude-3-opus-20240229-v1:0

Elenca i modelli disponibili

I seguenti esempi mostrano come stampare un elenco di tutti i modelli Claude disponibili tramite Bedrock:

aws bedrock list-foundation-models --region=us-west-2 --by-provider anthropic --query "modelSummaries[*].modelId"

Effettuare richieste

I seguenti esempi mostrano come generare testo da Claude 3 Sonnet su Bedrock:

from anthropic import AnthropicBedrock

client = AnthropicBedrock(
    # Autenticati fornendo le chiavi sottostanti o utilizza i provider di credenziali AWS predefiniti, come
    # utilizzando ~/.aws/credentials o le variabili d'ambiente "AWS_SECRET_ACCESS_KEY" e "AWS_ACCESS_KEY_ID".
    aws_access_key="<access key>",
    aws_secret_key="<secret key>",
    # Le credenziali temporanee possono essere utilizzate con aws_session_token.
    # Leggi di più su https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html.
    aws_session_token="<session_token>",
    # aws_region cambia la regione aws a cui viene effettuata la richiesta. Per impostazione predefinita, leggiamo AWS_REGION,
    # e se non è presente, utilizziamo us-east-1 come valore predefinito. Nota che non leggiamo ~/.aws/config per la regione.
    aws_region="us-west-2",
)

message = client.messages.create(
    model="anthropic.claude-3-sonnet-20240229-v1:0",
    max_tokens=256,
    messages=[{"role": "user", "content": "Hello, world"}]
)
print(message.content)

Consulta i nostri SDK client per ulteriori dettagli e la documentazione ufficiale di Bedrock qui.