Anthropic SDK na twoich własnych kartach GPU.
Twój klucz API Anthropic zostaje w api_key; klucz LM Warden jest przesyłany w osobnym nagłówku.
Opis słowny: Anthropic SDK wysyła żądania do LM Warden: base_url wskazuje instancję LM Warden, a X-LMWarden-Key zawiera klucz LM Warden. LM Warden sprawdza klucz, obsługuje Anthropic Messages, ustawia żądanie w kolejce według priorytetu klucza i przekazuje je routerowi replik, który utrzymuje każdą sesję na replice mającej już jej cache, po jednej kopii modelu na kartę GPU. Osobna ścieżka prowadzi do api.anthropic.com: tam reguły wysyłają pozostałe modele Claude, z twoim własnym kluczem API.
- Protokół
- Anthropic Messages
- Obsługa
- Pełna obsługa
Modele Claude wskazane w twoich regułach działają tutaj; wszystkie inne modele i ścieżki /v1 trafiają do Anthropic na twoim własnym koncie. Tryb tylko lokalny nie wymaga konta Anthropic: klucz LM Warden to api_key, a jako model podajesz nazwę udostępnianego modelu.
Wymagania
- Routing musi być włączony, z co najmniej jedną aktywną regułą.
- Klucz musi mieć zgodę na przekazywanie do Anthropic (May relay).
Konfiguracja
W konsoli Connect zapisuje te pliki z adresem twojej instancji LM Warden, twoim kluczem i wybranym modelem. Tutaj są pokazane z symbolami zastępczymi.
Router: zachowaj klucz Anthropic
base_url to ta instancja LM Warden; twój klucz API Anthropic zostaje w api_key, a klucz LM Warden trafia do nagłówków domyślnych.
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."}]}'Tylko lokalnie
Klucz LM Warden to api_key, a jako model podajesz nazwę udostępnianego modelu.
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."}]}'Oficjalna dokumentacja: https://platform.claude.com/docs/en/api/sdks/python (stan na 2026-10-04).