Utiliser les modèles Claude 3 d'Anthropic

Les modèles Anthropic Claude 3 sur Vertex AI offrent des modèles entièrement gérés et sans serveur en tant qu'API. Pour utiliser un modèle Claude sur Vertex AI, envoyez une requête directement au point de terminaison de l'API Vertex AI. Étant donné que les modèles Anthropic Claude 3 utilisent une API gérée, il n'est pas nécessaire de provisionner ni de gérer l'infrastructure.

Vous pouvez diffuser vos réponses Claude en streaming pour réduire la perception de la latence côté utilisateur. Une réponse en streaming utilise des événements envoyés par le serveur (SSE) pour diffuser la réponse de manière incrémentielle.

Les modèles Claude vous sont facturés à mesure que vous les utilisez. Pour en savoir plus, consultez la section sur les modèles Anthropic Claude sur la page des tarifs de Vertex AI.

Modèles Anthropic Claude disponibles

Pour accéder à un modèle Anthropic Claude, accédez à Model Garden, recherchez Claude, puis sélectionnez le modèle Claude que vous souhaitez utiliser. Tous les modèles Claude 3 traitent les images, renvoient des résultats textuels et disposent d'une fenêtre de contexte de 200 000. Vous pouvez également utiliser les liens suivants pour accéder aux fiches de modèle des modèles Claude disponibles dans Vertex AI :

Claude 3 Sonnet

Anthropic Claude 3 Sonnet offre un équilibre entre intelligence et vitesse pour les charges de travail d'entreprise. Il s'agit d'un modèle haute durabilité pour l'IA évolutive, disponible à un prix compétitif. Claude 3 Sonnet est optimisé pour les cas d'utilisation suivants :

  • Traitement des données, y compris la génération augmentée de récupération (RAG) et la récupération de recherche

  • Tâches de vente, telles que la recommandation de produits, les prévisions et le marketing ciblé

  • Tâches permettant de gagner du temps, telles que la génération de code, le contrôle qualité et la reconnaissance optique des caractères (OCR) dans les images.

  • Tâches de vision, telles que le traitement d'images pour renvoyer une sortie textuelle. Analyse de diagrammes, de graphiques, de schémas techniques, de rapports et d'autres contenus visuels.

Claude 3 Haiku

Anthropic Claude 3 Haiku est le modèle le plus rapide et le plus compact disponible sur Anthropic. Il est conçu pour répondre rapidement aux requêtes et aux demandes. Vous pouvez l'utiliser pour créer des expériences d'IA qui imitent des interactions humaines. Claude 3 Haiku est optimisé pour les cas d'utilisation suivants :

  • Interactions et traductions avec les clients en direct.

  • Modération de contenus pour détecter les comportements suspects ou les demandes des clients.

  • Tâches permettant d'économiser des coûts, telles que la gestion des stocks et l'extraction de connaissances à partir de données non structurées.

  • Tâches de vision, telles que le traitement d'images pour renvoyer une sortie textuelle, l'analyse de graphiques, de diagrammes techniques, des rapports et d'autres contenus visuels.

Utiliser des modèles Claude

Vous pouvez utiliser un SDK Anthropic ou des commandes curl pour envoyer des requêtes au point de terminaison Vertex AI à l'aide des noms de modèles suivants :

  • Pour Claude 3 Sonnet, utilisez claude-3-sonnet@20240229.
  • Pour Claude 3 Haiku, utilisez claude-3-haiku@20240307.

Nous vous déconseillons d'utiliser les versions de modèle Anthropic Claude 3 qui n'incluent pas de suffixe commençant par un symbole @ (claude-3-sonnet ou claude-3-haiku).

Avant de commencer

Pour utiliser des modèles Anthropic Claude 3 avec Vertex AI, vous devez effectuer les étapes suivantes. Vous devez activer l'API Vertex AI (aiplatform.googleapis.com) pour pouvoir utiliser Vertex AI. Si vous disposez déjà d'un projet pour lequel l'API Vertex AI est activée, vous pouvez utiliser ce projet au lieu de créer un projet.

