SDK Anthropic
MarkdownLe format Messages pour Claude et d’autres modèles : les SDK officiels d’Anthropic et les outils qui s’appuient sur eux.
Guide complet
Installation
pip install anthropicnpm install @anthropic-ai/sdkConnexion à l’API
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. Le SDK ignore automatiquement les lignes auxiliaires : ping lors des réponses longues.
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"}],
)