Skip to main content
Anthropic Claude est un système de dialogue AI très puissant, capable de générer des réponses fluides et naturelles en quelques secondes simplement en entrant un mot-clé. L’API Claude Messages est le format d’API natif officiel d’Anthropic, qui, contrairement au format compatible avec OpenAI (Chat Completion), utilise sa propre structure de requête et de réponse, permettant de mieux exploiter les capacités uniques de Claude, telles que l’entrée de contenu multimodal, l’appel d’outils, la réflexion approfondie (Extended Thinking) et d’autres caractéristiques avancées. Ce document présente principalement le processus d’utilisation de l’API Claude Messages, permettant d’utiliser une interface native conforme aux normes d’Anthropic pour appeler les fonctionnalités de dialogue de Claude.

Processus de demande

Pour utiliser l’API Claude Messages, vous pouvez d’abord vous rendre sur la page Claude Messages API et cliquer sur le bouton « Acquire » pour obtenir les informations d’identification nécessaires à la demande : Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion pour vous inviter à vous inscrire et à vous connecter. Après vous être connecté ou inscrit, vous serez automatiquement renvoyé à la page actuelle. Lors de la première demande, un quota gratuit sera offert, vous permettant d’utiliser cette API gratuitement.

Utilisation de base

Le chemin de requête de l’API Claude Messages est /v1/messages, en accord avec l’API officielle d’Anthropic. Nous devons fournir au moins trois paramètres obligatoires :
  • model : choisir le modèle Claude à utiliser, tel que claude-opus-4-20250514, claude-sonnet-4-20250514, etc.
  • messages : tableau de messages d’entrée, chaque message contenant role (rôle) et content (contenu), où role prend en charge user et assistant.
  • max_tokens : nombre maximum de tokens de sortie, utilisé pour limiter la longueur de la réponse unique.
Paramètres optionnels courants :
  • system : mot-clé système, utilisé pour définir le comportement et le rôle du modèle.
  • temperature : aléatoire de génération, entre 0 et 1, plus la valeur est élevée, plus la réponse est dispersée.
  • stream : utiliser ou non la réponse en continu, en le définissant sur true, vous pouvez obtenir un effet de retour lettre par lettre.
  • stop_sequences : séquences d’arrêt personnalisées, le modèle s’arrêtera de générer lorsqu’il rencontrera ces textes.
  • top_p : paramètre d’échantillonnage nucléaire, en combinaison avec la température pour contrôler le caractère aléatoire de la génération.
  • top_k : échantillonnage uniquement parmi les K options les plus probables.
  • tools : définition des outils, permettant au modèle d’appeler des fonctions externes.
  • tool_choice : contrôle de la manière dont le modèle utilise les outils fournis.

Exemple cURL

Exemple Python

Après l’appel, le résultat retourné est le suivant :
Explication des champs de résultat :
  • id : identifiant unique de ce message.
  • type : toujours message.
  • role : toujours assistant.
  • content : tableau de contenu de réponse, chaque élément contenant type (comme text) et le contenu correspondant.
  • model : nom du modèle traitant la demande.
  • stop_reason : raison de l’arrêt, les valeurs possibles incluent end_turn (fin normale), max_tokens (atteint la longueur maximale), stop_sequence (rencontre une séquence d’arrêt), tool_use (appel d’outil).
  • stop_sequence : si l’arrêt est dû à une séquence d’arrêt personnalisée, le texte de la séquence d’arrêt correspondante est affiché.
  • usage : statistiques d’utilisation des tokens, comprenant input_tokens (nombre de tokens d’entrée) et output_tokens (nombre de tokens de sortie).

Mot-clé système

L’API Claude Messages prend en charge la définition de mots-clés système via le champ system, utilisé pour définir le comportement, le rôle et le contexte du modèle.

Exemple Python

En définissant le mot-clé system, vous pouvez contrôler précisément le rôle et le comportement de Claude.

Réponse en continu

Cette interface prend également en charge les réponses en continu, en définissant le paramètre stream sur true, vous pouvez obtenir un effet de retour progressif, très adapté pour afficher lettre par lettre sur une page web.

Exemple Python

Les réponses en continu sont retournées au format Server-Sent Events (SSE), chaque ligne étant précédée de event: et data:. Les types d’événements en continu incluent :
  • message_start : début du message, contenant les informations de base du message et le nom du modèle.
  • content_block_start : début du bloc de contenu.
  • content_block_delta : mise à jour incrémentielle du bloc de contenu, contenant de nouveaux segments de texte générés.
  • content_block_stop : fin du bloc de contenu.
  • message_delta : mise à jour incrémentielle au niveau du message, contenant stop_reason et les informations finales d’usage.
  • message_stop : fin du message.
