API Anthropic Claude Message - Amazon Bedrock

API Anthropic Claude Message

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

Présentation de l’API Anthropic Claude Messages

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).

Astuce

Cette rubrique explique comment utiliser l’API Anthropic Claude Messages avec les opérations d’inférence de base (InvokeModel ou InvokeModelWithResponseStream). 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 plus d’informations, consultez Mener une conversation avec les opérations d’API Converse.

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 dans la documentation Anthropic Claude. Si vous avez déjà reçu des invites Text Completion que vous souhaitez migrer vers l’API des messages, consultez Migrating from Text Completions.

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 kit AWS SDK expirent au bout d’une minute. Nous vous recommandons d’augmenter le délai de lecture du client de votre kit 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 à au moins 3 600.

Invites du système

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 dans la documentation Anthropic.

Invites multimodales

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.

{ "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?" } ] } ] }
Note

Les restrictions suivantes s’appliquent au champ content :

  • Vous pouvez inclure jusqu’à 20 images. La taille, la hauteur et la largeur de chaque image ne doivent pas dépasser 3,75 Mo, 8 000 pixels et 8 000 pixels, respectivement.

  • Vous pouvez inclure jusqu’à cinq documents. La taille de chaque document ne doit pas dépasser 4,5 Mo.

  • Vous ne pouvez inclure des images et des documents que si le role est user.

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 dans la documentation Anthropic.