Zum Hauptinhalt springen
OrcaRouter lässt dich eine Routing-Strategie als benannten Router speichern. Rufe ihn aus deinem Code als orcarouter/{name} auf, und OrcaRouter löst ihn zur Anforderungszeit auf ein konkretes Modell auf, basierend auf den von dir konfigurierten Regeln. Das ist nützlich, wenn du möchtest:
  • Routing-Verhalten ohne Re-Deployment deiner App umschalten (ändere den Router im Dashboard; dein Code bleibt gleich).
  • Verschiedene Teams oder Dienste ihre eigene Routing-Policy unabhängig von der aufrufenden Anwendung wählen lassen.
  • Routing-Logik referenzieren, die zu komplex ist, um sie in extra_body inline zu schreiben.

Einen Router verwenden

response = client.chat.completions.create(
    model="orcarouter/production-chat",
    messages=[...],
)
Um herauszufinden, auf welches konkrete Modell ein Router aufgelöst wurde, lies die Antwort-Header X-Orca-Router und X-Orca-Resolved-Model — siehe Antwort-Header. Das model-Feld im Antwortkörper selbst spiegelt wider, was der Upstream zurückgegeben hat (oft der reine Upstream-Name, z. B. gpt-4o-mini-2024-07-18).

Einen Router erstellen

Router werden im Dashboard unter Routing erstellt. Jeder Router hat:
  • Name — der {name} in orcarouter/{name}. Muss innerhalb deines Workspace eindeutig sein; Kleinbuchstaben, Ziffern, _ und - (1-50 Zeichen). Der Name orcarouter ist reserviert.
  • Erlaubte Modelle — ein oder mehrere Glob-Muster (durch Kommas oder Zeilenumbrüche getrennt, ohne Groß-/Kleinschreibung), die einschränken, welche Modelle dieser Router auswählen kann. Beispiele: openai/* oder openai/*, anthropic/claude-haiku-*. Leer passt zu jedem Modell, auf das dein Konto Zugriff hat.
  • Strategie — wie aus passenden Modellen ausgewählt wird. Siehe Strategien unten.
  • Mundane models / Hard models — zusätzliche Modelllisten, die nur von der Adaptive · Gated-Strategie verwendet werden. Siehe Adaptive unten.
  • Standardmodell — ein Safety-Net-Modell, das verwendet wird, wenn das Muster zu nichts auflöst.
  • Aktiviert — den Router deaktivieren, ohne ihn zu löschen.

Strategien

Der Editor stellt vier Strategiekarten bereit. Adaptive bündelt zwei Backend-Submodes, für insgesamt fünf Enum-Werte, die du über die API persistieren kannst.

Cheapest (Am günstigsten)

Wählt das Modell mit dem niedrigsten Preis pro Token unter den Live-Kandidaten. Standard für den seeded orcarouter/auto-Router. Am besten, wenn du das günstigste Live-Chat-Modell bei jeder Anfrage willst und dich nicht um Konsistenz des Ausgabestils zwischen Aufrufen kümmerst.

Quality (Qualität)

Wählt das Modell mit der höchsten Qualitätsbewertung unter den Live-Kandidaten, unabhängig vom Preis. Am besten, wenn Ausgabequalität die Kosten dominiert.

Balanced (Ausgewogen)

Wählt eine kostengünstige Option, die immer noch eine Qualitätsschwelle erreicht; wenn nichts die Schwelle erreicht, fällt auf die qualitativ hochwertigste Option zurück. Standard für neue Router, die du selbst erstellst. Läuft ohne Router-spezifisches Tuning.

Adaptive

Ein LinUCB-Kontext-Bandit pro Router, der aus deinem echten Produktionsverkehr lernt. Gewichtet Qualität, Kosten, Latenz und Zuverlässigkeit pro Anfrage, um das beste Modell zu wählen. Neue Router verhalten sich für eine kurze Kaltstartperiode (eine Aufwärmphase pro Modell) wie Balanced, bevor der Bandit beginnt, Auswahlen zu steuern — das ist erwartet, kein Bug. Zwei Submodes:
  • Standard (API-Enum: linucb) — berücksichtigt jedes erlaubte Modell für jede Anfrage. Am besten, wenn der Verkehr ungefähr einheitlich ist und du möchtest, dass der Router die beste Option über deine gesamte Liste findet.
  • Gated (API-Enum: gated_adaptive) — Anfragen werden zuerst als mundane oder hard klassifiziert; mundane-Anfragen ziehen aus einem kleineren Mundane models-Pool, hard-Anfragen aus einem stärkeren Hard models-Pool, und Anfragen mittlerer Schwierigkeit aus der vollen erlaubten Liste. Am besten, wenn dein Verkehr einfache und komplexe Aufrufe mischt. Jeder Pool wird mit den erlaubten Modellen geschnitten; leere oder nicht überlappende Pools fallen stillschweigend auf die volle erlaubte Liste zurück, damit Anfragen nie verhungern. Konfiguriere die zwei Pools (weak_pool und strong_pool auf API-Ebene — bis zu 2000 Zeichen jeweils) im Editor, wenn du Gated wählst.

Seeded Router: orcarouter/auto

Jedes OrcaRouter-Konto wird bei der Registrierung mit einem Standard-Router namens auto seeded — siehe Auto-Router. Du kannst ihn sofort ohne jegliche Konfiguration verwenden.