[{"data":1,"prerenderedAt":572},["ShallowReactive",2],{"blog-litellm-de":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":22,"sources":29,"cover":51,"og":52,"expertise":53,"locales":54,"lang":56,"title":58,"description":59,"coverAlt":60,"metaTitle":61,"takeaways":62,"faq":68,"toc":81,"blocks":106,"others":332},"litellm","2026-05-20",10,"llmops",[9,10,11,12,13],"LLM gateway","OpenAI-compatible","Cost control","Routing","MCP",[4,15,16,17,18,19,20,21],"litellm vs portkey","llm gateway comparison","openai compatible proxy","litellm proxy config yaml","llm spend tracking per team","self-hosted llm gateway","llm budget enforcement",[23,26],{"name":24,"url":25},"LiteLLM","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLiteLLM",{"name":27,"url":28},"Model Context Protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FModel_Context_Protocol",[30,33,36,39,42,45,48],{"title":31,"url":32},"LiteLLM documentation: getting started","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002F",{"title":34,"url":35},"LiteLLM documentation: virtual keys","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fproxy\u002Fvirtual_keys",{"title":37,"url":38},"LiteLLM documentation: router and load balancing","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Frouting",{"title":40,"url":41},"LiteLLM documentation: benchmarks","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fbenchmarks",{"title":43,"url":44},"LiteLLM documentation: supported endpoints","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fsupported_endpoints",{"title":46,"url":47},"LiteLLM documentation: Enterprise","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fenterprise",{"title":49,"url":50},"LiteLLM pricing","https:\u002F\u002Fwww.litellm.ai\u002Fpricing","\u002Fimages\u002Fblog\u002Flitellm\u002Fcover.webp","\u002Fimages\u002Fblog\u002Flitellm\u002Fog.jpg","ai-engineer",[55,56,57],"en","de","hu","LiteLLM: das OpenAI-kompatible Gateway, das die meisten Plattformteams betreiben","LiteLLM ist das MIT-lizenzierte OpenAI-kompatible Gateway, das die meisten Plattformteams vor ihre Anbieter setzen. Was es gut macht, was es kostet und wo es kippt.","Fünf Module im Halbkreis schicken Pfeile in eine hohe Platte, ein Pfeil führt weiter nach rechts.","LiteLLM-Test: das Gateway in der Mitte · Balázs Csorba",[63,64,65,66,67],"LiteLLM ist ein MIT-lizenziertes Python-SDK und ein Proxy, die mehr als 140 Anbieter hinter einem OpenAI-kompatiblen Endpunkt bündeln, mit virtuellen Schlüsseln, Budgets pro Team und Fallback über Anbietergrenzen hinweg.","Der Nutzen ist organisatorisch, nicht technisch: Ein Modellwechsel ist eine Konfigurationsänderung, und jede Anfrage erzeugt eine Kostenzeile.","Die Zusatzlast ist messbar und veröffentlicht: Die Dokumentation nennt 8 ms p95 bei 1.000 Anfragen pro Sekunde und weist ungewöhnlich deutlich darauf hin, dass Latenz nur zusammen mit der Zahl der gleichzeitig offenen Anfragen etwas bedeutet.","Die kostenlose Stufe ist das komplette Gateway. SSO ab mehr als fünf Nutzern, Audit-Logs, Schlüsselrotation und die eingebauten Moderations-Callbacks liegen hinter einer Lizenz, die nach jährlicher Anfragekapazität kalkuliert wird und keinen öffentlichen Preis hat.","Der Release-Takt liegt bei etwa einer Minor-Linie pro Woche bei einem Support-Fenster von vier Linien, das Upgrade ist also wiederkehrende Betriebsarbeit.",[69,72,75,78],{"q":70,"a":71},"Ist LiteLLM nur ein Wrapper um das OpenAI-SDK?","Nein. Das SDK vereinheitlicht Anfragen, Antworten und Fehlerklassen über die unterstützten Anbieter, der Proxy ergänzt virtuelle Schlüssel, Kostentracking, Budgets, Routing, Cooldowns, Fallbacks und Caching. Der übliche Weg ist, mit dem SDK in einem Service anzufangen und auf den Proxy umzusteigen, sobald mehr als ein Team Zugang braucht.",{"q":73,"a":74},"Wie viel Latenz fügt das Gateway hinzu?","Die Benchmark-Seite nennt 8 ms p95 bei 1.000 Anfragen pro Sekunde auf vier Instanzen mit je 4 vCPU und 8 GB. Diese Zahl enthält den Client: Die Dokumentation weist darauf hin, dass ein Closed-Loop-Client ohne Denkzeit rund 1.000 offene Anfragen hält statt etwa 130, was nach dem Little's Law bei gleichem Durchsatz ungefähr achtmal so hohe Latenz ausweist.",{"q":76,"a":77},"Setzt die kostenlose Version Budgets wirklich durch?","Ja. Virtuelle Schlüssel, Teams, Kostentracking, Budgets, Ratelimits und LLM-Fallbacks liegen alle in der Open-Source-Stufe. Lizenzpflichtig sind Identität und Governance: SSO ab mehr als fünf Nutzern, SCIM, Audit-Logs, Secret-Manager-Schreibzugriff, Schlüsselrotation und die eingebauten Moderations-Callbacks.",{"q":79,"a":80},"Wie ist die Enterprise-Version bepreist?","Es gibt keinen öffentlichen Listenpreis. Die Preisseite sagt, die Lizenz richte sich nach jährlicher Gateway-Anfragekapazität, Deployment-Architektur und Support-Bedarf, nie pro Token, und jedes Angebot kommt vom Vertrieb. Ein 30-Tage-Testschlüssel wird ohne Kreditkarte ausgestellt, die Beschaffung läuft auch über den AWS Marketplace und Reseller.",[82,85,88,91,94,97,100,103],{"id":83,"title":84},"what-it-is","Was LiteLLM ist",{"id":86,"title":87},"how-it-works","Wie es funktioniert",{"id":89,"title":90},"getting-started","Erste Schritte",{"id":92,"title":93},"keys-and-budgets","Schlüssel, Budgets und Kosten",{"id":95,"title":96},"pricing","Preis und Lizenzgrenzen",{"id":98,"title":99},"where-it-shingles","Wo es knirscht",{"id":101,"title":102},"verdict","Fazit",{"id":104,"title":105},"sources","Quellen",[107,111,114,117,120,138,139,142,148,151,155,158,161,173,174,177,179,186,208,209,212,214,217,218,221,224,225,228,275,278,279,282,294,300,301],{"type":108,"content":109},"paragraph",[110],"LiteLLM ist das quelloffene LLM-Gateway, das die meisten Plattformteams betreiben, ob sie es vorhatten oder nicht. Es sind zwei Produkte in einem Paket: ein Python-SDK, das die großen Anbieter auf das Anfrage- und Antwortformat von OpenAI vereinheitlicht, und ein Proxy-Server, der virtuelle Schlüssel, Budgets, Routing und Kostentracking davorstellt. Nach Dokumentation und publizierten Zahlen ist es das vollständigste Bauteil dieser Kategorie und schwer genug, um eine bewusste Entscheidung zu verdienen.",{"type":108,"content":112},[113],"Es sitzt einen Sprung vor den Modellanbietern, nicht vor den Anwendungsdaten. Retrieval, Prompt-Verwaltung und Agent-Orchestrierung leben woanders; ein OpenAI-Client, ein LangGraph-Workflow und ein LiteLLM-Proxy koexistieren problemlos. Was das Gateway besitzt, ist die Anfrage selbst: wer sie stellen darf, welches Deployment sie bedient, was sie kostet und wer die Rechnung trägt.",{"type":115,"level":116,"id":83,"text":84},"heading",2,{"type":108,"content":118},[119],"Der Name deckt zwei lauffähige Dinge ab, die sich eine Konfigurationsdatei und eine Modellpreistabelle teilen. Das SDK ist eine Bibliothek, die man importiert. Der Proxy ist ein Server, der das OpenAI-Wire-Format spricht, sodass jeder Client, der bereits gegen OpenAI läuft, durch eine andere Basis-URL und einen anderen Schlüssel umgeleitet werden kann.",{"type":121,"ordered":122,"items":123},"list",false,[124,126,128,130,132,134,136],[125],"MIT-lizenziert, mit einer Enterprise-Stufe, die Identitäts- und Governance-Funktionen ergänzt und keine Kapazität verkauft.",[127],"Mehr als 140 Provider-Integrationen und rund 1.900 Modelle, geführt in einer öffentlichen Preis- und Kontextfenster-Datei, die mit dem Paket ausgeliefert wird.",[129],"OpenAI-kompatible Endpunkte für Chat Completions, die Anthropic-Messages-Route, die Responses-API, Embeddings, Batches und Realtime.",[131],"Virtuelle Schlüssel mit Budgets, Ratelimits und Modellerlaubnissen je Schlüssel, Team und Nutzer, gesichert über Postgres.",[133],"Ein Router mit mehreren Auswahlstrategien, Cooldowns je Deployment, gewichtetem Failover, Fallback über Modellgrenzen hinweg und Session-Affinität.",[135],"Ein MCP-Gateway und ein A2A-Agent-Gateway auf demselben Endpunkt und derselben Schlüsselrichtlinie, damit Agenten geregelten Werkzeugzugriff bekommen statt eines zweiten.",[137],"Callbacks nach Langfuse, MLflow, Helicone, LangSmith und OpenTelemetry sowie Prometheus-Metriken und eine Admin-Oberfläche.",{"type":115,"level":116,"id":86,"text":87},{"type":108,"content":140},[141],"Jede Anfrage durch den Proxy folgt derselben Reihenfolge: Schlüssel authentifizieren, Budget und Ratelimits prüfen, Tokens zählen, Deployment auswählen, Anbieter aufrufen, Antwort übersetzen, Kosten festhalten. Jeder Schritt kann für sich allein scheitern, und das Verhalten des Routers im Fehlerfall ist der Ort, an dem das meiste Betriebswissen entsteht.",{"type":143,"src":144,"alt":145,"wide":146,"caption":147},"image","\u002Fimages\u002Fblog\u002Flitellm\u002Fdiagram-7.webp","LiteLLM-Anfragepfad Eine Anwendung sendet eine Chat-Completion-Anfrage an das LiteLLM-Gateway. Das Gateway prüft den virtuellen Schlüssel und das Budget, der Router wählt ein Deployment, der Anbieter antwortet, und dasselbe OpenAI-kompatible JSON geht zurück. Postgres, Redis und Observability-Callbacks liegen unter dem Anfragepfad.",true,"Ein Sprung vor jedem Anbieter. Postgres und Redis machen aus einem Übersetzer einen Kontrollpunkt und müssen zugleich dimensioniert und gesichert werden.",{"type":108,"content":149},[150],"Modellnamen sind die Abstraktion, auf der das Ganze beruht. Die Konfigurationsdatei listet Deployments unter einem gemeinsamen Alias, mehrere Deployments dürfen denselben Alias tragen, und eine Anfrage für diesen Alias beantwortet das Deployment, das die Routingstrategie wählt. Verschiebt man den Alias, wechseln alle Aufrufer den Anbieter ohne Codeänderung. In derselben Tabelle stehen die Fallbacks: Ein ausgefallenes Deployment wird entweder unter den Geschwistern neu gewählt oder an ein benanntes Fallback-Modell eskaliert.",{"type":115,"level":152,"id":153,"text":154},3,"overhead","Gemessene Zusatzlast",{"type":108,"content":156},[157],"Die Benchmark-Seite nennt 8 ms p95 bei 1.000 Anfragen pro Sekunde auf vier Instanzen mit je 4 vCPU und 8 GB sowie für den Realtime-Endpunkt 59 ms Median, 67 ms p95 und 99 ms p99 bei 1.207 RPS. Dieselbe Seite veröffentlicht einen direkten Vergleich mit Portkey bei rund 1.170 RPS auf gleicher Hardware, dort meldet LiteLLM p95 150 ms und p99 240 ms gegenüber 230 ms und 500 ms.",{"type":108,"content":159},[160],"Nützlicher ist der Vorbehalt, den die Dokumentation selbst liefert. Der Lastgenerator schläft zwischen Anfragen 0,5 bis 1 Sekunde, es sind also jederzeit rund 130 Anfragen offen; ein Closed-Loop-Client ohne Denkzeit hält 1.000 und meldet bei gleichem Durchsatz ungefähr achtmal so hohe Latenz. Eine veröffentlichte Latenzzahl ohne die zugehörige In-Flight-Tiefe bedeutet nichts, und das ist mehr Offenlegung als die meisten Anbieterbenchmarks mitbringen.",{"type":162,"variant":163,"title":164,"body":165},"callout","note","Selbst messen",[166],[167,168,172],"Die Dokumentation liefert einen Modus ",{"tag":169,"children":170},"code",[171],"network_mock",", der ausgehende Anfragen auf der HTTP-Transportschicht abfängt und vorbereitete Antworten zurückgibt, dazu ein öffentliches Benchmark-Skript. Das gegen den eigenen Verkehr zu fahren dauert Minuten und liefert die einzige Zusatzlastzahl, mit der man planen sollte.",{"type":115,"level":116,"id":89,"text":90},{"type":108,"content":175},[176],"Das kleinste sinnvolle Deployment ist eine Konfigurationsdatei mit zwei Deployments unter einem Alias, einem Master-Schlüssel und einer Postgres-Verbindung. Caching, Guardrails, Callbacks und die Admin-Oberfläche kommen später.",{"type":169,"code":178},"# config.yaml: zwei Deployments unter einem Alias, plus ein verwalteter Fallback\nmodel_list:\n  - model_name: chat-fast\n    litellm_params:\n      model: openai\u002Fgpt-5.6-luna\n      api_key: os.environ\u002FOPENAI_API_KEY\n      rpm: 900\n  - model_name: chat-fast\n    litellm_params:\n      model: anthropic\u002Fclaude-sonnet-5\n      api_key: os.environ\u002FANTHROPIC_API_KEY\n      rpm: 60\n  - model_name: chat-cheap\n    litellm_params:\n      model: openai\u002Fgpt-5.6-luna\n      api_key: os.environ\u002FOPENAI_API_KEY\n\nrouter_settings:\n  routing_strategy: simple-shuffle\n  num_retries: 2\n  fallbacks:\n    - chat-fast: [chat-cheap]\n\ngeneral_settings:\n  master_key: os.environ\u002FLITELLM_MASTER_KEY\n  database_url: os.environ\u002FDATABASE_URL\n\n# docker run -p 4000:4000 -v $(pwd)\u002Fconfig.yaml:\u002Fapp\u002Fconfig.yaml \\\n#   -e DATABASE_URL -e LITELLM_MASTER_KEY \\\n#   docker.litellm.ai\u002Fberriai\u002Flitellm:latest --config \u002Fapp\u002Fconfig.yaml",{"type":108,"content":180},[181,182,185],"Die Client-Änderung sind zwei Zeilen: das OpenAI-SDK auf den Proxy zeigen und einen virtuellen Schlüssel statt des Anbieterschlüssels übergeben. Jede Antwort trägt den Header ",{"tag":169,"children":183},[184],"x-litellm-overhead-duration-ms"," mit der selbst verursachten Zusatzlast, und genau darauf sollte ein Alarm feuern, wenn die Latenz steigt, ohne dass sich der Anbieter geändert hat.",{"type":162,"variant":187,"title":188,"body":189},"warn","Retries multiplizieren, Parallelitätsgrenzen lehnen jetzt ab",[190],[191,192,195,196,199,200,203,204,207],"Die Dokumentation stellt klar, dass ",{"tag":169,"children":193},[194],"num_retries"," die eigene Schleife von LiteLLM ist und dass ",{"tag":169,"children":197},[198],"max_retries"," des Anbieter-SDKs bei gerouteten Aufrufen auf null gepinnt bleibt, ein Deployment-Wert also nicht doppelt greift. Getrennt davon liefert ein Deployment, dessen ",{"tag":169,"children":201},[202],"max_parallel_requests"," oder abgeleitetes ",{"tag":169,"children":205},[206],"rpm","-Limit erschöpft ist, sofort 429 statt zu warten. Frühere Versionen warteten auf einen freien Platz; wer sich auf diese Warteschlange verlassen hat, muss das Limit anheben statt das Timeout zu verlängern.",{"type":115,"level":116,"id":92,"text":93},{"type":108,"content":210},[211],"Das Schlüsselmodell ist der Grund, warum sich LiteLLM rechnet. Ein virtueller Schlüssel trägt eine Modellerlaubnis, ein Höchstbudget mit Zurücksetzintervall, TPM- und RPM-Limits, eine Parallelitätsgrenze und einen Besitzer. Schlüssel erben von ihrem Besitzer, was bequem ist und zugleich die schärfste Kante des Designs: Ein von einem Admin ohne Nutzer-ID erzeugter Schlüssel erbt gar nichts, und ein Schlüssel, dessen Besitzer Proxy-Admin ist, erreicht die Verwaltungsrouten, weil der Verwaltungszugriff der Rolle des Besitzers folgt und nicht den eigenen Berechtigungen des Schlüssels.",{"type":169,"code":213},"# einen Schlüssel für ein Team erzeugen: gedeckelt, ratenbegrenzt, zugeordnet\ncurl 'http:\u002F\u002Flocalhost:4000\u002Fkey\u002Fgenerate' \\\n  -H \"Authorization: Bearer $LITELLM_MASTER_KEY\" \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{\n    \"models\": [\"chat-fast\"],\n    \"max_budget\": 40,\n    \"budget_duration\": \"30d\",\n    \"rpm_limit\": 600,\n    \"tpm_limit\": 400000,\n    \"metadata\": {\"team\": \"platform\", \"env\": \"prod\"}\n  }'\n\n# was hat dieser Schlüssel ausgegeben, und gegen welches Limit\ncurl 'http:\u002F\u002Flocalhost:4000\u002Fkey\u002Finfo?key=sk-...' \\\n  -H \"Authorization: Bearer $LITELLM_MASTER_KEY\"",{"type":108,"content":215},[216],"Die Kosten werden aus derselben öffentlichen Preistabelle berechnet, die das SDK mitliefert, bei jedem Completion-, Embedding- und Image-Aufruf geschrieben und je Schlüssel, Nutzer und Team abfragbar. Diese Zahlen sind also Schätzungen aus einer Tabelle, die der Abrechnung des Anbieters hinterherlaufen kann: nah genug für eine interne Kostenverrechnung, zu ungenau für den Abgleich einer Rechnung. Wenn eine Zahl vertraglich zählt, kommt sie aus der Anbieterrechnung.",{"type":115,"level":116,"id":95,"text":96},{"type":108,"content":219},[220],"Das Gateway ist unter MIT dauerhaft kostenlos selbst zu hosten, ohne Sitzungs- und ohne Token-Gebühr. Die Preisseite führt zur Open-Source-Stufe mehr als 140 Provider-Integrationen, virtuelle Schlüssel, Nutzer und Teams, Kostentracking, Budgets und Ratelimits, LLM-Fallbacks, Request- und Response-Logging, Prometheus-Metriken und Guardrails. Die Beschaffung läuft direkt oder über den AWS Marketplace und Reseller.",{"type":108,"content":222},[223],"Die Lizenz kauft Kontrolle, nicht Durchsatz. SSO ist bis zu fünf Nutzer inklusive und darüber hinaus lizenzpflichtig; SCIM, Audit-Logs, Schreibzugriff auf Secret Manager, IP-Allowlists, die Multi-Region-Steuerungsebene, virtuelle Schlüsselrotation und die eingebauten Moderations-Callbacks liegen alle dahinter, und die Dokumentation benennt sie einzeln, damit niemand die Grenze nach dem Rollout entdeckt. Der Enterprise-Preis wird nach jährlicher Anfragekapazität und Deployment-Form kalkuliert, nie pro Token, und es gibt keinen Listenpreis, also beginnt jeder echte Kostenvergleich mit einem Gespräch mit dem Vertrieb.",{"type":115,"level":116,"id":98,"text":99},{"type":108,"content":226},[227],"Die Schwächen sind betrieblich, nicht funktional. Der Proxy braucht Postgres und ab mehr als einer Instanz Redis; das ist ein zustandsbehaftetes System mit Schema-Migrationen und Verbindungsarithmetik, und die Dokumentation hat eigene Seiten zur Dimensionierung genau weil dort Deployments scheitern. Das Python-SDK zieht einen großen Abhängigkeitsbaum in einen Dienst, der im Kern Anfragen formatiert. Und der Supply-Chain-Vorfall vom März 2026, bei dem mit LiteLLM präparierte Versionen über PyPI verbreitet wurden, erinnert daran, dass hier ein Paket mit sehr hohen Installationszahlen Produktionsschlüssel verarbeitet.",{"type":229,"head":230,"rows":238},"table",[231,233,234,236],[232],"",[24],[235],"Portkey",[237],"Bifrost",[239,248,257,266],[240,242,244,246],[241],"Deployment",[243],"Selbst gehostet, air-gap-fähig",[245],"Verwaltete Cloud und selbst gehostet",[247],"Selbst gehostet",[249,251,253,255],[250],"Kostenbasis",[252],"OSS kostenlos, Lizenz nach Kapazität",[254],"Monatliches Abo",[256],"Kein öffentlicher Preis",[258,260,262,264],[259],"Vom Anbieter genannte p99-Last",[261],"0,66 ms",[263],"2,29 ms",[265],"4,54 ms",[267,269,271,273],[268],"Passt am besten zu",[270],"Plattformteam mit Zugangskontrolle",[272],"Guardrails zuerst",[274],"Minimaler Hop-Overhead",{"type":108,"content":276},[277],"Diese Lastzahlen stammen aus dem Benchmark von LiteLLM selbst, gemessen mit allen Gateways auf demselben deterministischen Mock-Upstream und identischer Hardware, was den Vergleich fair und den Sieger vorhersehbar macht. Für alles, was kein LLM-Gateway ist, verdient die Kubernetes-native Variante einen Blick: Envoy AI Gateway stellt die OpenAI-Routing-Oberfläche bereit, ohne einen Python-Laufzeitprozess in den Anfragepfad zu bringen, und dieser strukturelle Unterschied wiegt schwerer als alle Zahlen oben.",{"type":115,"level":116,"id":101,"text":102},{"type":108,"content":280},[281],"LiteLLM ist die richtige Voreinstellung für ein Plattformteam, das vielen Teams Zugang zu mehreren Anbietern geben muss und drei Fragen im Betrieb beantworten will: wer hat das ausgegeben, welches Deployment hat gearbeitet, und was passiert, wenn dieser Anbieter abbaut. Es beantwortet alle drei besser als die Alternativen und nimmt dabei nicht einmal die Anbieterschlüssel in Verwahrung.",{"type":121,"ordered":146,"items":283},[284,286,288,290,292],[285],"Nehmen, wenn mehr als ein Team über mehr als einen Anbieter Modelle aufruft. Budgets, Kostenverrechnung und Fallback über Anbietergrenzen hinweg rechtfertigen das zustandsbehaftete Deployment.",[287],"Nehmen, wenn die Bündelung der Beschaffung das Ziel ist. Der Wechsel von einem Modell zum nächsten wird zur Konfigurationsänderung statt zur Sicherheitsprüfungs-Runde.",[289],"Zuerst nur das SDK nehmen, wenn es einen einzigen Dienst gibt. Es vereinheitlicht Fehler und Antworten für einen Bruchteil der Betriebskosten und lässt die Tür zum Proxy später offen.",[291],"Lass weg, wenn ein Team und ein Anbieter die ganze Geschichte sind. Anbieter-SDK und eine Kostenübersicht sind weniger Maschinerie für dasselbe Ergebnis.",[293],"Lass weg, wenn auf dem heißen Pfad die letzte Millisekunde zählt. Das Gateway ist ein Python-Prozess im Anfragepfad, und die Rust-Neufassung ist noch als Beta gekennzeichnet.",{"type":162,"variant":295,"title":296,"body":297},"tip","Vor der Zusage",[298],[299],"Eine Minor-Linie festpinnen, deren Patches einspielen und hochgehen, bevor sie aus dem Support-Fenster von vier Linien fällt. Die Seite zur Datenbankdimensionierung vor der ersten Skalierung lesen, nicht danach. Und wenn das Anbieter-SDK überall schon installiert ist, die exakte Version in einer Lockdatei pinnen statt dem Resolver zu vertrauen.",{"type":115,"level":116,"id":104,"text":105},{"type":121,"ordered":146,"items":302},[303,308,312,316,320,324,328],[304],{"tag":305,"href":32,"children":306},"a",[307],"LiteLLM-Dokumentation: Erste Schritte",[309],{"tag":305,"href":35,"children":310},[311],"LiteLLM-Dokumentation: virtuelle Schlüssel",[313],{"tag":305,"href":38,"children":314},[315],"LiteLLM-Dokumentation: Router und Load Balancing",[317],{"tag":305,"href":41,"children":318},[319],"LiteLLM-Dokumentation: Benchmarks",[321],{"tag":305,"href":44,"children":322},[323],"LiteLLM-Dokumentation: unterstützte Endpunkte",[325],{"tag":305,"href":47,"children":326},[327],"LiteLLM-Dokumentation: Enterprise",[329],{"tag":305,"href":50,"children":330},[331],"LiteLLM-Preise",[333,390,455,516],{"slug":334,"published":335,"minutes":336,"category":7,"tags":337,"keywords":343,"about":357,"sources":365,"cover":384,"og":385,"expertise":53,"locales":386,"lang":56,"title":387,"description":388,"coverAlt":389},"deepseek-v4-1-flash-1017","2026-10-17",15,[338,339,340,341,342],"DeepSeek","Open-weight models","KV cache","Mixture of experts","LLM cost",[344,345,346,347,348,349,350,351,352,353,354,355,356],"DeepSeek V4.1 Flash 1017","DeepSeek V4.1 Flash","Causal Encoder-Decoder","Compressed Sparse Attention 2","CSA2","FP4 KV cache","KV cache compression","SWA Bounded Replay","Engram conditional memory","DSpark speculative decoding","DeepSeek pricing","DeepSWE benchmark","open-weight coding model",[358,360,362],{"name":338,"url":359},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDeepSeek",{"name":341,"url":361},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMixture_of_experts",{"name":363,"url":364},"Transformer (deep learning architecture)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTransformer_(deep_learning_architecture)",[366,369,372,375,378,381],{"title":367,"url":368},"DeepSeek-AI: DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression (arXiv:2609.19969)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2609.19969",{"title":370,"url":371},"Hugging Face: deepseek-ai\u002FDeepSeek-V4.1-Flash-1017 model card","https:\u002F\u002Fhuggingface.co\u002Fdeepseek-ai\u002FDeepSeek-V4.1-Flash-1017",{"title":373,"url":374},"OpenRouter: DeepSeek V4.1 Flash 1017, pricing and providers","https:\u002F\u002Fopenrouter.ai\u002Fdeepseek\u002Fdeepseek-v4.1-flash-1017",{"title":376,"url":377},"The Decoder: Deepseek V4.1 Flash 1017 beats larger rivals in agentic tasks while once again massively cutting per-task costs","https:\u002F\u002Fthe-decoder.com\u002Fdeepseek-v4-1-flash-1017-beats-larger-rivals-in-agentic-tasks-while-once-again-massively-cutting-per-task-costs\u002F",{"title":379,"url":380},"AI Weekly: DeepSeek opens V4.1-Flash-1017 weights and $0.75 Search API","https:\u002F\u002Faiweekly.co\u002Falerts\u002Fdeepseek-opens-v41-flash-1017-weights-and-075-search-api",{"title":382,"url":383},"DeepSeek on X: DeepSeek-V4.1-Flash-1017 announcement","https:\u002F\u002Fx.com\u002Fdeepseek_ai\u002Fstatus\u002F2111375640717033777","\u002Fimages\u002Fblog\u002Fdeepseek-v4-1-flash-1017\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fdeepseek-v4-1-flash-1017\u002Fog.jpg",[55,56,57],"DeepSeek V4.1 Flash 1017: 890 Byte KV-Cache pro Token, und was ein Agent davon hat","Technischer Deep Dive zu DeepSeek V4.1 Flash 1017: Encoder-Decoder-Aufteilung, CSA2-Cache-Sharing, FP4-KV-Cache, Benchmarks und die echten Kosten pro Agenten-Task.","Links ein hoher Stapel dünner Karten, ein Pfeil, rechts dieselben Karten auf ein Viertel der Höhe zusammengepresst.",{"slug":391,"published":335,"minutes":6,"category":7,"tags":392,"keywords":397,"about":409,"sources":419,"cover":449,"og":450,"expertise":53,"locales":451,"lang":56,"title":452,"description":453,"coverAlt":454},"llm-rate-limits-retries-provider-fallback",[393,394,395,396,9],"Rate limits","Retries","Fallback","Reliability",[398,399,400,401,402,403,404,405,406,407,408],"llm rate limit handling","429 too many requests llm api","exponential backoff with jitter","anthropic 529 overloaded error","openai rate limit retry","llm provider fallback","litellm fallbacks","retry-after header","llm circuit breaker","multi provider llm failover","claude api rate limits",[410,413,416],{"name":411,"url":412},"Token bucket","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FToken_bucket",{"name":414,"url":415},"Exponential backoff","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FExponential_backoff",{"name":417,"url":418},"Circuit breaker design pattern","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCircuit_breaker_design_pattern",[420,423,426,429,432,435,438,440,443,446],{"title":421,"url":422},"Claude Platform Docs: Rate limits","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fapi\u002Frate-limits",{"title":424,"url":425},"Claude Platform Docs: API errors","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fapi\u002Ferrors",{"title":427,"url":428},"OpenAI API Docs: Rate limits","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Frate-limits",{"title":430,"url":431},"AWS Builders Library: Timeouts, retries and backoff with jitter","https:\u002F\u002Fbuilder.aws.com\u002Fcontent\u002F3EumjoZascWd1oZiEgL8ORlv3qE\u002Ftimeouts-retries-and-backoff-with-jitter",{"title":433,"url":434},"MDN: Retry-After header","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTTP\u002FReference\u002FHeaders\u002FRetry-After",{"title":436,"url":437},"Martin Fowler: Circuit Breaker (2014)","https:\u002F\u002Fmartinfowler.com\u002Fbliki\u002FCircuitBreaker.html",{"title":439,"url":38},"LiteLLM Docs: Router, retries and cooldowns",{"title":441,"url":442},"LiteLLM Docs: Proxy fallbacks and reliability","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fproxy\u002Freliability",{"title":444,"url":445},"OpenRouter Docs: Model fallbacks","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fguides\u002Frouting\u002Fmodel-fallbacks",{"title":447,"url":448},"AI SDK Docs: Settings (maxRetries, timeout)","https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fai-sdk-core\u002Fsettings","\u002Fimages\u002Fblog\u002Fllm-rate-limits-retries-provider-fallback\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-rate-limits-retries-provider-fallback\u002Fog.jpg",[55,56,57],"LLM-Rate-Limits in Produktion: Retries, Backoff und Provider-Fallback","Wie LLM-Rate-Limits funktionieren, welche Fehler man wiederholt, Backoff mit Jitter, Retries in nur einer Schicht und Fallback-Ketten ohne kaputte Ausgaben.","Kleine Quadrate steigen drei Stufen zu einem breiten Rechteck, dahinter zwei weitere in einer Reihe.",{"slug":456,"published":335,"minutes":457,"category":7,"tags":458,"keywords":464,"about":475,"sources":485,"cover":510,"og":511,"expertise":53,"locales":512,"lang":56,"title":513,"description":514,"coverAlt":515},"prompt-versioning-management",8,[459,460,461,462,463],"Prompt management","Versioning","LLMOps","Evals","Langfuse",[465,466,467,468,469,470,471,472,473,474],"prompt versioning","prompt management","prompt registry","version control for prompts","langfuse prompt management","mlflow prompt registry","prompts in git","openai prompt object deprecation","prompt rollback production","prompt ci evaluation",[476,479,482],{"name":477,"url":478},"Prompt engineering","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrompt_engineering",{"name":480,"url":481},"Version control","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVersion_control",{"name":483,"url":484},"Continuous integration","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FContinuous_integration",[486,489,492,495,498,501,504,507],{"title":487,"url":488},"OpenAI API Docs: Migrate from prompt objects","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fprompting\u002Fmigrate-from-prompt-object",{"title":490,"url":491},"OpenAI API Docs: Prompt engineering (reusable prompts deprecation note)","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fprompt-engineering",{"title":493,"url":494},"Langfuse Docs: Prompt version control","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fprompt-management\u002Ffeatures\u002Fprompt-version-control",{"title":496,"url":497},"Langfuse Docs: Prompt caching in the SDKs","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fprompt-management\u002Ffeatures\u002Fcaching",{"title":499,"url":500},"Langfuse Docs: Link prompts to traces","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fprompt-management\u002Ffeatures\u002Flink-to-traces",{"title":502,"url":503},"MLflow Docs: Prompt Registry","https:\u002F\u002Fmlflow.org\u002Fdocs\u002Flatest\u002Fgenai\u002Fprompt-registry\u002F",{"title":505,"url":506},"Promptfoo Docs: GitHub Action","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fintegrations\u002Fgithub-action\u002F",{"title":508,"url":509},"Claude Platform Docs: Prompt caching","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fprompt-caching","\u002Fimages\u002Fblog\u002Fprompt-versioning-management\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fprompt-versioning-management\u002Fog.jpg",[55,56,57],"Prompt-Versionierung in Produktion: Git, Registries, Labels und Rollbacks","Prompts in Produktion versionieren: was zu einer Version gehört, Git oder Prompt-Registry, Labels und Rollbacks, Eval-Gates in CI und Folgen für Caches.","Fünf aufrechte Karten in einer Reihe, die dritte schwenkt an einem Bogenpfeil zurück, ein Tor vor der letzten.",{"slug":517,"published":335,"minutes":518,"category":7,"tags":519,"keywords":524,"about":535,"sources":545,"cover":566,"og":567,"expertise":53,"locales":568,"lang":56,"title":569,"description":570,"coverAlt":571},"llm-batch-api-offline-workloads",9,[520,521,461,522,523],"Batch API","Cost","Prompt caching","Data pipelines",[525,526,527,528,529,530,531,532,533,534],"llm batch api","anthropic message batches api","openai batch api","gemini batch mode","batch inference llm cost","batch api 50 percent discount","openai flex processing","bedrock batch inference","llm offline processing","batch api prompt caching",[536,539,542],{"name":537,"url":538},"Batch processing","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBatch_processing",{"name":540,"url":541},"JSON Lines","https:\u002F\u002Fjsonlines.org\u002F",{"name":543,"url":544},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",[546,549,551,552,555,558,560,563],{"title":547,"url":548},"Claude Platform Docs: Batch processing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fbatch-processing",{"title":550,"url":422},"Claude Platform Docs: Rate limits (Message Batches API)",{"title":508,"url":509},{"title":553,"url":554},"OpenAI API Docs: Batch API","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fbatch",{"title":556,"url":557},"OpenAI API Docs: Flex processing","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fflex-processing",{"title":559,"url":428},"OpenAI API Docs: Rate limits (batch queue limits)",{"title":561,"url":562},"Google AI for Developers: Gemini Batch API","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fbatch-api",{"title":564,"url":565},"Amazon Bedrock User Guide: Batch inference","https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock\u002Flatest\u002Fuserguide\u002Fbatch-inference.html","\u002Fimages\u002Fblog\u002Fllm-batch-api-offline-workloads\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-batch-api-offline-workloads\u002Fog.jpg",[55,56,57],"LLM-Batch-APIs: Inferenz zum halben Preis für Arbeit, die warten kann","Wann sich die Batch-APIs von Anthropic, OpenAI und Gemini lohnen, wie Limits, Zuordnung und Fehler funktionieren und wie sich Rabatte mit Caching addieren.","Eine breite Kiste mit acht kleinen Quadraten, Zulauf von links, ein langer Pfeil kehrt zurück.",1792261158292]