Tutoriel

Statut éditorial : En attente de relecture

Effectuer une première requête à l’API Claude avec Python

Configurer le SDK Anthropic, envoyer un message, lire la réponse et gérer proprement secrets, erreurs et consommation de tokens.

Classification du contenu

Types

  • Modèles et API
Niveau
Débutant
Publié le
24 août 2026
Dernière relecture
Relecture en attente
Prochaine vérification
24 octobre 2026

Nous allons appeler Claude avec le SDK Python officiel, afficher le texte et relever la consommation. Le catalogue de modèles évolue : récupérez un identifiant actif dans la documentation Anthropic au moment de l’implémentation.

Installer le SDK

~~~bash python -m venv .venv source .venv/bin/activate pip install -U anthropic python-dotenv ~~~

Placez la clé dans un fichier .env ignoré par Git :

~~~text ANTHROPIC_API_KEY=votre_cle ANTHROPIC_MODEL=identifiant_du_modele_actif ~~~

Envoyer le message

~~~python import os from anthropic import Anthropic from dotenv import load_dotenv

load_dotenv() client = Anthropic(api_key=os.environ['ANTHROPIC_API_KEY'])

message = client.messages.create( model=os.environ['ANTHROPIC_MODEL'], max_tokens=300, temperature=0.2, system='Tu es un assistant technique. Réponds en français.', messages=[ {'role': 'user', 'content': 'Explique une transaction SQL avec un exemple.'} ], )

text = ''.join( block.text for block in message.content if block.type == 'text' ) print(text) print('entrée:', message.usage.input_tokens) print('sortie:', message.usage.output_tokens) ~~~

Le contenu est une liste de blocs, pas une simple chaîne. Ce format permet au même message de contenir texte et appels d’outils.

Ajouter un historique

Renvoyez les tours précédents dans messages, en alternant user et assistant. Ne stockez pas indéfiniment toute la conversation : résumez ou sélectionnez les tours utiles, et calculez le budget de tokens avant l’appel.

Gérer les erreurs

~~~python import anthropic

try: response = client.messages.create(...) except anthropic.RateLimitError: # file d'attente ou nouvelle tentative avec délai raise except anthropic.APIStatusError as error: print(error.status_code, error.request_id) raise ~~~

Relancez uniquement les erreurs temporaires et utilisez une clé d’idempotence pour toute action associée. Ne journalisez jamais la clé ni un prompt contenant des données sensibles.

Production

Centralisez modèle, température et limite de sortie dans une configuration versionnée. Ajoutez timeout, métriques de latence, tokens, coût estimé et identifiant de requête. Testez sur un jeu de cas métier avant de changer de modèle.

FAQ

Pourquoi max_tokens est-il obligatoire ?

Il borne la sortie et donc la latence et la dépense. Choisissez-le selon le format attendu, pas selon la fenêtre maximale du modèle.

Le system prompt est-il une barrière de sécurité ?

Non. Les autorisations et validations doivent rester dans le code et les outils.

Sources utilisées