Anthropic SDK sur vos propres GPU.
Votre clé API Anthropic reste dans api_key ; la clé warden est transmise dans un en-tête distinct.
En clair : L’Anthropic SDK envoie ses requêtes à LM Warden : base_url pointe vers le warden et X-LMWarden-Key contient une clé du warden. LM Warden vérifie la clé, interprète la requête au format Anthropic Messages, la place en file d’attente selon la priorité de la clé, puis la confie au routeur de réplicas, qui maintient chaque session sur le réplica détenant déjà son cache (une copie du modèle par GPU). Un chemin distinct mène à api.anthropic.com : les règles y envoient les autres modèles Claude, avec votre propre clé API.
- Protocole
- Anthropic Messages
- Prise en charge
- Complète
Les modèles Claude désignés par vos règles tournent ici ; tous les autres modèles et chemins /v1 partent chez Anthropic avec votre propre clé API. Le mode Local uniquement ne nécessite aucun compte Anthropic : la clé warden sert d’api_key et le modèle est un nom de modèle servi.
Prérequis
- Le routage doit être activé, avec au moins une règle active.
- La clé doit être autorisée à relayer vers Anthropic (May relay).
Configuration
Dans la console, Connect génère ces fichiers avec l’adresse de votre warden, votre clé et le modèle choisi. Ils sont présentés ici avec des valeurs fictives.
Router : gardez votre clé Anthropic
base_url pointe vers ce warden ; votre clé API Anthropic reste dans api_key et la clé warden va dans les en-têtes par défaut.
import anthropic
# api_key is your own Anthropic key (ANTHROPIC_API_KEY), used for pass-through.
client = anthropic.Anthropic(
base_url="https://your-warden",
default_headers={"X-LMWarden-Key": "vw_YOUR_KEY"},
)
message = client.messages.create(
model="claude-haiku-4-5", # a model your rules serve here; others go to Anthropic
max_tokens=256,
messages=[{"role": "user", "content": "Reply with the single word OK."}],
)
print(message.content[0].text)import Anthropic from "@anthropic-ai/sdk";
// apiKey is your own Anthropic key (ANTHROPIC_API_KEY), used for pass-through.
const client = new Anthropic({
baseURL: "https://your-warden",
defaultHeaders: { "X-LMWarden-Key": "vw_YOUR_KEY" },
});
const message = await client.messages.create({
model: "claude-haiku-4-5", // a model your rules serve here; others go to Anthropic
max_tokens: 256,
messages: [{ role: "user", content: "Reply with the single word OK." }],
});
console.log(message.content);curl https://your-warden/v1/messages \
-H "X-LMWarden-Key: vw_YOUR_KEY" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model": "claude-haiku-4-5", "max_tokens": 256, "messages": [{"role": "user", "content": "Reply with the single word OK."}]}'Local uniquement
La clé warden sert d’api_key et le modèle est un nom de modèle servi.
import anthropic
client = anthropic.Anthropic(base_url="https://your-warden", api_key="vw_YOUR_KEY")
message = client.messages.create(
model="your-served-model-name",
max_tokens=256,
messages=[{"role": "user", "content": "Reply with the single word OK."}],
)
print(message.content[0].text)import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({ baseURL: "https://your-warden", apiKey: "vw_YOUR_KEY" });
const message = await client.messages.create({
model: "your-served-model-name",
max_tokens: 256,
messages: [{ role: "user", content: "Reply with the single word OK." }],
});
console.log(message.content);curl https://your-warden/v1/messages \
-H "x-api-key: vw_YOUR_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model": "your-served-model-name", "max_tokens": 256, "messages": [{"role": "user", "content": "Reply with the single word OK."}]}'Documentation officielle : https://platform.claude.com/docs/en/api/sdks/python (consultée le 2026-10-04).