Cargando

Configura Claude in Amazon Bedrock

Obtén una primera respuesta de Claude en tu propia cuenta de AWS. Inicia sesión desde tu terminal como un rol que tiene permiso para llamar a Claude, luego ejecuta un archivo breve de Python con el SDK de Python de Anthropic.

25 minClaude Platform

Con Claude in Amazon Bedrock, llamas a Claude desde tu propia cuenta de AWS. Usas tu inicio de sesión de AWS, y el uso se refleja en tu factura de AWS. Un archivo breve de Python te da una primera respuesta de Claude. No necesitas una clave de API de Anthropic.

Antes de comenzar, necesitas una cuenta de AWS, Python 3.10 o posterior, y la AWS CLI. La AWS CLI es la herramienta para usar AWS desde una terminal.

Obtén permiso para llamar a Claude

En esta página, inicias sesión como un rol para llamar a Claude. Un rol es un conjunto de permisos en una cuenta de AWS. Ese rol se crea en IAM Identity Center, el servicio de AWS para iniciar sesión. IAM Identity Center también es donde inicias sesión como ese rol.

Los siguientes pasos son para quien administra tu cuenta de AWS, así que si no eres tú, envía estos pasos a tu administrador. Si nunca has configurado IAM Identity Center, comienza con la guía de introducción a IAM Identity Center de AWS.

  1. Crea un conjunto de permisos. Un conjunto de permisos contiene las políticas que enumeran lo que puede hacer un rol. Sigue los pasos de AWS para crear un conjunto de permisos. Agrégale la política administrada de AWS AmazonBedrockMantleInferenceAccess, que AWS proporciona para permitir llamadas a Claude in Amazon Bedrock.

  2. Agrega estos permisos para AWS Marketplace, la tienda de AWS, al mismo conjunto de permisos.

    • aws-marketplace:Subscribe
    • aws-marketplace:Unsubscribe
    • aws-marketplace:ViewSubscriptions

    La primera llamada a cada modelo de Claude en una cuenta puede iniciar una suscripción a ese modelo a través de AWS Marketplace, y esa llamada necesita estos permisos. La cuenta también necesita un método de pago configurado para las compras en AWS Marketplace. Estos permisos solo son necesarios para el primer uso de un modelo en una cuenta, así que puedes eliminarlos del conjunto de permisos una vez que se complete la suscripción a cada modelo que la cuenta vaya a usar.

  3. Asigna el conjunto de permisos a la persona que llamará a Claude. Haz esto en la cuenta de AWS desde la que llamará a Claude, siguiendo los pasos de AWS para asignar acceso a cuentas de AWS. Al asignarlo se crea el rol en esa cuenta, con el nombre del conjunto de permisos.

Inicia sesión desde tu terminal

Pídele a tu administrador los datos que necesitas para iniciar sesión:

  • La cuenta de AWS que se usará.
  • El nombre del rol.
  • La URL de inicio de IAM Identity Center, la dirección web donde inicias sesión.
  • La Región de AWS que aloja IAM Identity Center. Una Región es uno de los lugares donde AWS ejecuta sus servicios.

Inicias sesión como el rol con la AWS CLI. Si aún no la tienes, primero instala la AWS CLI. Luego sigue estos pasos en orden.

  1. Configura un perfil de inicio de sesión. Un perfil es un conjunto con nombre de configuraciones de inicio de sesión que la CLI guarda. Ejecuta este comando:

    bash
    aws configure sso

    Hace sus preguntas una a la vez. Responde las primeras así:

    1. Para el nombre de la sesión, ingresa cualquier nombre corto, como my-sso.
    2. Para la URL de inicio, ingresa la que te dio tu administrador.
    3. Para la Región que aloja IAM Identity Center, ingresa la que te dio tu administrador.
    4. Para los alcances de registro, ingresa sso:account:access.

    Luego el comando abre tu navegador, y allí inicias sesión. Si el navegador no se abre, sigue las instrucciones que imprime el comando. Cuando el comando liste cuentas de AWS y luego roles, elige la cuenta y el rol que te indicó tu administrador.

    Al final pide estas configuraciones:

    1. Para la Región del perfil, ingresa us-east-1, que es US East (N. Virginia).
    2. Para el formato de salida, ingresa json.
    3. Para el nombre del perfil, ingresa default. La CLI usa el perfil default cuando un comando no nombra uno, así que los comandos a continuación se ejecutan tal como están escritos.
  2. Inicia sesión.

    bash
    aws sso login

    Tu navegador se abre. Termina de iniciar sesión allí, y la terminal imprime una línea que comienza con "Successfully logged into Start URL". La CLI ahora guarda tus credenciales. Las credenciales son claves de corta duración que demuestran ante AWS quién eres. Cuando expiren, ejecuta este comando de nuevo.

  3. Verifica con qué cuenta y rol has iniciado sesión.

    bash
    aws sts get-caller-identity

    En la salida, Account debe ser el ID de tu cuenta de AWS. Arn es el nombre completo de AWS para el rol con el que iniciaste sesión, y debe incluir el nombre del rol que elegiste. Si alguno de los dos es incorrecto, ejecuta aws configure sso de nuevo y elige la cuenta y el rol correctos.

