

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Inférence à l'aide de l'API Anthropic Messages
<a name="inference-messages-api"></a>

L'API Anthropic Messages fournit un accès natif aux modèles Claude en utilisant le format de demande et de réponse Anthropic. Vous pouvez utiliser l'API Messages à la fois sur les points de `bedrock-runtime` terminaison `bedrock-mantle` et sur les points de terminaison, ce qui vous permet de choisir le style d'authentification et d'intégration adapté à votre application.


| **Point de terminaison** | **URL de base** | **Cas d'utilisation** | 
| --- | --- | --- | 
| bedrock-mantle | https://bedrock-mantle.{region}.api.aws/anthropic/v1/messages | Recommandé pour les nouvelles applications. Supporte l'authentification par clé d'API et. [Espaces de travail () Anthropic-compatible](workspaces.md) | 
| bedrock-runtime | https://bedrock-runtime.{region}.amazonaws.com | À utiliser avec les intégrations de AWS SDK existantes et la journalisation des appels. | 

## Régions prises en charge
<a name="inference-messages-api-supported"></a>

L'API Messages est disponible sur le `bedrock-mantle` terminal dans toutes les régions qui le prennent en charge `bedrock-mantle` (voir[Régions et points de terminaison pris en charge](bedrock-mantle.md#bedrock-mantle-supported)). En ce qui `bedrock-runtime` concerne le terminal, il est disponible dans toutes les régions où les modèles Claude sont disponibles. Consultez [Disponibilité régionale par modèle](models-region-compatibility.md) pour plus de détails.

## Conditions préalables
<a name="inference-messages-api-prereq"></a>

Avant d'utiliser l'API Messages, assurez-vous de disposer des éléments suivants :
+ **Accès aux modèles** — Demandez l'accès aux modèles Claude dans la console Amazon Bedrock. Consultez [Demander l'accès aux modèles](model-access.md).
+ **Authentification** : dépend du point de terminaison :
  + `bedrock-mantle`— Utilisez une clé d'API Amazon Bedrock (voir[clés d’API](api-keys.md)) ou des informations d'identification AWS SigV4.
  + `bedrock-runtime`— Utilisez les informations d'identification AWS SigV4 via le AWS SDK (boto3, etc.).
+ **En-tête de version anthropique** — Toutes les demandes nécessitent une version d'API :
  + `bedrock-mantle`: défini `anthropic-version: 2023-06-01` comme en-tête HTTP.
  + `bedrock-runtime`: défini `"anthropic_version": "bedrock-2023-05-31"` dans le corps de la demande.

## Demande de base
<a name="inference-messages-api-basic"></a>

Pour envoyer un message de base à un modèle Claude, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :

------
#### [ bedrock-mantle (curl) ]

```
curl -X POST https://bedrock-mantle.us-east-1.api.aws/anthropic/v1/messages \
  -H "x-api-key: $BEDROCK_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic.claude-sonnet-4-6-v1",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": "Explain quantum computing in one sentence."}
    ]
  }'
```

------
#### [ bedrock-runtime (Python) ]

```
import boto3
import json

client = boto3.client("bedrock-runtime", region_name="us-east-1")

response = client.invoke_model(
    modelId="anthropic.claude-sonnet-4-6-v1",
    body=json.dumps({
        "anthropic_version": "bedrock-2023-05-31",
        "max_tokens": 1024,
        "messages": [
            {"role": "user", "content": "Explain quantum computing in one sentence."}
        ]
    })
)

result = json.loads(response["body"].read())
print(result["content"][0]["text"])
```

------
#### [ bedrock-runtime (AWS CLI) ]

Utilisez la AWS CLI pour appeler le modèle :

```
aws bedrock-runtime invoke-model \
  --model-id anthropic.claude-sonnet-4-6-v1 \
  --body '{
    "anthropic_version": "bedrock-2023-05-31",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": "Explain quantum computing in one sentence."}
    ]
  }' \
  --cli-binary-format raw-in-base64-out \
  output.json
```

------
#### [ bedrock-runtime (curl) ]

Vous pouvez appeler `bedrock-runtime` directement avec curl en signant la demande avec AWS SigV4. L'exemple ci-dessous utilise le `--aws-sigv4` drapeau intégré de curl (disponible dans curl 7.75.0 et versions ultérieures) :

