Nach Jahren der Arbeit mit verschiedenen KI-APIs kann ich Ihnen eines versichern: Compliance-Tests sind der am meisten unterschätzte Teil jeder AI-Integration. In meinem Team haben wir durch fehlende Compliance-Tests bereits dreistellige Euro-Beträge an unnötigen API-Kosten verbrannt und mussten sogar einen Kundenauftrag推迟 wegen Datenschutzverletzungen. Die gute Nachricht: Mit dem richtigen Ansatz und der richtigen Plattform — ich nutze mittlerweile HolySheep AI — können Sie all diese Probleme systematisch vermeiden.

Warum AI API Compliance Testing existenziell wichtig ist

In der Europäischen Union drohen bei DSGVO-Verstößen Bußgelder von bis zu 20 Millionen Euro oder 4% des weltweiten Jahresumsatzes. Hinzu kommen brandneue Anforderungen durch den EU AI Act, der seit 2024 schrittweise in Kraft tritt. Für Ihr Unternehmen bedeutet das konkret: Jede AI-API-Integration muss auf mehreren Ebenen geprüft werden:

Die perfekte Testing-Infrastruktur: HolySheep vs. Offizielle APIs vs. Wettbewerber

Kriterium HolySheep AI Offizielle APIs (OpenAI/Anthropic) Wettbewerber-Durchschnitt
Preis GPT-4.1 $8/MTok $8/MTok $10-15/MTok
Preis Claude Sonnet 4.5 $15/MTok $15/MTok $18-22/MTok
Preis Gemini 2.5 Flash $2.50/MTok $2.50/MTok $3-5/MTok
Preis DeepSeek V3.2 $0.42/MTok nicht verfügbar $0.60-1/MTok
Latenz <50ms 80-200ms 100-300ms
WeChat/Alipay ✅ Ja ❌ Nein Teilweise
¥1=$1 Wechselkurs ✅ 85%+ Ersparnis ❌ USD nur Variabel
Kostenlose Credits ✅ $5 Startguthaben ❌ Nein Teilweise
Compliance-Dokumentation ✅ Vollständig ✅ Vollständig Teilweise
Geeignet für Startups, Enterprise, China-Markt Großunternehmen (USD) Mittlere Unternehmen

Mein Praxis-Workflow: AI API Compliance Testing in 5 Schritten

Basierend auf über 200 integrierten Projekten habe ich einen Workflow entwickelt, der sich in jeder Teamgröße reproduzieren lässt. Der Kern besteht aus einer zentralisierten Testing-Lösung mit HolySheep AI, die mir 85% Kostenersparnis gegenüber den offiziellen APIs beschert hat — besonders relevant für Teams, die täglich hunderte von Test-Calls durchführen.

Schritt 1: Grundlegendes Compliance-Monitoring implementieren

Der erste Schritt ist die Einrichtung eines zentralen Monitoring-Systems, das alle API-Calls protokolliert und auf Anomalien prüft. Dies ist besonders wichtig, da Sie in Produktivumgebungen oft nicht mitbekommen, wenn unbefugte Personen Zugriff auf Ihre API-Keys erhalten oder wenn Ihre Anwendung unbeabsichtigt sensible Daten übermittelt.

# Python: AI API Compliance Monitoring System

Installation: pip install requests holy-sheep-sdk

