Chargement

Configurer Claude in Amazon Bedrock

Obtenez une première réponse de Claude dans votre propre compte AWS. Connectez-vous depuis votre terminal en tant que rôle autorisé à appeler Claude, puis exécutez un court fichier Python avec le SDK Python d'Anthropic.

25 minClaude Platform

Avec Claude in Amazon Bedrock, vous appelez Claude depuis votre propre compte AWS. Vous utilisez votre identifiant de connexion AWS, et l'utilisation est facturée sur votre facture AWS. Un court fichier Python vous permet d'obtenir une première réponse de Claude. Vous n'avez pas besoin de clé API Anthropic.

Avant de commencer, vous avez besoin d'un compte AWS, de Python 3.10 ou ultérieur, et de l'AWS CLI. L'AWS CLI est l'outil permettant d'utiliser AWS depuis un terminal.

Obtenir l'autorisation d'appeler Claude

Sur cette page, vous vous connectez en tant que rôle pour appeler Claude. Un rôle est un ensemble d'autorisations dans un compte AWS. Ce rôle est créé dans IAM Identity Center, le service d'AWS pour la connexion. IAM Identity Center est également l'endroit où vous vous connectez en tant que ce rôle.

Les étapes ci-dessous s'adressent à la personne qui administre votre compte AWS, donc si ce n'est pas vous, transmettez ces étapes à votre administrateur. Si vous n'avez jamais configuré IAM Identity Center, commencez par le guide de démarrage d'AWS pour IAM Identity Center.

  1. Créez un ensemble d'autorisations. Un ensemble d'autorisations contient les politiques qui définissent ce qu'un rôle peut faire. Suivez les étapes d'AWS pour créer un ensemble d'autorisations. Ajoutez-y la politique gérée AWS AmazonBedrockMantleInferenceAccess, qu'AWS fournit pour autoriser les appels à Claude in Amazon Bedrock.

  2. Ajoutez ces autorisations pour AWS Marketplace, la boutique d'AWS, au même ensemble d'autorisations.

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

    Le premier appel à chaque modèle Claude dans un compte peut démarrer un abonnement à ce modèle via AWS Marketplace, et cet appel nécessite ces autorisations. Le compte doit également disposer d'un moyen de paiement configuré pour les achats AWS Marketplace. Ces autorisations ne sont nécessaires que pour la première utilisation d'un modèle dans un compte, vous pouvez donc les retirer de l'ensemble d'autorisations une fois l'abonnement terminé pour chaque modèle que le compte utilisera.

  3. Attribuez l'ensemble d'autorisations à la personne qui appellera Claude. Faites-le dans le compte AWS depuis lequel elle appellera Claude, en suivant les étapes d'AWS pour attribuer l'accès aux comptes AWS. Cette attribution crée le rôle dans ce compte, nommé d'après l'ensemble d'autorisations.

Se connecter depuis votre terminal

Demandez à votre administrateur les informations dont vous avez besoin pour vous connecter :

  • Le compte AWS à utiliser.
  • Le nom du rôle.
  • L'URL de démarrage d'IAM Identity Center, l'adresse web où vous vous connectez.
  • La Région AWS qui héberge IAM Identity Center. Une Région est l'un des endroits où AWS exécute ses services.

Vous vous connectez en tant que rôle avec l'AWS CLI. Si vous ne l'avez pas encore, installez l'AWS CLI d'abord. Puis suivez ces étapes dans l'ordre.

  1. Configurez un profil de connexion. Un profil est un ensemble nommé de paramètres de connexion que la CLI enregistre. Exécutez cette commande :

    bash
    aws configure sso

    Elle pose ses questions une à une. Répondez aux premières ainsi :

    1. Pour le nom de session, entrez un nom court, comme my-sso.
    2. Pour l'URL de démarrage, entrez celle que votre administrateur vous a donnée.
    3. Pour la Région qui héberge IAM Identity Center, entrez celle que votre administrateur vous a donnée.
    4. Pour les portées d'enregistrement, entrez sso:account:access.

    Ensuite, la commande ouvre votre navigateur, et vous vous y connectez. Si le navigateur ne s'ouvre pas, suivez les instructions affichées par la commande. Lorsque la commande liste les comptes AWS puis les rôles, sélectionnez le compte et le rôle indiqués par votre administrateur.

    À la fin, elle demande les paramètres suivants :

    1. Pour la Région du profil, entrez us-east-1, qui correspond à US East (N. Virginia).
    2. Pour le format de sortie, entrez json.
    3. Pour le nom du profil, entrez default. La CLI utilise le profil default lorsqu'une commande n'en nomme pas, de sorte que les commandes ci-dessous s'exécutent telles qu'écrites.
  2. Connectez-vous.

    bash
    aws sso login

    Votre navigateur s'ouvre. Terminez la connexion là-bas, et le terminal affiche une ligne qui commence par « Successfully logged into Start URL ». La CLI détient désormais vos identifiants. Les identifiants sont des clés de courte durée qui prouvent à AWS qui vous êtes. Lorsqu'ils expirent, exécutez à nouveau cette commande.

  3. Vérifiez le compte et le rôle sous lesquels vous êtes connecté.

    bash
    aws sts get-caller-identity

    Dans la sortie, Account doit correspondre à l'ID de votre compte AWS. Arn est le nom complet donné par AWS au rôle sous lequel vous êtes connecté, et il doit inclure le nom du rôle que vous avez choisi. Si l'un des deux est incorrect, exécutez à nouveau aws configure sso et sélectionnez le bon compte et le bon rôle.

