Chamar o Claude através do Bedrock difere um pouco de como você chamaria o Claude ao usar os SDKs de cliente da Anthropic. Este guia irá orientá-lo através do processo de completar uma chamada de API para o Claude no Bedrock em Python ou TypeScript.

Observe que este guia pressupõe que você já se inscreveu em uma conta AWS e configurou o acesso programático.

Instale e configure o AWS CLI

  1. Instale uma versão do AWS CLI na versão 2.13.23 ou mais recente
  2. Configure suas credenciais da AWS usando o comando AWS configure (veja Configurar o AWS CLI) ou encontre suas credenciais navegando até “Acesso de linha de comando ou programático” dentro do seu painel da AWS e seguindo as instruções no modal pop-up.
  3. Verifique se suas credenciais estão funcionando:
Shell
aws sts get-caller-identity  

Instale um SDK para acessar o Bedrock

Os SDKs de cliente da Anthropic suportam o Bedrock. Você também pode usar um SDK da AWS como o boto3 diretamente.

pip install -U "anthropic[bedrock]"

Acessando o Bedrock

Inscreva-se nos modelos da Anthropic

Vá para o AWS Console > Bedrock > Model Access e solicite acesso aos modelos da Anthropic. Observe que a disponibilidade do modelo Anthropic varia por região. Consulte a documentação da AWS para obter as informações mais recentes.

Nomes de modelo da API

ModeloNome do modelo da API do 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

Listar modelos disponíveis

Os exemplos a seguir mostram como imprimir uma lista de todos os modelos Claude disponíveis através do Bedrock:

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

Fazendo solicitações

Os exemplos a seguir mostram como gerar texto a partir do Claude 3 Sonnet no Bedrock:

from anthropic import AnthropicBedrock

client = AnthropicBedrock(
    # Autentique fornecendo as chaves abaixo ou use os provedores de credenciais padrão da AWS, como
    # usando ~/.aws/credentials ou as variáveis de ambiente "AWS_SECRET_ACCESS_KEY" e "AWS_ACCESS_KEY_ID".
    aws_access_key="<access key>",
    aws_secret_key="<secret key>",
    # Credenciais temporárias podem ser usadas com aws_session_token.
    # Leia mais em https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html.
    aws_session_token="<session_token>",
    # aws_region altera a região da AWS para a qual a solicitação é feita. Por padrão, lemos AWS_REGION,
    # e se isso não estiver presente, usamos como padrão us-east-1. Observe que não lemos ~/.aws/config para a região.
    aws_region="us-west-2",
)

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

Consulte nossos SDKs de cliente para obter mais detalhes e a documentação oficial do Bedrock aqui.