Assurez-vous de disposer des autorisations requises pour activer les modèles Anthropic Claude 3. Pour en savoir plus, consultez la section Accorder les autorisations requises.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Enable the API

  8. Assurez-vous de disposer des autorisations nécessaires pour activer les modèles Anthropic Claude et pour envoyer une invite. Pour en savoir plus, consultez la page Définir les autorisations requises pour activer les modèles Claude et envoyer des invites.
  9. Accédez à l'une des fiches de modèles du jardin de modèles suivantes, puis cliquez sur activer :

Utiliser le SDK Anthropic

Vous pouvez envoyer des requêtes API aux modèles Anthropic Claude à l'aide du SDK Anthropic Claude. Pour en savoir plus, consultez les ressources suivantes :

Effectuer un appel en flux continu à un modèle Claude 3 à l'aide du SDK Vertex d'Anthropic

L'exemple de code suivant utilise le SDK Vertex Anthropic pour effectuer un appel en flux continu à un modèle Anthropic Claude 3.

Python

Pour savoir comment installer ou mettre à jour le SDK pour Python, consultez la page Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.

# TODO(developer): Vertex AI SDK - uncomment below & run
# pip3 install --upgrade --user google-cloud-aiplatform
# gcloud auth application-default login
# pip3 install -U 'anthropic[vertex]'

from anthropic import AnthropicVertex

def generate_text_streaming(project_id: str, region: str) -> str:
    client = AnthropicVertex(region=region, project_id=project_id)
    result = []

    with client.messages.stream(
        model="claude-3-sonnet@20240229",
        max_tokens=1024,
        messages=[
            {
                "role": "user",
                "content": "Send me a recipe for banana bread.",
            }
        ],
    ) as stream:
        for text in stream.text_stream:
            print(text, end="", flush=True)
            result.append(text)

    return "".join(result)

Effectuer un appel unaire à un modèle Claude 3 à l'aide du SDK Vertex d'Anthropic

L'exemple de code suivant utilise le SDK Vertex Anthropic pour effectuer un appel unaire à un modèle Anthropic Claude 3.

Python

Pour savoir comment installer ou mettre à jour le SDK pour Python, consultez la page Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.

# TODO(developer): Vertex AI SDK - uncomment below & run
# pip3 install --upgrade --user google-cloud-aiplatform
# gcloud auth application-default login
# pip3 install -U 'anthropic[vertex]'

from anthropic import AnthropicVertex

def generate_text(project_id: str, region: str) -> object:
    client = AnthropicVertex(region=region, project_id=project_id)
    message = client.messages.create(
        model="claude-3-sonnet@20240229",
        max_tokens=1024,
        messages=[
            {
                "role": "user",
                "content": "Send me a recipe for banana bread.",
            }
        ],
    )
    print(message.model_dump_json(indent=2))
    return message

Utiliser une commande curl

Vous pouvez utiliser une commande curl pour envoyer une requête au point de terminaison Vertex AI. La commande curl spécifie le modèle Anthropic Claude compatible que vous souhaitez utiliser :

  • Pour Claude 3 Sonnet, utilisez claude-3-sonnet@20240229.
  • Pour Claude 3 Haiku, utilisez claude-3-haiku@20240307.

Nous vous déconseillons d'utiliser les versions de modèle Anthropic Claude 3 qui n'incluent pas de suffixe commençant par un symbole @ (claude-3-sonnet ou claude-3-haiku).

La rubrique suivante explique comment créer une commande curl et inclut un exemple de commande curl. L'exemple de commande curl utilise le modèle Claude 3 Sonnet.

REST