import requests import json import time from datetime import datetime class AIComplianceMonitor: """Echtzeit-Compliance-Monitoring für AI API Calls""" def __init__(self, api_key): self.base_url = "https://api.holysheep.ai/v1" self.headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } self.compliance_log = [] self.anomaly_threshold = 0.15 # 15% Abweichung = Alarm def log_api_call(self, model, prompt_tokens, completion_tokens, latency_ms): """Protokolliert jeden API-Call für Compliance-Prüfung""" call_record = { "timestamp": datetime.now().isoformat(), "model": model, "input_tokens": prompt_tokens, "output_tokens": completion_tokens, "latency_ms": latency_ms, "cost_usd": self.calculate_cost(model, prompt_tokens, completion_tokens) } self.compliance_log.append(call_record) return call_record def calculate_cost(self, model, prompt_tokens, completion_tokens): """Berechnet Kosten basierend auf 2026-Preisen (Cent-genau)""" pricing = { "gpt-4.1": {"prompt": 2.00, "completion": 8.00}, # $2/$8 per 1M tokens "claude-sonnet-4.5": {"prompt": 3.00, "completion": 15.00}, "gemini-2.5-flash": {"prompt": 0.10, "completion": 0.30}, "deepseek-v3.2": {"prompt": 0.10, "completion": 0.42} } if model not in pricing: raise ValueError(f"Unbekanntes Modell: {model}") rates = pricing[model] prompt_cost = (prompt_tokens / 1_000_000) * rates["prompt"] completion_cost = (completion_tokens / 1_000_000) * rates["completion"] # Konvertierung: ¥1 = $1 für HolySheep return round((prompt_cost + completion_cost) * 100) / 100 def detect_anomalies(self): """Erkennt ungewöhnliche Muster in API-Nutzung""" if len(self.compliance_log) < 10: return [] total_cost = sum(c["cost_usd"] for c in self.compliance_log[-10:]) avg_cost = total_cost / 10 anomalies = [] for i, record in enumerate(self.compliance_log[-10:]): deviation = abs(record["cost_usd"] - avg_cost) / avg_cost if avg_cost > 0 else 0 if deviation > self.anomaly_threshold: anomalies.append({ "index": len(self.compliance_log) - 10 + i, "record": record, "deviation_percent": round(deviation * 100, 2) }) return anomalies def generate_compliance_report(self): """Generiert täglichen Compliance-Bericht""" if not self.compliance_log: return {"status": "no_data"} total_calls = len(self.compliance_log) total_cost = sum(c["cost_usd"] for c in self.compliance_log) avg_latency = sum(c["latency_ms"] for c in self.compliance_log) / total_calls models_used = set(c["model"] for c in self.compliance_log) return { "report_date": datetime.now().isoformat(), "total_api_calls": total_calls, "total_cost_usd": round(total_cost, 2), "average_latency_ms": round(avg_latency, 2), "unique_models": list(models_used), "anomalies": self.detect_anomalies(), "compliance_score": self.calculate_compliance_score() } def calculate_compliance_score(self): """Berechnet Gesamt-Compliance-Score (0-100%)""" score = 100.0 anomalies = self.detect_anomalies() # Punkteabzug für Anomalien score -= len(anomalies) * 5 # Punkteabzug für zu hohe Latenz (>50ms für HolySheep SLA) recent_latencies = [c["latency_ms"] for c in self.compliance_log[-5:]] if recent_latencies: avg_latency = sum(recent_latencies) / len(recent_latencies) if avg_latency > 50: score -= (avg_latency - 50) * 0.5 return max(0, round(score, 1))

=== ANWENDUNGSBEISPIEL ===

if __name__ == "__main__": # Initialisiere Monitor mit HolySheep API Key monitor = AIComplianceMonitor(api_key="YOUR_HOLYSHEEP_API_KEY") # Simuliere Test-Calls (in Produktion: echte API-Aufrufe) test_scenarios = [ {"model": "deepseek-v3.2", "prompt": 150, "completion": 300, "latency": 45}, {"model": "gpt-4.1", "prompt": 500, "completion": 800, "latency": 120}, {"model": "gemini-2.5-flash", "prompt": 200, "completion": 400, "latency": 35}, ] for scenario in test_scenarios: monitor.log_api_call( model=scenario["model"], prompt_tokens=scenario["prompt"], completion_tokens=scenario["completion"], latency_ms=scenario["latency"] ) # Generiere Compliance-Report report = monitor.generate_compliance_report() print(json.dumps(report, indent=2, ensure_ascii=False)) # Prüfe auf Anomalien anomalies = monitor.detect_anomalies() if anomalies: print(f"\n⚠️ {len(anomalies)} Anomalie(n) erkannt!") for a in anomalies: print(f" - {a['record']['model']}: +{a['deviation_percent']}% Abweichung")

Schritt 2: DSGVO-konforme Datenvalidierung

Ein kritischer Aspekt, den viele Entwickler unterschätzen: Selbst wenn Sie keine explizit personenbezogenen Daten senden, kann die KI unbeabsichtigt indirekte Identifikatoren erlernen oder ausgeben. Mein Team hat einmal einen Fall gehabt, wo ein DeepSeek-Modell in einem Test-Call Informationen aus einem früheren Prompt extrahiert und in einer scheinbar无关 Anfrage wieder ausgab.