L’effet de sortie est le suivant :
On peut voir que l’événement content_block_delta dans la réponse en streaming contient le contenu généré progressivement, en concaténant tous les text_delta, on peut obtenir la réponse complète.

Exemple JavaScript

Dialogue multi-tours

Si vous souhaitez intégrer une fonctionnalité de dialogue multi-tours, vous devez alterner les messages des rôles user et assistant dans le tableau messages, en incluant l’historique des conversations précédentes.

Exemple Python

Le résultat est le suivant :
En passant l’historique complet de la conversation dans messages, Claude peut répondre avec précision en tenant compte du contexte.

Modèle de réflexion approfondie

Claude prend en charge la fonctionnalité de réflexion approfondie (Extended Thinking), qui permet au modèle de procéder à un raisonnement interne avant de répondre, améliorant ainsi la précision du traitement des problèmes complexes. Pour utiliser cette fonctionnalité, il est nécessaire de passer le paramètre thinking.

Exemple Python

Le résultat est le suivant :
On peut voir que le tableau content contient deux blocs de contenu :
  • type: "thinking" : le processus de réflexion interne du modèle, montrant les étapes de raisonnement.
  • type: "text" : le résultat final de la réponse.
Remarques :
  • Lors de l’utilisation de thinking, max_tokens doit être supérieur à budget_tokens, car budget_tokens est le budget de tokens alloué au processus de réflexion.
  • Plus budget_tokens est élevé, plus le modèle a d’espace pour un raisonnement approfondi, ce qui est adapté pour traiter des problèmes complexes.

Modèle visuel

Claude prend en charge les entrées multimodales, pouvant traiter simultanément du texte et des images. Dans l’API Messages, vous pouvez utiliser la capacité visuelle en définissant content au format tableau et en passant des blocs de contenu d’image.

Utilisation d’images encodées en Base64

Utilisation d’images par URL

cURL Exemple

Les formats d’image pris en charge incluent : image/jpeg, image/png, image/gif, image/webp. Exemple de résultat retourné :

Utilisation des outils (Tool Use)

L’API Claude Messages prend en charge nativement la fonctionnalité d’appel d’outils, permettant au modèle d’appeler vos outils/fonctions prédéfinis en cas de besoin.

Exemple Python

Lorsque le modèle décide d’appeler un outil, le contenu de la réponse contiendra un bloc de type tool_use :
Notez que stop_reason est tool_use, ce qui indique que le modèle doit appeler un outil. Après avoir reçu ce résultat, vous devez exécuter la fonction de l’outil et renvoyer le résultat sous la forme tool_result au modèle :
Le modèle générera une réponse en langage naturel finale basée sur le résultat retourné par l’outil.

Différences avec l’API de complétion de chat

Ace Data Cloud propose deux formats d’API Claude, les principales différences sont les suivantes : Si votre système est déjà intégré à l’API au format OpenAI, vous pouvez utiliser l’API de complétion de chat pour une transition fluide. Si vous avez besoin d’utiliser toutes les capacités natives de Claude, il est recommandé d’utiliser l’API Messages.

Gestion des erreurs

Lors de l’appel de l’API, si une erreur se produit, l’API renverra le code d’erreur et les informations correspondantes. Par exemple :
  • 400 token_mismatched : Mauvaise requête, probablement en raison de paramètres manquants ou invalides.
  • 400 api_not_implemented : Mauvaise requête, probablement en raison de paramètres manquants ou invalides.
  • 401 invalid_token : Non autorisé, jeton d’autorisation invalide ou manquant.
  • 429 too_many_requests : Trop de requêtes, vous avez dépassé la limite de taux.
  • 500 api_error : Erreur interne du serveur, quelque chose s’est mal passé sur le serveur.

Exemple de réponse d’erreur

Conclusion

Grâce à ce document, vous avez compris comment utiliser l’API Claude Messages pour appeler les fonctionnalités de conversation de Claude au format natif d’Anthropic. L’API Messages prend en charge des fonctionnalités riches telles que la conversation de base, les invites système, les réponses en continu, les conversations multi-tours, la réflexion approfondie, la compréhension visuelle et les appels d’outils. Si vous avez des questions, n’hésitez pas à contacter notre équipe de support technique.