Pour tester une invite de texte à l'aide de l'API Vertex AI, envoyez une requête POST au point de terminaison du modèle de l'éditeur.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION : région compatible avec les modèles Anthropic Claude. Claude 3 Sonnet est disponible dans les régions suivantes :
    • us-central1 (Iowa)
    • asia-southeast1 (Singapore)
    Claude 3 Haiku est disponible dans les régions suivantes :
    • us-central1 (Iowa)
    • europe-west4 (Netherlands)
  • MODEL : nom du modèle que vous souhaitez utiliser. Pour Claude 3 Haiku, utilisez claude-3-haiku@20240307. Pour Claude 3 Sonnet, utilisez claude-3-sonnet@20240229.
  • ROLE : rôle associé à un message. Vous pouvez spécifier user ou assistant. Le premier message doit utiliser le rôle user. Les modèles Claude fonctionnent avec des tours user et assistant alternés. Si le message final utilise le rôle assistant, le contenu de la réponse continue immédiatement à partir du contenu de ce message. Cela vous permet de limiter une partie de la réponse du modèle.
  • STREAM : valeur booléenne qui spécifie si la réponse est diffusée ou non. Diffusez votre réponse en streaming pour réduire la perception de la latence d'utilisation finale. Définissez la valeur sur true pour diffuser la réponse et sur false pour la renvoyer simultanément.
  • CONTENT : contenu, tel que le texte, du message user ou assistant.
  • MAX_OUTPUT_TOKENS : nombre maximal de jetons pouvant être générés dans la réponse. Un jeton correspond environ à 3,5 caractères. 100 jetons correspondent à environ 60-80 mots.

    Spécifiez une valeur inférieure pour obtenir des réponses plus courtes et une valeur supérieure pour des réponses potentiellement plus longues.

  • TOP_P (facultatif) : Top P modifie la façon dont le modèle sélectionne les jetons pour la sortie. Les jetons sont sélectionnés de la valeur la plus élevée (voir top-K) à la moins probable jusqu'à ce que la somme de leurs probabilités soit égale à la valeur top-P. Par exemple, si les jetons A, B et C ont une probabilité de 0,3, 0,2 et 0,1 et que la valeur de top-P est supérieure à 0.5, le modèle sélectionne A ou B comme jeton suivant en utilisant la température et exclut C comme candidat.

    Spécifiez une valeur inférieure pour les réponses moins aléatoires et une valeur plus élevée pour les réponses plus aléatoires.

  • TOP_K (facultatif) : Top-K modifie la façon dont le modèle sélectionne les jetons pour la sortie. Un top-K de 1 signifie que le prochain jeton sélectionné est le plus probable parmi tous les jetons du vocabulaire du modèle (également appelé décodage gourmand), tandis que le top-K de 3 signifie que le jeton suivant est sélectionné parmi les trois jetons les plus probables en utilisant la température.

    Pour chaque étape de sélection du jeton, les jetons top-K avec les probabilités les plus élevées sont échantillonnés. Les jetons sont ensuite filtrés en fonction du top-P avec le jeton final sélectionné à l'aide de l'échantillonnage de température.

    Spécifiez une valeur inférieure pour les réponses moins aléatoires et une valeur plus élevée pour les réponses plus aléatoires.

Méthode HTTP et URL :

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:streamRawPredict

Corps JSON de la requête :

{
  "anthropic_version": "vertex-2023-10-16",
  "messages": [
   {
    "role": "ROLE",
    "content": "CONTENT"
   }],
  "max_tokens": MAX_TOKENS,
  "stream": STREAM
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:streamRawPredict"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:streamRawPredict" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON semblable à la suivante.

Exemple de commande curl

MODEL_ID="claude-3-sonnet@20240229"
LOCATION="us-central1"
PROJECT_ID="PROJECT_ID"

curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/${LOCATION}/publishers/anthropic/models/${MODEL_ID}:streamRawPredict -d \
'{
  "anthropic_version": "vertex-2023-10-16",
  "messages": [{
    "role": "user",
    "content": "Hello!"
  }],
  "max_tokens": 50,
  "stream": true}'

Disponibilité des régions Anthropic Claude

Claude 3 Sonnet est disponible dans les régions suivantes :

  • us-central1 (Iowa)
  • asia-southeast1 (Singapore)
Claude 3 Haiku est disponible dans les régions suivantes :
  • us-central1 (Iowa)
  • europe-west4 (Netherlands)

Quotas d'Anthropic Claude et longueur de contexte acceptée