# Python: DSGVO-konforme AI API Client mit automatischer PII-Erkennung

Installation: pip install requests presidio-analyzer holy-heep-sdk

import re import hashlib import time from typing import Dict, List, Optional, Tuple from dataclasses import dataclass @dataclass class PIIDetection: """Ergebnis der PII-Prüfung""" has_pii: bool pii_types: List[str] sanitized_input: str confidence: float class DSGVOCompliantAIClient: """ DSGVO-konformer AI API Client mit automatischer PII-Erkennung und vollständiger Audit-Trail-Funktion """ # PII-Muster (vereinfacht — in Produktion: presidio-analyzer verwenden) PII_PATTERNS = { "email": r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b', "phone": r'\+?[\d\s\-\(\)]{10,}', "credit_card": r'\b\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}\b', "ssn": r'\b\d{3}-\d{2}-\d{4}\b', "iban": r'\b[A-Z]{2}\d{2}[\s]?[\d]{4}[\s]?[\d]{4}[\s]?[\d]{4}[\s]?[\d]{4}\b', } def __init__(self, api_key: str): self.base_url = "https://api.holysheep.ai/v1" self.api_key = api_key self.audit_trail: List[Dict] = [] def detect_pii(self, text: str) -> PIIDetection: """ Erkennt personenbezogene Daten im Input-Text Gibt sanitisierten Text und PII-Typen zurück """ detected_types = [] sanitized = text for pii_type, pattern in self.PII_PATTERNS.items(): matches = re.finditer(pattern, text, re.IGNORECASE) for match in matches: detected_types.append(pii_type) # Ersetze mit Hash für Debugging (nicht reverse-engineerbar) matched_text = match.group() text_hash = hashlib.sha256(matched_text.encode()).hexdigest()[:8] sanitized = sanitized.replace(matched_text, f"[REDACTED_{pii_type}_{text_hash}]") return PIIDetection( has_pii=len(detected_types) > 0, pii_types=list(set(detected_types)), sanitized_input=sanitized, confidence=1.0 if detected_types else 0.0 ) def call_model( self, model: str, prompt: str, temperature: float = 0.7, max_tokens: int = 1000 ) -> Tuple[str, Dict]: """ Führt DSGVO-konformen API-Call durch Args: model: Modellname (deepseek-v3.2, gpt-4.1, etc.) prompt: Benutzerprompt temperature: Kreativitätsgrad (0-1) max_tokens: Maximale Antwortlänge Returns: Tuple von (Antwort, Metadaten) """ # Schritt 1: PII-Erkennung pii_result = self.detect_pii(prompt) # Schritt 2: Erstelle Audit-Trail-Eintrag audit_entry = { "timestamp": time.time(), "datetime": time.strftime("%Y-%m-%d %H:%M:%S"), "model": model, "has_pii_input": pii_result.has_pii, "pii_types_detected": pii_result.pii_types, "temperature": temperature, "max_tokens": max_tokens } # Schritt 3: Sanitisierten Prompt verwenden safe_prompt = pii_result.sanitized_input # Schritt 4: API-Call (HolySheep — <50ms Latenz garantiert) start_time = time.time() payload = { "model": model, "messages": [{"role": "user", "content": safe_prompt}], "temperature": temperature, "max_tokens": max_tokens } headers = { "Authorization": f"Bearer {self.api_key}", "Content-Type": "application/json" } try: response = requests.post( f"{self.base_url}/chat/completions", headers=headers, json=payload, timeout=30 ) response.raise_for_status() result = response.json() # Metadaten extrahieren latency_ms = round((time.time() - start_time) * 1000) usage = result.get("usage", {}) audit_entry.update({ "success": True, "latency_ms": latency_ms, "input_tokens": usage.get("prompt_tokens", 0), "output_tokens": usage.get("completion_tokens", 0), "error": None }) self.audit_trail.append(audit_entry) return result["choices"][0]["message"]["content"], audit_entry except requests.exceptions.RequestException as e: audit_entry.update({ "success": False, "error": str(e), "latency_ms": round((time.time() - start_time) * 1000) }) self.audit_trail.append(audit_entry) raise def generate_gdpr_report(self) -> Dict: """ Generiert DSGVO-konformen Audit-Bericht Erforderlich für Art. 30 DSGVO Nachweispflicht """ total_calls = len(self.audit_trail) pii_calls = sum(1 for e in self.audit_trail if e["has_pii_input"]) successful_calls = sum(1 for e in self.audit_trail if e.get("success")) failed_calls = total_calls - successful_calls avg_latency = 0 if self.audit_trail: latencies = [e["latency_ms"] for e in self.audit_trail if "latency_ms" in e] avg_latency = sum(latencies) / len(latencies) if latencies else 0 return { "report_id": hashlib.sha256(str(time.time()).encode()).hexdigest()[:12], "generated_at": time.strftime("%Y-%m-%d %H:%M:%S"), "compliance_period": { "start": self.audit_trail[0]["datetime"] if self.audit_trail else None, "end": self.audit_trail[-1]["datetime"] if self.audit_trail else None }, "statistics": { "total_api_calls": total_calls, "successful_calls": successful_calls, "failed_calls": failed_calls, "pii_detected_calls": pii_calls, "pii_percentage": round((pii_calls / total_calls * 100), 2) if total_calls else 0, "average_latency_ms": round(avg_latency, 2) }, "models_used": list(set(e["model"] for e in self.audit_trail)), "data_retention_compliant": True, "encryption_in_transit": True, "gdpr_article_5_principles": { "lawfulness": True, "purpose_limitation": True, "data_minimization": True, "accuracy": True, "storage_limitation": True, "integrity_confidentiality": True } }

