L’appel de Claude via Bedrock diffère légèrement de la façon dont vous appelleriez Claude en utilisant les SDK clients d’Anthropic. Ce guide vous guidera à travers le processus de réalisation d’un appel API à Claude sur Bedrock en Python ou en TypeScript.

Notez que ce guide suppose que vous vous êtes déjà inscrit pour un compte AWS et avez configuré l’accès programmatique.

Installer et configurer l’AWS CLI

  1. Installez une version de l’AWS CLI à la version 2.13.23 ou plus récente
  2. Configurez vos identifiants AWS en utilisant la commande AWS configure (voir Configurer l’AWS CLI) ou trouvez vos identifiants en naviguant vers “Accès en ligne de commande ou programmatique” dans votre tableau de bord AWS et en suivant les instructions dans la fenêtre modale.
  3. Vérifiez que vos identifiants fonctionnent :
Shell
aws sts get-caller-identity  

Installer un SDK pour accéder à Bedrock

Les SDK clients d’Anthropic prennent en charge Bedrock. Vous pouvez également utiliser un SDK AWS comme boto3 directement.

pip install -U "anthropic[bedrock]"

Accéder à Bedrock

S’abonner aux modèles Anthropic

Allez dans AWS Console > Bedrock > Accès aux modèles et demandez l’accès aux modèles Anthropic. Notez que la disponibilité des modèles Anthropic varie selon la région. Consultez la documentation AWS pour les dernières informations.

Noms de modèles API

ModèleNom du modèle API 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

Lister les modèles disponibles

Les exemples suivants montrent comment imprimer une liste de tous les modèles Claude disponibles via Bedrock :

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

Effectuer des requêtes

Les exemples suivants montrent comment générer du texte à partir de Claude 3 Sonnet sur Bedrock :

from anthropic import AnthropicBedrock

client = AnthropicBedrock(
    # Authentifiez-vous en fournissant les clés ci-dessous ou utilisez les fournisseurs d'identifiants AWS par défaut, tels que
    # l'utilisation de ~/.aws/credentials ou des variables d'environnement "AWS_SECRET_ACCESS_KEY" et "AWS_ACCESS_KEY_ID".
    aws_access_key="<access key>",
    aws_secret_key="<secret key>",
    # Des identifiants temporaires peuvent être utilisés avec aws_session_token.
    # En savoir plus sur https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html.
    aws_session_token="<session_token>",
    # aws_region change la région AWS vers laquelle la requête est envoyée. Par défaut, nous lisons AWS_REGION,
    # et si ce n'est pas présent, nous utilisons par défaut us-east-1. Notez que nous ne lisons pas ~/.aws/config pour la région.
    aws_region="us-west-2",
)

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

Consultez nos SDK clients pour plus de détails, et la documentation officielle de Bedrock ici.