SDK Anthropic
MarkdownLe format Messages pour Claude et d’autres modèles : les SDK officiels Anthropic et les outils qui s’appuient sur eux.
Guide complet
Installation
pip install anthropicnpm install @anthropic-ai/sdkConnexion
L’adresse de base est https://api.ailoot.ai sans /v1 : le SDK ajoute lui-même /v1/messages. Variables d’environnement : ANTHROPIC_BASE_URL et ANTHROPIC_API_KEY.
import anthropic
import os
client = anthropic.Anthropic(max_retries=0,
base_url="https://api.ailoot.ai", # sans /v1 : le SDK ajoutera lui-même /v1/messages
api_key=os.environ["AILOOT_API_KEY"],
)
msg = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Explique en deux phrases ce qu’est une API."}],
)
print(msg.content[0].text)import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({ maxRetries: 0,
baseURL: "https://api.ailoot.ai", // sans /v1
apiKey: process.env.AILOOT_API_KEY,
});
const msg = await client.messages.create({
model: "claude-sonnet-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Explique en deux phrases ce qu’est une API." }],
});
console.log(msg.content[0].type === "text" ? msg.content[0].text : msg.content);Réponse en streaming
with client.messages.stream(
model="claude-sonnet-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Raconte une courte histoire"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)Le code de streaming fonctionne comme avec l’API d’origine, mais le texte facturé arrive en un seul bloc après le calcul du coût, et non mot par mot. Les lignes techniques : ping des réponses longues sont ignorées automatiquement par le SDK.
Raisonnement (extended thinking)
msg = client.messages.create(
model="claude-opus-5-5",
max_tokens=16000,
messages=[{"role": "user", "content": "Démontre qu’il existe une infinité de nombres premiers"}],
)Pas seulement Claude
Via /v1/messages , d’autres modèles sont également disponibles : GPT, DeepSeek, Qwen, Kimi, GLM, MiniMax, Grok et Gemini, soit 776 identifiants au total. C’est pratique pour les clients qui prennent uniquement en charge le format Anthropic.
msg = client.messages.create(
model="deepseek-v4-pro",
max_tokens=2048,
messages=[{"role": "user", "content": "Écris une fonction de tri fusion en Go"}],
)