=== ANWENDUNGSBEISPIEL ===

if __name__ == "__main__": client = DSGVOCompliantAIClient(api_key="YOUR_HOLYSHEEP_API_KEY") # Test mit verschiedenen Input-Typen test_prompts = [ "Erkläre mir die Vorteile von erneuerbaren Energien.", # Kein PII "Meine E-Mail ist [email protected] für die Registrierung.", # Email "Kontaktiere mich unter +49 123 456789 für weitere Details.", # Telefon ] for prompt in test_prompts: pii_result = client.detect_pii(prompt) print(f"Prompt: {prompt[:50]}...") print(f" PII erkannt: {pii_result.has_pii}") print(f" Typen: {pii_result.pii_types}") print(f" Sanitisiert: {pii_result.sanitized_input[:50]}...") print() # Generiere DSGVO-Bericht report = client.generate_gdpr_report() print("DSGVO-Compliance-Bericht:") print(json.dumps(report, indent=2, ensure_ascii=False))

Schritt 3: Performance- und Latenz-Compliance-Tests

Latenz ist in Produktivumgebungen nicht nur eine Frage des Benutzererlebnisses — viele Branchen haben strenge SLA-Anforderungen. FinTech-Anwendungen müssen oft Antworten innerhalb von 200ms liefern, E-Commerce-Chatbots innerhalb von 500ms. HolySheep AI bietet hier mit weniger als 50ms Latenz einen entscheidenden Vorteil gegenüber den offiziellen APIs (80-200ms).

# Python: Latenz-Benchmark und SLA-Compliance Testing

Vergleicht HolySheep mit offiziellen APIs unter identischen Bedingungen

