

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.

# Anthropic Claude API   Message
<a name="model-parameters-anthropic-claude-messages"></a>

Cette section fournit les paramètres d’inférence et des exemples de code pour l’utilisation de l’API Anthropic Claude Messages.

**Topics**
+ [Anthropic Claude Présentation de l’API   Messages](#model-parameters-anthropic-claude-messages-overview)
+ [Utilisation d’outil](model-parameters-anthropic-claude-messages-tool-use.md)
+ [Réflexion étendue](claude-messages-extended-thinking.md)
+ [Pensée adaptative](claude-messages-adaptive-thinking.md)
+ [Chiffrement des raisonnements](claude-messages-thinking-encryption.md)
+ [Différences de raisonnement entre les versions du modèle](claude-messages-thinking-differences.md)
+ [Compactage](claude-messages-compaction.md)
+ [Obtenez des résultats JSON validés à partir de modèles](claude-messages-structured-outputs.md)
+ [Demande et réponse](model-parameters-anthropic-claude-messages-request-response.md)
+ [Exemples de code](api-inference-examples-claude-messages-code-examples.md)
+ [Modèles pris en charge](claude-messages-supported-models.md)

## Anthropic Claude Présentation de l’API   Messages
<a name="model-parameters-anthropic-claude-messages-overview"></a>

Vous pouvez utiliser l’API Messages pour créer des bots vocaux ou des applications d’assistant virtuel. L’API gère les échanges conversationnels entre un utilisateur et un modèle Anthropic Claude (assistant). 

**Note**  
Cette rubrique explique comment utiliser l'API des Anthropic Claude messages avec les opérations d'inférence de base ([InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)ou [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html)). Toutefois, nous vous recommandons d’utiliser l’API Converse pour mettre en œuvre des messages dans votre application. L’API Converse fournit un ensemble unifié de paramètres qui fonctionnent sur tous les modèles prenant en charge les messages. Pour de plus amples informations, veuillez consulter [Inférence à l'aide de l'API Converse](conversation-inference.md).
Des restrictions s'appliquent aux opérations suivantes : `InvokeModel``InvokeModelWithResponseStream`,`Converse`, et`ConverseStream`. Consultez les [restrictions relatives aux API](inference-api-restrictions.md) pour plus de détails.

Anthropic entraîne les modèles Claude à utiliser en alternant les tours de conversation entre l’utilisateur et l’assistant. Lorsque vous créez un nouveau message, vous spécifiez les tours de conversation précédents à l’aide du paramètre de message. Le modèle génère ensuite le message suivant de la conversation.

Chaque message d’entrée doit être un objet doté d’un rôle et d’un contenu. Vous pouvez spécifier un seul message de rôle d’utilisateur ou inclure plusieurs messages d’utilisateur et d’assistant.

Si vous utilisez la technique qui consiste à préremplir le formulaire de réponse de Claude (en remplissant le début de la réponse de Claude en utilisant un dernier rôle d’assistant, Message), Claude répondra en reprenant là où vous vous êtes arrêté. Avec cette technique, Claude renverra toujours une réponse avec le rôle d’assistant. 

Si le message final utilise le rôle d’assistant, le contenu de la réponse se poursuivra immédiatement à partir du contenu de ce message. Vous pouvez l’utiliser pour restreindre une partie de la réponse du modèle. 

Exemple avec un message destiné à un seul utilisateur :

```
[{"role": "user", "content": "Hello, Claude"}]
```

Exemple avec plusieurs tours de conversation :

```
[
  {"role": "user", "content": "Hello there."},
  {"role": "assistant", "content": "Hi, I'm Claude. How can I help you?"},
  {"role": "user", "content": "Can you explain LLMs in plain English?"},
]
```

Exemple avec une réponse partiellement remplie de Claude :

```
[
  {"role": "user", "content": "Please describe yourself using only JSON"},
  {"role": "assistant", "content": "Here is my JSON description:\n{"},
]
```

Le contenu de chaque message d’entrée peut être une chaîne unique ou un tableau de blocs de contenu, chaque bloc ayant un type spécifique. L’utilisation d’une chaîne est un raccourci pour désigner un tableau d’un bloc de contenu de type « texte ». Les messages d’entrée suivants sont équivalents :

```
{"role": "user", "content": "Hello, Claude"}
```

```
{"role": "user", "content": [{"type": "text", "text": "Hello, Claude"}]}
```

Pour plus d’informations sur la création d’invites pour les modèles Anthropic Claude, consultez [Intro to prompting](https://docs.anthropic.com/claude/docs/intro-to-prompting) dans la documentation Anthropic Claude. Si vous avez déjà reçu des invites [Text Completion](model-parameters-anthropic-claude-text-completion.md) que vous souhaitez migrer vers l’API des messages, consultez [Migrating from Text Completions](https://docs.anthropic.com/claude/reference/migrating-from-text-completions-to-messages).

**Important**  
Le délai d’expiration pour les appels d’inférence vers les modèles Anthropic Claude 3.7 Sonnet et Claude 4 est de 60 minutes. Par défaut, les clients du AWS SDK expirent au bout d'une minute. Nous vous recommandons d'augmenter le délai de lecture de votre client AWS SDK à au moins 60 minutes. Par exemple, dans le kit SDK AWS Python botocore, modifiez la valeur du champ `read_timeout` dans [botocore.config](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#) à au moins 3 600.

### Invites du système
<a name="model-parameters-anthropic-claude-messages-system-prompts"></a>

Vous pouvez également inclure une invite du système dans la demande. Une invite système vous permet de fournir du contexte et des instructions Anthropic Claude, par exemple en spécifiant un objectif ou un rôle en particulier. Spécifiez une invite du système dans le champ `system`, comme indiqué dans l’exemple suivant. 

```
"system": "You are Claude, an AI assistant created by Anthropic to be helpful,
                harmless, and honest. Your goal is to provide informative and substantive responses
                to queries while avoiding potential harms."
```

Pour plus d’informations, consultez [System prompts](https://docs.anthropic.com/en/docs/system-prompts) dans la documentation Anthropic.

### Invites multimodales
<a name="model-parameters-anthropic-claude-messages-multimodal-prompts"></a>

Une invite multimodale combine plusieurs modalités (images et texte) dans une seule invite. Vous spécifiez les modalités dans le champ d’entrée `content`. L’exemple suivant montre comment vous pouvez demander Anthropic Claude de décrire le contenu d’une image fournie. Pour obtenir un exemple de code, consultez [Exemples de code multimodal](api-inference-examples-claude-messages-code-examples.md#api-inference-examples-claude-multimodal-code-example). 

```
{
    "anthropic_version": "bedrock-2023-05-31", 
    "max_tokens": 1024,
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/jpeg",
                        "data": "iVBORw..."
                    }
                },
                {
                    "type": "text",
                    "text": "What's in these images?"
                }
            ]
        }
    ]
}
```

Chaque image que vous incluez dans une demande est prise en compte dans l’utilisation de votre jeton. Pour plus d’informations, consultez [Image costs](https://docs.anthropic.com/claude/docs/vision#image-costs) dans la documentation Anthropic.