Zum Hauptinhalt springen
OrcaRouter begrenzt die Rate auf Workspace-Ebene, nicht pro API-Schlüssel. Alle Schlüssel, die zum selben Workspace gehören, schöpfen aus demselben Eimer. Wenn das Limit überschritten wird, erhältst du eine HTTP-429 Too Many Requests-Antwort mit einem Retry-After-Header.

Warum Workspace-skaliert

Workspaces sind die Art, wie OrcaRouter die Schlüssel, Mitglieder und Abrechnung gruppiert, die zu einem einzigen Team oder einer Einzelperson gehören. Gemeinsame Limits innerhalb eines Workspace machen den Verkehr vorhersehbar, wenn dein Team wächst: das Hinzufügen eines neuen Schlüssels (oder eines neuen Mitglieds) multipliziert dein gemeinsames Budget nicht. Wenn du eine höhere Obergrenze benötigst, aktualisiere den Plan des Workspace. OrcaRouter legt den Aufrufern keine Ratenlimits pro Modell offen — das Gateway verhält sich aus Sicht deiner Anwendung wie ein einziger logischer Anbieter, konsistent mit Anbieter-Opazität. Interne Drosselung zu Upstream-Anbietern erfolgt transparent und ist nicht Teil des öffentlichen Vertrags.

Antwort

Eine ratenbegrenzte Anfrage gibt immer zurück:
HTTP/1.1 429 Too Many Requests
Retry-After: <seconds>
Einige Ratenlimit-Pfade enthalten auch einen JSON-Body, der das erreichte Limit erklärt; andere (der schnellste Pfad-Workspace-Eimer) geben nur den Statuscode und die Header zurück. Verlasse dich nicht auf die Body-Form — prüfe Statuscode 429 und lies Retry-After. Wenn ein Body vorhanden ist, folgt er der OpenAI-kompatiblen Hüllform mit error.type auf orcarouter_api_error gesetzt. Die error.message kann lokalisiert sein (derzeit Chinesisch) — siehe Fehler für die Hüllstruktur. Retry-After ist in Sekunden. Es ist die Dauer des Ratenlimit-Fensters (konservativ — sicher, genau so lange zu warten); das nächste Fenster wird das volle Budget haben. Sofortiges erneutes Versuchen ohne Warten schlägt erneut fehl.

Empfohlenes Client-Verhalten

  1. Bei 429 lies Retry-After.
  2. Warte so viele Sekunden.
  3. Versuche die gleiche Anfrage erneut.
  4. Wenn ein zweites 429 auftritt, erhöhe die Wartezeit um 2× (exponentielles Backoff) bis zu 60 Sekunden.
  5. Wenn du 429 wiederholt siehst, erwäge, den Verkehr über mehrere Modelle mit extra_body.models aufzuteilen — siehe Modell-Fallbacks.
Die Python- und TypeScript-SDKs von OpenAI handhaben Retry-After standardmäßig automatisch. Du brauchst keinen benutzerdefinierten Code, es sei denn, du hast Retries deaktiviert.

Reaktiv, nicht vorhersagend

OrcaRouter gibt keine X-RateLimit-Remaining- / X-RateLimit-Reset-Header zurück, sodass du nicht präemptiv prüfen kannst, wie viel Budget übrig ist. Behandle 429 als das Signal — ziehe dich zurück, wenn du es siehst, und nimm dann wieder auf.