Pour Claude 3 Sonnet et Claude 3 Haiku, il existe deux quotas, un pour chaque région dans laquelle ils sont disponibles. Le quota est spécifié en requêtes par minute (RPM) et en jetons par minute (TPM). Le TPM inclut à la fois les jetons d'entrée et de sortie.

Voici les limites de quota et la longueur de contexte acceptée par défaut pour Claude 3 Sonnet :

Région Limite de quota par défaut Longueur de contexte acceptée
us-central1 (Iowa) 60 RPM, 50 000 TPM 200 000 jetons
asia-southeast1 (Singapore) 60 RPM, 50 000 TPM 200 000 jetons

Les limites de quota par défaut et la longueur de contexte acceptée pour Claude 3 Haiku sont les suivantes :

Région Limite de quota par défaut Longueur de contexte acceptée
us-central1 (Iowa) 60 RPM, 50 000 TPM 200 000 jetons
europe-west4 (Netherlands) 60 RPM, 50 000 TPM 200 000 jetons

Si vous souhaitez augmenter vos quotas pour l'IA générative sur Vertex AI, vous pouvez en faire la demande via la console Google Cloud. Pour en savoir plus sur les quotas, consultez la page Utiliser des quotas.

Définir les autorisations requises pour activer les modèles Claude et envoyer des invites

Pour qu'un utilisateur puisse activer les modèles Anthropic Claude, un administrateur doit lui attribuer le rôle Identity and Access Management (IAM) de gestionnaire des droits d'approvisionnement des consommateurs. Tout utilisateur disposant de ce rôle peut activer un modèle Anthropic Claude dans Model Garden.

Pour qu'un utilisateur puisse effectuer des requêtes d'invite à partir de Vertex AI, un administrateur doit lui accorder l'autorisation aiplatform.endpoints.predict. Cette autorisation est incluse dans le rôle IAM "Utilisateur Vertex AI". Pour en savoir plus, consultez les sections Utilisateur Vertex AI et Contrôle des accès.

Console

  1. Pour attribuer les rôles IAM "Gestionnaire des droits d'approvisionnement des consommateurs" à un utilisateur, accédez à la page IAM.

    Accéder à IAM

  2. Dans la colonne Compte principal, recherchez le compte principal d'utilisateur pour lequel vous souhaitez activer l'accès aux modèles Anthropic Claude, puis cliquez sur Modifiez le compte principal sur cette ligne.

  3. Dans le volet Modifier les accès, cliquez sur Ajouter un autre rôle.

  4. Dans Sélectionner un rôle, sélectionnez Gestionnaire des droits d'approvisionnement des consommateurs.

  5. Dans le volet Modifier les accès, cliquez sur Ajouter un autre rôle.

  6. Dans le champ Sélectionner un rôle, sélectionnez Utilisateur Vertex AI.

  7. Cliquez sur Enregistrer.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

  2. Attribuez le rôle de gestionnaire des droits d'approvisionnement des consommateurs requis pour activer les modèles Anthropic Claude dans Model Garden

    gcloud projects add-iam-policy-binding  PROJECT_ID \
    --member=PRINCIPAL --role=roles/consumerprocurement.entitlementManager
    
  3. Attribuez le rôle d'utilisateur Vertex AI qui inclut l'autorisation aiplatform.endpoints.predict requise pour effectuer des requêtes d'invite :

    gcloud projects add-iam-policy-binding  PROJECT_ID \
    --member=PRINCIPAL --role=roles/aiplatform.user
    

    Remplacez PRINCIPAL par l'identifiant du compte principal. L'identifiant se présente sous la forme user|group|serviceAccount:email ou domain:domain (par exemple, user:cloudysanfrancisco@gmail.com, group:admins@example.com, serviceAccount:test123@example.domain.com ou domain:example.domain.com.

    Le résultat est une liste de liaisons de stratégie qui incluent les éléments suivants :

    - members:
      - user:PRINCIPAL
      role: roles/roles/consumerprocurement.entitlementManager
    

    Pour plus d'informations, consultez les sections Attribuer un seul rôle et gcloud projects add-iam-policy-binding.