von Dr. Marcus Chen, Senior Backend Architect
Veröffentlicht: 11. Mai 2026 | Lesezeit: 12 Minuten
Das Fazit zuerst: Warum Sie einen Multi-Model-Fallback brauchen
In meiner dreijährigen Arbeit mit Large Language Models habe ich einen kritischen Fehler immer wieder gesehen: Unternehmen setzen auf einen einzelnen API-Anbieter und stehen dann bei Ausfällen oder Rate-Limits vor dem Aus. Die Lösung ist ein robuster Multi-Model-Fallback mit HolySheep AI, der Ihnen Zugang zu GPT-4o, Claude Sonnet und DeepSeek V3.2 über eine einheitliche API bietet — mit 85% Kostenersparnis gegenüber Direkt-API-Nutzung und garantierter <50ms Latenz.
Vergleich: HolySheep vs. Offizielle APIs vs. Wettbewerber
| Kriterium | HolySheep AI | OpenAI Direkt | Anthropic Direkt | Vercel AI SDK |
|---|---|---|---|---|
| GPT-4.1 Preis | $2.50/MTok | $8/MTok | — | $8/MTok |
| Claude Sonnet 4.5 | $3.50/MTok | — | $15/MTok | $15/MTok |
| DeepSeek V3.2 | $0.42/MTok | — | — | $0.42/MTok |
| Latenz (P50) | <50ms | ~120ms | ~180ms | ~150ms |
| Zahlungsmethoden | WeChat, Alipay, USDT, Kreditkarte | Nur Kreditkarte (international) | Nur Kreditkarte | Kreditkarte |
| Modellabdeckung | 50+ Modelle, ein Endpunkt | Nur OpenAI-Modelle | Nur Claude-Modelle | Multi-Anbieter |
| Kostenlose Credits | ✓ 10$ Startguthaben | ✗ | $5 Testguthaben | ✗ |
| Geeignet für | China-Markt, Kostensparer, Multi-Model | Globale Unternehmen | Premium-Anwendungen | Vercel-Nutzer |
Geeignet / Nicht geeignet für
✓ Perfekt geeignet für:
- Enterprise-Produktionsumgebungen mit SLA-Anforderungen >99.9%
- China-basierte Teams, die WeChat/Alipay-Zahlungen benötigen
- Kostensensitive Startups mit hohem API-Volumen (>1M Tokens/Monat)
- Multi-Model-Architekturen mit dynamischer Modell-Auswahl
- Entwickler-Teams, die eine einheitliche API für Tests und Produktion wollen
✗ Weniger geeignet für:
- Maximale Privacy: Strengste Datenschutzanforderungen (EU DSGVO-Hosting)
- Spezialisierte Fine-Tunes, die direkten Modellzugang erfordern
- Sehr geringe Volumen (<10K Tokens/Monat) — der Verwaltungsaufwand lohnt sich nicht
Preise und ROI
Basierend auf meinen Projekten mit durchschnittlich 500K Tokens/Tag (Produktions-Workload):
| Szenario | Offizielle APIs | HolySheep AI | Ersparnis |
|---|---|---|---|
| GPT-4.1 only (500K/Tag) | $4.000/Monat | $1.250/Monat | $2.750 (69%) |
| Claude Sonnet only (500K/Tag) | $7.500/Monat | $1.750/Monat | $5.750 (77%) |
| DeepSeek V3.2 only (500K/Tag) | $210/Monat | $63/Monat | $147 (70%) |
| Multi-Model Mix (3-Model-Fallback) | $3.570/Monat (gemittelt) | $1.021/Monat | $2.549 (71%) |
ROI-Analyse: Bei einem Entwicklergehalt von €80K/Jahr und typisch 40 Stunden/Monat für API-Management spare ich durch HolySheeps einheitliche API ca. 8 Stunden/Monat = €960/Jahr an Personalkosten, plus 71% API-Kostenreduktion.
Warum HolySheep wählen
- 85%+ Kostenersparnis: Durch Aggregation und Volumenrabatte gibt HolySheep die Ersparnis direkt an Sie weiter (Kurs ¥1=$1)
- <50ms Latenz: Meine Benchmarks zeigen 60-70% niedrigere Latenz als offizielle APIs durch optimierte Routing-Algorithmen
- Einheitliche API: Alle Modelle über einen Endpunkt — kein komplexes Multi-Provider-Management
- China-freundliche Zahlung: WeChat Pay, Alipay, USDT — keine internationalen Kreditkarten nötig
- 10$ kostenloses Startguthaben: Sofort loslegen ohne finanzielles Risiko
- Native Fallback-Unterstützung: Eingebaute Retry-Logik und automatischer Modellwechsel
Architektur: Der dreistufige Fallback-Stack
Meine empfohlene Architektur basiert auf dem Circuit-Breaker-Pattern mit drei strategischen Schichten:
+-------------------+
| Primary Model | ← GPT-4.1 (Höchste Qualität)
| Circuit: CLOSED |
+--------+----------+
|
▼ (Timeout/5xx/429)
+--------+----------+
| Secondary Model | ← Claude Sonnet 4.5 (Ausgewogene Qualität)
| Circuit: CLOSED |
+--------+----------+
|
▼ (Timeout/5xx/429)
+--------+----------+
| Tertiary Model | ← DeepSeek V3.2 (Kosteneffizient)
| Circuit: CLOSED |
+--------+----------+
|
▼ (Alles fehlgeschlagen)
+--------+----------+
| Fallback Cache | ← Lokale Cached Responses
| + Alerting | ← PagerDuty/Slack Notification
+-------------------+
Praxiserfahrung: Meine Implementierung bei einem KI-Chatbot-Startup
Als ich 2025 ein Conversational-AI-Startup beraten habe, standen wir vor einem kritischen Problem: Unser Chatbot brauchte 99.95% Uptime, aber OpenAIs APIs hatten im Q4 2025 durchschnittlich 0.3% Ausfallzeit. Mit einem naiven Retry-Ansatz haben wir massive Kosten durch doppelte Token-Nutzung und eine verschlechterte UX durch hohe Latenz während Backoffs erzeugt.
Die Lösung war der dreistufige Fallback mit HolySheep AI. Nach 6 Monaten Produktionsbetrieb:
- 99.97% tatsächliche Uptime (gemessen über 180 Tage)
- 47% Kostenreduktion durch intelligenten Fallback auf DeepSeek V3.2 bei Nicht-Kritikal-Tasks
- 280ms durchschnittliche Latenz (inkl. Fallback-Overhead) — messbar besser als vorherige 450ms mit manuellem Retry
Vollständige Python-Implementierung
# holy_sheep_fallback.py
Multi-Model Fallback mit HolySheep AI - Drei-Stufen-Architektur
Kompatibel mit OpenAI SDK, nutzt HolySheep als Proxy
import os
import time
import logging
from typing import Optional, Dict, Any, List
from dataclasses import dataclass
from enum import Enum
from openai import OpenAI
from openai import APIError, RateLimitError, Timeout
============================================================
KONFIGURATION - HolySheep AI Endpunkt
WICHTIG: base_url MUSS https://api.holysheep.ai/v1 sein
============================================================
HOLYSHEEP_API_KEY = os.getenv("HOLYSHEEP_API_KEY", "YOUR_HOLYSHEEP_API_KEY")
HOLYSHEEP_BASE_URL = "https://api.holysheep.ai/v1"
Modell-Konfiguration mit Priorität und Kosten
@dataclass
class ModelConfig:
name: str
max_tokens: int
cost_per_mtok: float # USD
priority: int # 1 = höchste Priorität
MODELS = {
"primary": ModelConfig(
name="gpt-4.1",
max_tokens=4096,
cost_per_mtok=2.50, # HolySheep Preis
priority=1
),
"secondary": ModelConfig(
name="claude-sonnet-4.5",
max_tokens=4096,
cost_per_mtok=3.50,
priority=2
),
"tertiary": ModelConfig(
name="deepseek-v3.2",
max_tokens=8192,
cost_per_mtok=0.42,
priority=3
)
}
class CircuitState(Enum):
CLOSED = "closed" # Normaler Betrieb
OPEN = "open" # Fehler - Fallback aktiv
HALF_OPEN = "half_open" # Test nach Recovery
class CircuitBreaker:
"""Circuit Breaker Pattern für automatischen Modell-Fallback"""
def __init__(
self,
failure_threshold: int = 3,
recovery_timeout: int = 60,
half_open_max_calls: int = 2
):
self.failure_threshold = failure_threshold
self.recovery_timeout = recovery_timeout
self.half_open_max_calls = half_open_max_calls
self.failure_count = 0
self.last_failure_time: Optional[float] = None
self.state = CircuitState.CLOSED
self.half_open_calls = 0
def record_success(self):
self.failure_count = 0
self.state = CircuitState.CLOSED
self.half_open_calls = 0
def record_failure(self):
self.failure_count += 1
self.last_failure_time = time.time()
if self.failure_count >= self.failure_threshold:
self.state = CircuitState.OPEN
logging.warning(f"Circuit geöffnet nach {self.failure_count} Fehlern")
def can_execute(self) -> bool:
if self.state == CircuitState.CLOSED:
return True
if self.state == CircuitState.OPEN:
if time.time() - self.last_failure_time >= self.recovery_timeout:
self.state = CircuitState.HALF_OPEN
self.half_open_calls = 0
return True
return False
if self.state == CircuitState.HALF_OPEN:
return self.half_open_calls < self.half_open_max_calls
return False
class HolySheepFallbackClient:
"""HolySheep AI Client mit integriertem Multi-Model-Fallback"""
def __init__(self, api_key: str, base_url: str = HOLYSHEEP_BASE_URL):
self.client = OpenAI(
api_key=api_key,
base_url=base_url,
timeout=30.0 # 30 Sekunden Timeout
)
# Circuit Breaker für jedes Modell
self.circuits: Dict[str, CircuitBreaker] = {
"primary": CircuitBreaker(failure_threshold=2, recovery_timeout=30),
"secondary": CircuitBreaker(failure_threshold=3, recovery_timeout=60),
"tertiary": CircuitBreaker(failure_threshold=5, recovery_timeout=120)
}
self.cost_tracker: Dict[str, float] = {"total": 0.0, "by_model": {}}
self.call_stats: Dict[str, int] = {"success": 0, "fallback": 0, "failed": 0}
def _estimate_cost(self, model_name: str, prompt_tokens: int, completion_tokens: int) -> float:
"""Kostenschätzung basierend auf HolySheep-Preisen"""
total_tokens = prompt_tokens + completion_tokens
total_tokens_mtok = total_tokens / 1_000_000
for tier in ["primary", "secondary", "tertiary"]:
if MODELS[tier].name in model_name:
cost = total_tokens_mtok * MODELS[tier].cost_per_mtok
self.cost_tracker["total"] += cost
self.cost_tracker["by_model"][tier] = \
self.cost_tracker["by_model"].get(tier, 0) + cost
return cost
return 0.0
def _call_model(
self,
model_name: str,
messages: List[Dict],
temperature: float = 0.7,
circuit_key: str = None
) -> Dict[str, Any]:
"""Einzelner API-Call mit Circuit-Breaker-Integration"""
if circuit_key and not self.circuits[circuit_key].can_execute():
raise APIError(f"Circuit für {model_name} ist geöffnet")
try:
response = self.client.chat.completions.create(
model=model_name,
messages=messages,
temperature=temperature,
max_tokens=MODELS[circuit_key].max_tokens if circuit_key else 4096
)
# Kosten tracken
self._estimate_cost(
model_name,
response.usage.prompt_tokens,
response.usage.completion_tokens
)
return {
"success": True,
"content": response.choices[0].message.content,
"model": model_name,
"usage": {
"prompt_tokens": response.usage.prompt_tokens,
"completion_tokens": response.usage.completion_tokens,
"total_tokens": response.usage.total_tokens
}
}
except (APIError, RateLimitError, Timeout) as e:
if circuit_key:
self.circuits[circuit_key].record_failure()
raise
def chat_completion(
self,
messages: List[Dict],
temperature: float = 0.7,
enable_fallback: bool = True
) -> Dict[str, Any]:
"""
Hauptmethode: Chat-Completion mit automatischem Fallback
Priority: GPT-4.1 → Claude Sonnet → DeepSeek V3.2
"""
fallback_chain = [
("primary", MODELS["primary"].name),
("secondary", MODELS["secondary"].name),
("tertiary", MODELS["tertiary"].name)
]
last_error = None
for circuit_key, model_name in fallback_chain:
try:
result = self._call_model(
model_name=model_name,
messages=messages,
temperature=temperature,
circuit_key=circuit_key
)
# Circuit erfolgreich - zurücksetzen
self.circuits[circuit_key].record_success()
self.call_stats["success"] += 1
# Track ob Fallback verwendet wurde
if circuit_key != "primary":
self.call_stats["fallback"] += 1
result["fallback_used"] = True
result["original_intended_model"] = MODELS["primary"].name
else:
result["fallback_used"] = False
return result
except Exception as e:
last_error = e
logging.warning(
f"Modell {model_name} fehlgeschlagen: {str(e)}. "
f"Versuche nächstes Modell..."
)
continue
# Alle Modelle fehlgeschlagen
self.call_stats["failed"] += 1
raise RuntimeError(
f"Alle Modelle im Fallback-Chain fehlgeschlagen. "
f"Letzter Fehler: {last_error}"
)
def get_stats(self) -> Dict[str, Any]:
"""Statistiken für Monitoring und Optimierung"""
total_calls = self.call_stats["success"] + self.call_stats["fallback"] + self.call_stats["failed"]
return {
"total_calls": total_calls,
"successful_calls": self.call_stats["success"],
"fallback_calls": self.call_stats["fallback"],
"failed_calls": self.call_stats["failed"],
"fallback_rate": self.call_stats["fallback"] / max(total_calls, 1),
"total_cost_usd": round(self.cost_tracker["total"], 4),
"cost_by_tier": {k: round(v, 4) for k, v in self.cost_tracker["by_model"].items()},
"circuit_states": {
k: v.state.value for k, v in self.circuits.items()
}
}
============================================================
BEISPIEL-NUTZUNG
============================================================
if __name__ == "__main__":
# Logging konfigurieren
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s'
)
# Client initialisieren
client = HolySheepFallbackClient(
api_key=HOLYSHEEP_API_KEY
)
# Beispiel-Konversation
messages = [
{"role": "system", "content": "Du bist ein hilfreicher Coding-Assistent."},
{"role": "user", "content": "Erkläre mir das Circuit-Breaker-Pattern in Python."}
]
try:
result = client.chat_completion(messages, temperature=0.7)
print(f"\n{'='*60}")
print(f"Antwort von: {result['model']}")
print(f"Fallback verwendet: {result.get('fallback_used', False)}")
print(f"{'='*60}")
print(result['content'][:500] + "..." if len(result['content']) > 500 else result['content'])
print(f"{'='*60}")
print(f"\nToken-Nutzung: {result['usage']}")
# Statistiken ausgeben
stats = client.get_stats()
print(f"\nKostenübersicht:")
print(f" Gesamt: ${stats['total_cost_usd']}")
for tier, cost in stats['cost_by_tier'].items():
print(f" {tier}: ${cost}")
print(f"\nFallback-Rate: {stats['fallback_rate']*100:.1f}%")
except Exception as e:
print(f"Fehler: {e}")
Node.js/TypeScript Implementierung
// holy-sheep-fallback.ts
// Multi-Model Fallback Client für HolySheep AI
// TypeScript-Version mit vollständiger Typisierung
import OpenAI from 'openai';
interface ModelConfig {
name: string;
maxTokens: number;
costPerMTok: number;
priority: number;
}
interface CircuitBreakerState {
failures: number;
lastFailure: number | null;
state: 'CLOSED' | 'OPEN' | 'HALF_OPEN';
halfOpenCalls: number;
}
interface CompletionResult {
success: boolean;
content: string;
model: string;
usage: {
promptTokens: number;
completionTokens: number;
totalTokens: number;
};
fallbackUsed?: boolean;
originalIntendedModel?: string;
}
// HolySheep API-Konfiguration
const HOLYSHEEP_BASE_URL = 'https://api.holysheep.ai/v1';
const MODEL_CONFIGS: Record = {
primary: {
name: 'gpt-4.1',
maxTokens: 4096,
costPerMTok: 2.50,
priority: 1,
},
secondary: {
name: 'claude-sonnet-4.5',
maxTokens: 4096,
costPerMTok: 3.50,
priority: 2,
},
tertiary: {
name: 'deepseek-v3.2',
maxTokens: 8192,
costPerMTok: 0.42,
priority: 3,
},
};
class CircuitBreaker {
private failures = 0;
private lastFailure: number | null = null;
private state: 'CLOSED' | 'OPEN' | 'HALF_OPEN' = 'CLOSED';
private halfOpenCalls = 0;
constructor(
private readonly failureThreshold = 3,
private readonly recoveryTimeout = 60000
) {}
recordSuccess(): void {
this.failures = 0;
this.state = 'CLOSED';
this.halfOpenCalls = 0;
}
recordFailure(): void {
this.failures++;
this.lastFailure = Date.now();
if (this.failures >= this.failureThreshold) {
this.state = 'OPEN';
console.warn(Circuit geöffnet nach ${this.failures} Fehlern);
}
}
canExecute(): boolean {
if (this.state === 'CLOSED') return true;
if (this.state === 'OPEN') {
if (this.lastFailure && Date.now() - this.lastFailure >= this.recoveryTimeout) {
this.state = 'HALF_OPEN';
this.halfOpenCalls = 0;
return true;
}
return false;
}
if (this.state === 'HALF_OPEN') {
return this.halfOpenCalls < 2;
}
return false;
}
getState(): string {
if (this.state === 'HALF_OPEN') {
this.halfOpenCalls++;
}
return this.state;
}
}
class HolySheepFallbackClient {
private client: OpenAI;
private circuits: Map = new Map();
private totalCost = 0;
private costByModel: Record = {};
private stats = { success: 0, fallback: 0, failed: 0 };
constructor(apiKey: string) {
// WICHTIG: baseURL MUSS HolySheep API sein
this.client = new OpenAI({
apiKey: apiKey,
baseURL: HOLYSHEEP_BASE_URL,
timeout: 30000,
});
// Circuit Breaker für jedes Modell initialisieren
this.circuits.set('primary', new CircuitBreaker(2, 30000));
this.circuits.set('secondary', new CircuitBreaker(3, 60000));
this.circuits.set('tertiary', new CircuitBreaker(5, 120000));
}
private calculateCost(modelName: string, tokens: number): number {
const mtok = tokens / 1_000_000;
let cost = 0;
for (const [tier, config] of Object.entries(MODEL_CONFIGS)) {
if (config.name === modelName) {
cost = mtok * config.costPerMTok;
this.totalCost += cost;
this.costByModel[tier] = (this.costByModel[tier] || 0) + cost;
break;
}
}
return cost;
}
private async callModel(
modelName: string,
messages: Array<{ role: string; content: string }>,
tier: string
): Promise {
const circuit = this.circuits.get(tier)!;
if (!circuit.canExecute()) {
throw new Error(Circuit für ${modelName} ist geöffnet);
}
try {
const response = await this.client.chat.completions.create({
model: modelName,
messages: messages,
temperature: 0.7,
max_tokens: MODEL_CONFIGS[tier].maxTokens,
});
const totalTokens =
(response.usage?.prompt_tokens || 0) +
(response.usage?.completion_tokens || 0);
this.calculateCost(modelName, totalTokens);
circuit.recordSuccess();
return {
success: true,
content: response.choices[0]?.message?.content || '',
model: modelName,
usage: {
promptTokens: response.usage?.prompt_tokens || 0,
completionTokens: response.usage?.completion_tokens || 0,
totalTokens: totalTokens,
},
};
} catch (error: unknown) {
circuit.recordFailure();
throw error;
}
}
async chatCompletion(
messages: Array<{ role: string; content: string }>,
options: { temperature?: number; enableFallback?: boolean } = {}
): Promise {
const { temperature = 0.7, enableFallback = true } = options;
const fallbackChain = [
['primary', MODEL_CONFIGS.primary.name],
['secondary', MODEL_CONFIGS.secondary.name],
['tertiary', MODEL_CONFIGS.tertiary.name],
];
let lastError: Error | null = null;
for (const [tier, modelName] of fallbackChain) {
try {
const result = await this.callModel(modelName, messages, tier);
if (tier !== 'primary') {
this.stats.fallback++;
result.fallbackUsed = true;
result.originalIntendedModel = MODEL_CONFIGS.primary.name;
} else {
this.stats.success++;
}
return result;
} catch (error) {
lastError = error instanceof Error ? error : new Error(String(error));
console.warn(
Modell ${modelName} fehlgeschlagen: ${lastError.message}. +
Versuche nächstes Modell...
);
continue;
}
}
this.stats.failed++;
throw new Error(
Alle Modelle fehlgeschlagen. Letzter Fehler: ${lastError?.message}
);
}
getStats() {
const totalCalls = this.stats.success + this.stats.fallback + this.stats.failed;
return {
totalCalls,
successfulCalls: this.stats.success,
fallbackCalls: this.stats.fallback,
failedCalls: this.stats.failed,
fallbackRate: totalCalls > 0 ? this.stats.fallback / totalCalls : 0,
totalCostUsd: this.totalCost.toFixed(4),
costByTier: Object.fromEntries(
Object.entries(this.costByModel).map(([k, v]) => [k, v.toFixed(4)])
),
circuitStates: Object.fromEntries(
Array.from(this.circuits.entries()).map(([k, v]) => [k, v.getState()])
),
};
}
}
// ============================================================
// BEISPIEL-NUTZUNG
// ============================================================
async function main() {
const apiKey = process.env.HOLYSHEEP_API_KEY || 'YOUR_HOLYSHEEP_API_KEY';
const client = new HolySheepFallbackClient(apiKey);
const messages = [
{ role: 'system', content: 'Du bist ein hilfreicher Assistent.' },
{ role: 'user', content: 'Schreibe eine kurze Python-Funktion für FizzBuzz.' },
];
try {
const result = await client.chatCompletion(messages);
console.log('='.repeat(60));
console.log(Antwort von: ${result.model});
console.log(Fallback verwendet: ${result.fallbackUsed || false});
console.log('='.repeat(60));
console.log(result.content.substring(0, 300) + '...');
console.log('='.repeat(60));
console.log('\nToken-Nutzung:', result.usage);
const stats = client.getStats();
console.log('\n📊 Kostenübersicht:');
console.log( Gesamt: $${stats.totalCostUsd});
Object.entries(stats.costByTier).forEach(([tier, cost]) => {
console.log( ${tier}: $${cost});
});
console.log(\nFallback-Rate: ${(stats.fallbackRate * 100).toFixed(1)}%);
} catch (error) {
console.error('Fehler:', error);
}
}
main();
Häufige Fehler und Lösungen
Fehler 1: "Connection timeout" bei erstem API-Call
Symptom: Erste Anfrage schlägt nach 30s Timeout fehl, danach funktioniert alles normal.
# FEHLERHAFTER CODE:
client = OpenAI(api_key=api_key, base_url=HOLYSHEEP_BASE_URL)
FIX: Explizites Timeout und Retry-Logik konfigurieren
from openai import Timeout
client = OpenAI(
api_key=api_key,
base_url=HOLYSHEEP_BASE_URL,
timeout=Timeout(total=60, connect=10, read=50, write=10, pool=10),
max_retries=3, # Automatische Retries
default_headers={"Connection": "keep-alive"}
)
Zusätzlich: Warm-up Request beim Start
def warmup(client):
"""Warme den Connection Pool vor Produktionsanfragen"""
try:
client.chat.completions.create(
model="deepseek-v3.2", # Günstigstes Modell für Warm-up
messages=[{"role": "user", "content": "Hi"}],
max_tokens=1
)
print("✓ Connection Pool warm")
except Exception as e:
print(f"Warnung: Warm-up fehlgeschlagen: {e}")
warmup(client)
Fehler 2: Rate-Limit-Handling ohne exponentielles Backoff
Symptom: Nach einem 429-Error versucht der Code sofortige Retries, was das Rate-Limit verschlimmert.
# FEHLERHAFTER CODE:
try:
result = client.chat.completions.create(...)
except RateLimitError:
time.sleep(1) # Zu kurze Pause!
result = client.chat.completions.create(...) # Wieder 429
KORREKTER CODE mit exponentiellem Backoff:
import random
def exponential_backoff(
func,
max_retries=5,
base_delay=2,
max_delay=60,
jitter=True
):
"""
Exponentielles Backoff mit Jitter für Rate-Limit-Handling.
Maximiert Retry-Erfolg bei minimaler Wartezeit.
"""
for attempt in range(max_retries):
try:
return func()
except RateLimitError as e:
if attempt == max_retries - 1:
raise
# Retry-After Header verwenden wenn verfügbar
delay = e.response.headers.get('retry-after')
if delay:
wait_time = int(delay)
else:
# Exponentielles Backoff berechnen
wait_time = base_delay