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(se abre en una pestaña nueva) de AWS.
-
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(se abre en una pestaña nueva). Agrégale la política administrada de AWS
AmazonBedrockMantleInferenceAccess, que AWS proporciona para permitir llamadas a Claude in Amazon Bedrock. -
Agrega estos permisos para AWS Marketplace, la tienda de AWS, al mismo conjunto de permisos.
aws-marketplace:Subscribeaws-marketplace:Unsubscribeaws-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.
-
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(se abre en una pestaña nueva). 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(se abre en una pestaña nueva). Luego sigue estos pasos en orden.
-
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:
bashaws configure ssoHace sus preguntas una a la vez. Responde las primeras así:
- Para el nombre de la sesión, ingresa cualquier nombre corto, como
my-sso. - Para la URL de inicio, ingresa la que te dio tu administrador.
- Para la Región que aloja IAM Identity Center, ingresa la que te dio tu administrador.
- 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:
- Para la Región del perfil, ingresa
us-east-1, que es US East (N. Virginia). - Para el formato de salida, ingresa
json. - Para el nombre del perfil, ingresa
default. La CLI usa el perfildefaultcuando un comando no nombra uno, así que los comandos a continuación se ejecutan tal como están escritos.
- Para el nombre de la sesión, ingresa cualquier nombre corto, como
-
Inicia sesión.
bashaws sso loginTu 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.
-
Verifica con qué cuenta y rol has iniciado sesión.
bashaws sts get-caller-identityEn la salida,
Accountdebe ser el ID de tu cuenta de AWS.Arnes 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, ejecutaaws configure ssode nuevo y elige la cuenta y el rol correctos.
Obtén una primera respuesta
Ahora envía a Claude una solicitud desde Python.
-
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.
bashpip install -U "anthropic[bedrock]" -
Guarda este archivo como
first_reply.py.pythonfrom 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
modelnombra ese modelo por su ID de modelo. Por último, el archivo imprime el texto de la respuesta de Claude. -
Ejecuta el archivo.
bashpython first_reply.pyLa 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.
-
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:
- Inicia sesión de nuevo, porque tu sesión puede haber expirado. Ejecuta
aws sso login, luego ejecutafirst_reply.pyde nuevo. - 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."
- 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.pyde 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(se abre en una pestaña nueva).
A dónde ir ahora
A continuación, toma el curso Claude Platform 101(se abre en una pestaña nueva), 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(se abre en una pestaña nueva).