Fehler 429: was tun, wenn gemini-flash-latest fehlschlägt
Ein 429 bedeutet, dass eine Ratenbegrenzung gegriffen hat: Die Anzahl der Anfragen oder Tokens pro Zeitfenster hat das Kontingent Ihres Tarifs überschritten.
429 Too Many Requests ist eine Drosselungsantwort, kein Fehler. Die Anfrage selbst ist gültig, überschreitet aber die für Ihren Tarif erlaubte Anfragerate oder Parallelität. Wiederholen Sie mit Wartezeit im vom Antwortheader vorgegebenen Fenster; der Request-Body muss nicht geändert werden.
gemini-flash-latest wird von Google bereitgestellt. Alles auf dieser Seite — Ursachen, Lösungen und gemessene Daten — basiert auf dem tatsächlichen Laufzeitverhalten dieses Modells auf der Gatewayschicht.
An diesem Gateway ist die häufigste Ursache: Zu viele parallele Anfragen. Empfohlene erste Maßnahme: Parallelität begrenzen und mit exponentiellem Backoff wiederholen.
Häufige Ursachen
- Zu viele parallele Anfragen
- Kontingent des aktuellen Tarifs erschöpft
- Wiederholung ohne Pause
So beheben Sie es
- Parallelität begrenzen und mit exponentiellem Backoff wiederholen
- Zu einem Tarif mit größerem Kontingent wechseln
- Wiederholte Anfragen zwischenspeichern
Wiederholung mit exponentiellem Backoff
Der folgende Code wiederholt den Aufruf, wenn gemini-flash-latest 429 liefert: bis zu 5 Versuche, mit wachsender Wartezeit und zufälligem Jitter, damit parallele Anfragen nicht gleichzeitig wiederholen. Base-URL und API-Key werden aus Umgebungsvariablen gelesen — nicht hart codieren.
import os, time, random
import requests
BASE = os.getenv("OPENAI_BASE_URL") # e.g. https://<your-gateway>/v1
KEY = os.getenv("OPENAI_API_KEY")
MODEL = 'gemini-flash-latest'
def chat(messages, retries=5):
"""Retry with exponential backoff + jitter."""
for i in range(retries):
try:
r = requests.post(
BASE + "/chat/completions",
headers={"Authorization": "Bearer " + KEY},
json={"model": MODEL, "messages": messages, "stream": True},
timeout=60,
)
if r.status_code == 429 or r.status_code >= 500:
time.sleep(min(2 ** i + random.uniform(0, 1), 30))
continue
r.raise_for_status()
return r.json()
except requests.exceptions.Timeout:
time.sleep(min(2 ** i + random.uniform(0, 1), 30))
raise RuntimeError("gave up after " + str(retries) + " retries")
print(chat([{"role": "user", "content": "hello"}]))Wichtige Daten zu diesem Modell
| API-Endpunkt | https://api.airai.cc/v1 |
|---|---|
| OpenAI-kompatibel | OpenAI-compatible |
| Anbieter | |
|---|---|
| Kontext | 1M |
| Funktionen | Reasoning, Tools, Files, Vision, Audio |
| API-Formate | openai, openai-response, openai-response-compact, anthropic, gemini, openai-alpha-search |
| Abrechnungsformel | p * 0.75 + cr * 0.075 + ai * 0.75 + c * 3.75 |
Häufige Fragen
Macht ein langer Kontext 429 wahrscheinlicher?
Die Request-Parameter müssen geändert werden; Retry allein hilft nicht. Das ist ein clientseitiges Konfigurationsproblem; serverseitig ändert sich nichts. Die Fähigkeits-Tags sind Reasoning, Tools, Files, Vision, Audio, daraus ergeben sich die Parameter-Obergrenzen. Kürzen oder verdichten Sie lange Eingaben — das senkt 429 deutlich.
Tritt 429 eher bei direkten Frontend-Aufrufen oder über einen Backend-Proxy auf?
Halten Sie zusätzlich ein Ausweichmodell bereit. Ein Fallback in der Architektur ist verlässlicher als jede Fehlermeldung einzeln zu flicken. Dieses Modell von Google hat mehrere Upstream-Knoten, zwischen denen das Gateway wechseln kann. Halten Sie ein leichteres Ersatzmodell bereit, damit der Hauptfluss nicht abbricht. Legen Sie den Modellnamen in die Konfiguration, dann braucht ein Upstream-Wechsel keine Codeänderung.
Wie sollte ich 429 in Produktion überwachen?
Behalten Sie die Request-ID und den rohen Antworttext, sonst lässt sich nichts zuordnen. Das Modell wird von Google bereitgestellt, der Upstream-Status richtet sich nach den Ankündigungen des Anbieters. Protokollieren Sie bei jedem Fehler die Request-ID — sie hilft mehr als der Statuscode. Reproduzieren Sie es zuerst in der Testumgebung mit demselben Request-Body.
Erhöht ein gemeinsamer Key über mehrere Services die 429-Wahrscheinlichkeit?
Sowohl ein höheres Tariflimit als auch eine niedrigere Aufruffrequenz helfen. Der Eingabepreis liegt bei etwa $0.75 pro Million Tokens. Bei der Abrechnung p * 0.75 + cr * 0.075 + ai * 0.75 + c * 3.75 werden fehlgeschlagene Anfragen nicht angerechnet. Wenn Sie Kosten nach p * 0.75 + cr * 0.075 + ai * 0.75 + c * 3.75 schätzen, rechnen Sie das Retry-Budget mit ein.
Weitere Fehler bei diesem Modell
- gemini-flash-latest: Fehler timeout — Ursachen und Lösungen
- gemini-flash-latest: Fehler 500 — Ursachen und Lösungen
- gemini-flash-latest: Fehler 502 — Ursachen und Lösungen
- gemini-flash-latest: Fehler 503 — Ursachen und Lösungen
- gemini-flash-latest: Fehler 504 — Ursachen und Lösungen
- gemini-flash-latest: Fehler 401 — Ursachen und Lösungen
- gemini-flash-latest: Fehler 403 — Ursachen und Lösungen
- gemini-flash-latest: Fehler 400 — Ursachen und Lösungen
Andere Modelle mit demselben Fehler
- gpt-5
- claude-opus-5
- gemini-2.5-pro
- deepseek-v4-pro
- grok-4.3
- llama-3.3-70b-instruct
- qvq-max
- qwq-32b
- glm-5
- MiniMax-M3
- kimi-k3
- hy3
- doubao-seed-evolving
- mimo-v2.5
- gpt-4o
- claude-opus-4-6
Daten aktualisiert: 2026-10-10 08:15