```
curl -X POST \
  "https://bedrock-runtime.us-east-1.amazonaws.com/model/anthropic.claude-sonnet-4-6-v1/invoke" \
  -H "Content-Type: application/json" \
  --aws-sigv4 "aws:amz:us-east-1:bedrock" \
  --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \
  -d '{
    "anthropic_version": "bedrock-2023-05-31",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": "Explain quantum computing in one sentence."}
    ]
  }'
```

**Note**  
Si vous utilisez des informations d'identification temporaires de AWS STS (par exemple, un rôle assumé), transmettez également le jeton de session en l'ajoutant `-H "X-Amz-Security-Token: $AWS_SESSION_TOKEN"` à la demande. Pour la plupart des cas d'utilisation, nous recommandons les AWS SDK ou la CLI, qui gèrent automatiquement la signature des demandes et l'actualisation des informations d'identification.

------

## Diffusez les réponses
<a name="inference-messages-api-streaming"></a>

Pour recevoir les jetons de réponse de manière incrémentielle au fur et à mesure de leur génération, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :

------
#### [ bedrock-mantle (curl) ]

```
curl -X POST https://bedrock-mantle.us-east-1.api.aws/anthropic/v1/messages \
  -H "x-api-key: $BEDROCK_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic.claude-sonnet-4-6-v1",
    "max_tokens": 1024,
    "stream": true,
    "messages": [
        {"role": "user", "content": "Write a short poem about cloud computing."}
    ]
  }'
```

------
#### [ bedrock-runtime (Python) ]

```
import boto3
import json

client = boto3.client("bedrock-runtime", region_name="us-east-1")

response = client.invoke_model_with_response_stream(
    modelId="anthropic.claude-sonnet-4-6-v1",
    body=json.dumps({
        "anthropic_version": "bedrock-2023-05-31",
        "max_tokens": 1024,
        "messages": [
            {"role": "user", "content": "Write a short poem about cloud computing."}
        ]
    })
)

for event in response["body"]:
    chunk = json.loads(event["chunk"]["bytes"])
    if chunk["type"] == "content_block_delta":
        print(chunk["delta"]["text"], end="")
```

------

## Fonctionnalités prises en charge
<a name="inference-messages-api-features"></a>

Outre les sections [Pensée étendue, Pensée](claude-messages-extended-thinking.md) [adaptative](claude-messages-adaptive-thinking.md), [sorties structurées](claude-messages-structured-outputs.md), [compactage](claude-messages-compaction.md), [crédit de secours pour les demandes refusées (version bêta)](claude-messages-fallback-credit.md) et [messages Mid-conversation système](claude-messages-mid-conversation-system.md) ci-dessus, l'API Messages prend en charge les fonctionnalités suivantes avec les modèles Claude :
+ **Invites système** — Définissez le comportement du modèle à l'aide d'un `system` paramètre.
+ **Multi-turn conversations** — Passez des `assistant` messages `user` en alternance.
+ **Utilisation de l'outil** : définissez les outils que le modèle peut appeler. Consultez [Utilisation d’un outil pour compléter une réponse au modèle Amazon Bedrock](tool-use.md).
+ **Vision** — Envoyez des images dans le `content` tableau à côté du texte.
+ **Mise en cache rapide : mettez en** cache le contexte fréquemment utilisé pour réduire la latence et les coûts.

Pour la référence complète des champs de demande et de réponse de l'API Messages, voir[Demande et réponse](model-parameters-anthropic-claude-messages-request-response.md).

## Comptez les jetons
<a name="inference-messages-api-count-tokens"></a>

Pour compter le nombre de jetons d'entrée qu'une demande consommerait avant de l'envoyer pour inférence, utilisez le `count_tokens` chemin anthropique sur le `bedrock-mantle` point de terminaison. Il s'agit de la seule méthode de comptage de jetons prise en charge pour les modèles Claude qui ne sont pas disponibles `bedrock-runtime` avec un Region-specific point de terminaison, y compris les modèles Claude qui se lancent uniquement avec l'inférence interrégionale (CRIS). Pour plus de détails et un exemple, reportez-vous à la section [Comptez les jetons en utilisant le point de terminaison Bedrock-Mantle](count-tokens.md#count-tokens-mantle).