Llamar a Claude a través de Bedrock difiere ligeramente de cómo llamarías a Claude cuando usas los SDK de cliente de Anthropic. Esta guía te llevará a través del proceso de completar una llamada a la API de Claude en Bedrock en Python o TypeScript.

Ten en cuenta que esta guía asume que ya te has registrado para una cuenta de AWS y has configurado el acceso programático.

Instala y configura la CLI de AWS

  1. Instala una versión de la CLI de AWS en o más reciente que la versión 2.13.23
  2. Configura tus credenciales de AWS usando el comando de configuración de AWS (ver Configurar la CLI de AWS) o encuentra tus credenciales navegando a “Acceso de línea de comandos o programático” dentro de tu panel de AWS y siguiendo las instrucciones en la ventana emergente.
  3. Verifica que tus credenciales están funcionando:
Shell
aws sts get-caller-identity  

Instala un SDK para acceder a Bedrock

Los SDK de cliente de Anthropic soportan Bedrock. También puedes usar un SDK de AWS como boto3 directamente.

pip install -U "anthropic[bedrock]"

Accediendo a Bedrock

Suscríbete a los modelos de Anthropic

Ve a AWS Console > Bedrock > Model Access y solicita acceso a los modelos de Anthropic. Ten en cuenta que la disponibilidad de los modelos de Anthropic varía según la región. Consulta la documentación de AWS para obtener la información más reciente.

Nombres de modelos de API

ModeloNombre del modelo de API de 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

Lista los modelos disponibles

Los siguientes ejemplos muestran cómo imprimir una lista de todos los modelos de Claude disponibles a través de Bedrock:

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

Realizando solicitudes

Los siguientes ejemplos muestran cómo generar texto de Claude 3 Sonnet en Bedrock:

from anthropic import AnthropicBedrock

client = AnthropicBedrock(
    # Autentícate proporcionando las claves a continuación o usa los proveedores de credenciales predeterminados de AWS, como
    # usando ~/.aws/credentials o las variables de entorno "AWS_SECRET_ACCESS_KEY" y "AWS_ACCESS_KEY_ID".
    aws_access_key="<access key>",
    aws_secret_key="<secret key>",
    # Las credenciales temporales se pueden usar con aws_session_token.
    # Lee más en https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html.
    aws_session_token="<session_token>",
    # aws_region cambia la región de AWS a la que se realiza la solicitud. Por defecto, leemos AWS_REGION,
    # y si eso no está presente, usamos us-east-1 por defecto. Ten en cuenta que no leemos ~/.aws/config para la región.
    aws_region="us-west-2",
)

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

Consulta nuestros SDK de cliente para obtener más detalles y la documentación oficial de Bedrock aquí.