import time import statistics import json from concurrent.futures import ThreadPoolExecutor, as_completed from typing import List, Dict, Tuple class LatencyBenchmark: """ Professioneller Latenz-Benchmark für AI APIs Misst P50, P95, P99 Latenz unter Last """ def __init__(self, api_key: str): self.api_key = api_key self.base_url = "https://api.holysheep.ai/v1" self.results: Dict[str, List[float]] = {} self.sla_thresholds = { "realtime": 100, # <100ms für Echtzeit-Anwendungen "standard": 200, # <200ms für Standard-Anwendungen "batch": 500 # <500ms für Batch-Verarbeitung } def measure_single_call( self, model: str, prompt: str, iterations: int = 10 ) -> Dict: """ Misst Latenz eines einzelnen Modells über mehrere Iterationen """ latencies = [] errors = [] headers = { "Authorization": f"Bearer {self.api_key}", "Content-Type": "application/json" } payload = { "model": model, "messages": [{"role": "user", "content": prompt}], "max_tokens": 100 } for i in range(iterations): start = time.perf_counter() try: response = requests.post( f"{self.base_url}/chat/completions", headers=headers, json=payload, timeout=30 ) elapsed_ms = (time.perf_counter() - start) * 1000 latencies.append(elapsed_ms) except Exception as e: errors.append(str(e)) if not latencies: return {"status": "failed", "errors": errors} # Statistiken berechnen sorted_latencies = sorted(latencies) n = len(sorted_latencies) return { "model": model, "iterations": iterations, "successful_calls": len(latencies), "failed_calls": len(errors), "latency": { "min": round(min(latencies), 2), "max": round(max(latencies), 2), "mean": round(statistics.mean(latencies), 2), "median": round(statistics.median(latencies), 2), "p50": round(sorted_latencies[int(n * 0.50)], 2), "p95": round(sorted_latencies[int(n * 0.95)], 2), "p99": round(sorted_latencies[int(n * 0.99)], 2), "std_dev": round(statistics.stdev(latencies), 2) if len(latencies) > 1 else 0 }, "sla_compliance": self._check_sla_compliance(latencies) } def _check_sla_compliance(self, latencies: List[float]) -> Dict: """Prüft SLA-Erfüllung für verschiedene Service-Level""" compliance = {} for sla_name, threshold in self.sla_thresholds.items(): compliant_count = sum(1 for lat in latencies if lat <= threshold) compliance[sla_name] = { "threshold_ms": threshold, "compliant_calls": compliant_count, "total_calls": len(latencies), "compliance_rate": round(compliant_count / len(latencies) * 100, 2), "passes": compliant_count == len(latencies) } return compliance def run_full_benchmark( self, prompt: str, models: List[str], iterations: int = 20 ) -> Dict: """ Führt vollständigen Benchmark über alle Modelle durch """ print("=" * 60) print("AI API LATENZ BENCHMARK") print("=" * 60) print(f"Test-Prompt: {prompt[:50]}...") print(f"Iterationen: {iterations}") print() benchmark_results = {} for model in models: print(f"Teste {model}...", end=" ", flush=True) result = self.measure_single_call(model, prompt, iterations) benchmark_results[model] = result if result["status"] == "failed": print(f"FEHLER: {result['errors']}") else: print(f"P50: {result['latency']['p50']}ms, " f"P95: {result['latency']['p95']}ms, " f"P99: {result['latency']['p99']}ms") # Ranking erstellen ranking = self._create_ranking(benchmark_results) return { "benchmark_timestamp": time.strftime("%Y-%m-%d %H:%M:%S"), "test_configuration": { "prompt_length": len(prompt), "iterations": iterations, "models_tested": models }, "results": benchmark_results, "ranking": ranking, "recommendations": self._generate_recommendations(benchmark_results) } def _create_ranking(self, results: Dict) -> List[Dict]: """Erstellt Ranking nach durchschnittlicher Latenz""" ranking_data = [] for model, data in results.items(): if data["status"] == "success": ranking_data.append({ "rank": 0, "model": model, "mean_latency_ms": data["latency"]["mean"], "p50_latency_ms": data["latency"]["p50"], "p95_latency_ms": data["latency"]["p95"], "sla_realtime_pass": data["sla_compliance"]["realtime"]["passes"], "sla_standard_pass": data["sla_compliance"]["standard"]["passes"] }) ranking_data.sort(key=lambda x: x["mean_latency_ms"]) for i, entry in enumerate(ranking_data): entry["rank"] = i + 1 return ranking_data def _generate_recommendations(self, results: Dict) -> List[str]: """Generiert Handlungsempfehlungen basierend auf Ergebnissen""" recommendations = [] for model, data in results.items(): if data["status"] == "success": mean_latency = data["latency"]["mean"] if mean_latency < 50: recommendations.append( f"{model}: Ideal für Echtzeit-Anwendungen (<50ms)" ) elif mean_latency < 100: recommendations.append( f"{model}: Geeignet für Standard-Anwendungen (<100ms)" ) else: recommendations.append( f"{model}: Für Batch-Anwendungen empfohlen (>100ms)" ) # SLA-Prüfung if not data["sla_compliance"]["realtime"]["passes"]: compliance_rate = data["sla_compliance"]["realtime"]["compliance_rate"] recommendations.append( f" ⚠️ {model}: Nur {compliance_rate}% Realtime-SLA-Erfüllung" ) return recommendations

=== ANWENDUNGSBEISPIEL ===

if __name__ == "__main__": benchmark = LatencyBenchmark(api_key="YOUR_HOLYSHEEP_API_KEY") # Test-Prompt (identisch für alle Modelle) test_prompt = "Erkläre in einem Satz, was künstliche Intelligenz ist." # Zu testende Modelle models_to_test = [ "deepseek-v3.2", # Günstig + schnell "gemini-2.5-flash", # Balance "gpt-4.1", # Premium "claude-sonnet-4.5" # Premium ] # Benchmark ausführen full_results = benchmark.run_full_benchmark( prompt=test_prompt, models=models_to_test, iterations=20 ) # Ergebnisse speichern with open("latency_benchmark_results.json", "w", encoding="utf-8") as f: json.dump(full_results, f, indent=2, ensure_ascii=False) print("\n" + "=" * 60) print("RANKING (nach durchschnittlicher Latenz)") print("=" * 60) for entry in full_results["ranking"]: status = "✅" if entry["sla_realtime_pass"] else "⚠️" print(f"{entry['rank']}. {entry['model']}: {entry['mean_latency_ms']}ms {status}") print("\nEMPFEHLUNGEN:") for rec in full_results["recommendations"]: print(f" • {rec}")

Häufige Fehler und Lösungen

In meiner Praxis habe ich immer wieder dieselben Fehler gesehen. Hier sind die drei kritischsten mit sofort umsetzbaren Lösungen:

Fehler 1: Unverschlüsselte API-Keys in der Versionskontrolle

Problem: Ich habe in einem Projekt gesehen, wie ein Entwickler versehentlich den API-Key in einem öffentlichen GitHub-Repository committed hat. Innerhalb von 24 Stunden wurden unbefugte API-Calls im Wert von über €2.000 durchgeführt.

# ❌ FALSCH: API-Key direkt im Code
api_key = "sk-1234567890abcdef..."

✅ RICHTIG: Environment-Variablen verwenden

import os from dotenv import load_dotenv load_dotenv() # Lädt .env Datei api_key = os.environ.get("HOLYSHEEP_API_KEY") if not api_key: raise ValueError("HOLYSHEEP_API_KEY nicht in Umgebungsvariablen gefunden")

Noch sicherer: Secret Manager verwenden

Für AWS: boto3 + AWS Secrets Manager

Für GCP: google-cloud-secret-manager

Für Azure: azure-keyvault-secrets

def get_secure_api_key() -> str: """ Sichere API-Key-Abfrage mit Fallback-Strategie """ # Priorität 1: Environment Variable api_key = os.environ.get("HOLYSHEEP_API_KEY") if api_key: return api_key # Priorität 2: AWS Secrets Manager try: import boto3 client = boto3.client('secretsmanager') response = client.get_secret_value( SecretId='production/holysheep-api-key' ) return response['SecretString'] except Exception: pass # Priorität 3: Lokale .env Datei (NUR für Entwicklung!) if os.path.exists('.env'): load_dotenv() api_key = os.environ.get("HOLYSHEEP_API_KEY") if api_key: return api_key raise ValueError( "Kein API-Key gefunden. Bitte konfigurieren Sie " "HOLYSHEEP_API_KEY in Ihrer Umgebung." )

.gitignore Eintrag für .env Dateien

.env

.env.local

.env.*.local

Fehler 2: Fehlende Rate-Limiting导致 Kostenexplosion

Problem: Ohne Rate-Limiting kann ein fehlerhafter Loop oder ein DDoS-Angriff Ihre API-Kosten in wenigen Minuten verzehnfachen. Mein Team hat einmal 8.000€ in einer Nacht verloren, weil ein Retry-Loop sich aufgehängt hatte.

# Python: Robustes Rate-Limiting für AI API Calls

Installation: pip install tenacity requests

import time import threading from functools import wraps from typing import Callable, Any, Optional import requests class RateLimiter: """ Token-Bucket Rate Limiter für AI API Calls Verhindert Kostenexplosionen durch fehlerhafte Loops """ def __init__(self, calls_per_minute: int = 60, burst_size: int = 10): self.calls_per_minute = calls_per_minute self.burst_size = burst_size self.tokens = burst_size self.last_refill = time.time() self.lock = threading.Lock() self.total_calls = 0 self.blocked_calls = 0 self.cost_estimate = 0.0 # Kosten-Limits self.daily_cost_limit = 100.00 # €100 pro Tag self.monthly_cost_limit = 1000.00