Obtén una primera respuesta

Ahora envía a Claude una solicitud desde Python.

  1. Instala el SDK de Python de Anthropic, con su soporte para Amazon Bedrock. El SDK es la biblioteca de Anthropic para llamar a Claude desde código.

    bash
    pip install -U "anthropic[bedrock]"
  2. Guarda este archivo como first_reply.py.

    python
    from anthropic import (
        AnthropicBedrockMantle,
    )
    
    client = AnthropicBedrockMantle(
        aws_region="us-east-1",
    )
    
    message = client.messages.create(
        model="anthropic.claude-sonnet-5",
        max_tokens=1024,
        messages=[{
            "role": "user",
            "content": "Hello, Claude",
        }],
    )
    
    for block in message.content:
        if block.type == "text":
            print(block.text)

    El archivo crea un cliente, el objeto a través del cual tu código envía solicitudes. El cliente es para Claude in Amazon Bedrock en us-east-1, la Región que le diste a tu perfil.

    El cliente encuentra tus credenciales de AWS por sí mismo, incluidas las de tu inicio de sesión en IAM Identity Center, así que no se incluye ninguna clave en el archivo.

    Luego el archivo envía un mensaje, "Hello, Claude", a Claude Sonnet 5. La línea model nombra ese modelo por su ID de modelo. Por último, el archivo imprime el texto de la respuesta de Claude.

  3. Ejecuta el archivo.

    bash
    python first_reply.py

    La respuesta de Claude se imprime en tu terminal. Si Python se detiene con un error en su lugar, ve a "Si la solicitud falla" más abajo.

  4. Verifica la cuenta de nuevo. En la misma terminal, ejecuta aws sts get-caller-identity. Muestra con qué cuenta y rol has iniciado sesión. El uso se refleja en tu factura de AWS, así que asegúrate de que la cuenta sea la que indicó tu administrador.

Si la solicitud falla

Cuando una solicitud falla, el SDK genera un error, que Python imprime en la terminal. Busca en esa salida PermissionDeniedError o NotFoundError.

Un error de permisos

PermissionDeniedError significa que AWS rechazó la solicitud con el estado 403. Un estado es el número que un servidor devuelve para indicar cómo resultó una solicitud. Las credenciales que enviaste no tienen permiso para hacer esta solicitud. Prueba estas soluciones en orden:

  1. Inicia sesión de nuevo, porque tu sesión puede haber expirado. Ejecuta aws sso login, luego ejecuta first_reply.py de nuevo.
  2. Pídele a tu administrador que verifique que el rol y la cuenta tengan todo lo que se detalla en "Obtén permiso para llamar a Claude."
  3. Si esta es la primera llamada a Claude Sonnet 5 en tu cuenta, espera 2 minutos después de que los permisos estén implementados, luego ejecuta first_reply.py de nuevo. La suscripción al modelo puede tardar hasta 2 minutos en completarse, y las llamadas pueden ser rechazadas hasta que termine.

Un error de no encontrado

NotFoundError significa que AWS respondió con el estado 404 y no pudo encontrar algo que la solicitud nombraba. Verifica el ID del modelo en first_reply.py. Los ID de modelo en Claude in Amazon Bedrock comienzan con anthropic., así que debe leerse exactamente anthropic.claude-sonnet-5.

Cualquier otro error

Busca cualquier otro error en la página de AWS de códigos de error de Amazon Bedrock.

A dónde ir ahora

A continuación, toma el curso Claude Platform 101, que enseña a construir sobre la Claude Platform. Varias de sus lecciones tienen ejemplos de Python que crean su cliente con anthropic.Anthropic().

En esos ejemplos, usa en su lugar la importación, la línea del cliente y el ID de modelo de first_reply.py. Algunos de los ejemplos del curso usan funciones que Claude in Amazon Bedrock no admite, las cuales se enumeran en la página de documentación de Claude in Amazon Bedrock.