Obtenir une première réponse

Envoyez maintenant une requête à Claude depuis Python.

  1. Installez le SDK Python d'Anthropic, avec sa prise en charge d'Amazon Bedrock. Le SDK est la bibliothèque d'Anthropic permettant d'appeler Claude depuis du code.

    bash
    pip install -U "anthropic[bedrock]"
  2. Enregistrez ce fichier sous le nom 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)

    Le fichier crée un client, l'objet par lequel votre code envoie les requêtes. Le client est destiné à Claude in Amazon Bedrock dans us-east-1, la Région que vous avez indiquée pour votre profil.

    Le client trouve vos identifiants AWS par lui-même, y compris ceux issus de votre connexion IAM Identity Center, de sorte qu'aucune clé ne figure dans le fichier.

    Le fichier envoie ensuite un message, « Hello, Claude », à Claude Sonnet 5. La ligne model nomme ce modèle par son ID de modèle. Enfin, le fichier affiche le texte de la réponse de Claude.

  3. Exécutez le fichier.

    bash
    python first_reply.py

    La réponse de Claude s'affiche dans votre terminal. Si Python s'arrête avec une erreur à la place, consultez « Si la requête échoue » ci-dessous.

  4. Vérifiez à nouveau le compte. Dans le même terminal, exécutez aws sts get-caller-identity. Cela indique sous quel compte et quel rôle vous êtes connecté. L'utilisation est facturée sur votre facture AWS, alors assurez-vous que le compte est bien celui indiqué par votre administrateur.

Si la requête échoue

Lorsqu'une requête échoue, le SDK lève une erreur, que Python affiche dans le terminal. Recherchez dans cette sortie PermissionDeniedError ou NotFoundError.

Une erreur d'autorisation

PermissionDeniedError signifie qu'AWS a refusé la requête avec le statut 403. Un statut est le nombre qu'un serveur renvoie pour indiquer comment une requête s'est déroulée. Les identifiants que vous avez envoyés ne sont pas autorisés à effectuer cette requête. Essayez ces solutions dans l'ordre :

  1. Reconnectez-vous, car votre connexion a peut-être expiré. Exécutez aws sso login, puis exécutez à nouveau first_reply.py.
  2. Demandez à votre administrateur de vérifier que le rôle et le compte disposent de tout ce qui est listé sous « Obtenir l'autorisation d'appeler Claude ».
  3. S'il s'agit du premier appel à Claude Sonnet 5 dans votre compte, attendez 2 minutes après la mise en place des autorisations, puis exécutez à nouveau first_reply.py. L'abonnement au modèle peut prendre jusqu'à 2 minutes pour se terminer, et les appels peuvent être refusés tant qu'il n'est pas terminé.

Une erreur de ressource introuvable

NotFoundError signifie qu'AWS a répondu avec le statut 404 et n'a pas trouvé un élément nommé par la requête. Vérifiez l'ID du modèle dans first_reply.py. Les ID de modèle dans Claude in Amazon Bedrock commencent par anthropic., il doit donc s'écrire exactement anthropic.claude-sonnet-5.

Toute autre erreur

Recherchez toute autre erreur sur la page d'AWS consacrée aux codes d'erreur Amazon Bedrock.

Et ensuite

Ensuite, suivez le cours Claude Platform 101, qui enseigne le développement sur la Claude Platform. Plusieurs de ses leçons contiennent des exemples Python qui créent leur client avec anthropic.Anthropic().

Dans ces exemples, utilisez l'import, la ligne du client et l'ID de modèle de first_reply.py à la place. Certains des exemples du cours utilisent des fonctionnalités que Claude in Amazon Bedrock ne prend pas en charge, lesquelles sont listées sur la page de documentation Claude in Amazon Bedrock.