Zum Hauptinhalt springen
Mit Tokios koennen Sie mehrere Modelle bereitstellen – jedes unter einem eigenen oeffentlichen Namen – und zwischen ihnen weiterleiten, indem Sie das model-Feld in Ihrer Anfrage aendern. Der Endpunkt und der API-Schluessel bleiben gleich; nur der model-Wert aendert sich.

So funktioniert Routing

Jedes Deployment hat einen eindeutigen oeffentlichen Namen. Wenn Tokios eine Anfrage erhaelt, liest es das model-Feld, findet das Deployment mit diesem Namen, schreibt ihn in die Upstream-Modell-ID dieses Deployments um und leitet die Anfrage durch den Tunnel des Connectors weiter. Ihre Client-Konfiguration aendert sich nie – nur der model-Wert.

Ein Connector, viele Modelle

Ein einzelner Connector kann mehrere Modelle bedienen. Listen Sie jede Upstream-Modell-ID in Routes auf und ordnen Sie sie einem benannten lokalen Upstream in Upstreams zu:
tokios-connector.json
Anschliessend registrieren Sie ein Deployment fuer jedes Modell in der Konsole und geben jedem einen oeffentlichen Namen (z.B. gemma-tunnel → gemma4:e4b, qwen-coder → qwen2.5-coder), die alle auf diesen Connector zeigen.
Lieber getrennt? Sie koennen auch einen Connector pro Modell betreiben, jeweils mit eigener ConnectorId/Token und Upstream. Beide Ansaeetze funktionieren – der Server sendet nur die Modell-ID durch den Tunnel.

Modellwechsel in Anfragen

Nachdem beide Deployments registriert sind, wechseln Sie Modelle nur durch Aendern des model-Felds:
Der Endpunkt, der Auth-Header und jeder andere Parameter bleiben identisch. Tokios uebernimmt das Routing.

Backend tauschen, ohne Clients anzufassen

Da Clients nur den oeffentlichen Namen referenzieren, koennen Sie ein Modell auf andere Hardware oder ein anderes Backend verschieben, ohne Client-Konfigurationen zu aendern: Aktualisieren Sie das Deployment (oder den Upstream des Connectors), damit es auf den neuen Server zeigt, behalten Sie den gleichen oeffentlichen Namen bei, und bestehende Anfragen funktionieren weiterhin.

Routing-Strategien

Wenn Sie mehrere lokale Modelle betreiben, verschwendet das Senden jeder Anfrage an dasselbe Modell Ressourcen. Eine Coding-Anfrage braucht kein 120B Reasoning-Modell, und eine einfache Klassifizierung braucht kein 70B Dense-Modell. Mit Routing koennen Sie jede Anfrage an das Modell leiten, das am besten zur Aufgabe passt – optimiert nach Geschwindigkeit, Qualitaet oder Kosten je nach Workload. Wenn Sie 1 Modell fuer alles verwenden, erzwingt das Kompromisse. Ein grosses Modell bewaeltigt jede Aufgabe gut, antwortet aber langsam und verbraucht mehr VRAM. Ein kleines Modell antwortet schnell, hat aber Schwierigkeiten bei komplexem Reasoning. Mit Routing bekommen Sie beides:
  • Geschwindigkeit: Einfache Anfragen gehen an ein kleines, schnelles Modell; komplexe Aufgaben an ein grosses Modell
  • Qualitaet: Code-Aufgaben gehen an ein code-spezialisiertes Modell; allgemeiner Chat an einen Generalisten
  • Kosten: Kleinere Modelle verbrauchen weniger Strom und VRAM und lassen mehr Spielraum fuer anspruchsvolle Aufgaben
  • Ausfallsicherheit: Wenn Ihr primaeres Modell belegt oder offline ist, werden Anfragen an ein Backup weitergeleitet
Der einfachste Ansatz – registrieren Sie jedes Modell als eigenes Tokios-Deployment und lassen Sie den Client waehlen, welches aufgerufen wird, indem er das model-Feld aendert.
tokios-connector.json
Ihr Client sendet Anfragen mit dem passenden model-Wert:
Wann verwenden: Sie betreiben 2–3 Modelle und Ihre Anwendung steuert, welches Modell aufgerufen wird. Dies ist der haeufigste Ausgangspunkt.
Nach Aufgabentyp routen – Coding-Anfragen an ein code-spezialisiertes Modell, Chat an einen Generalisten und Reasoning an ein Dense-Modell. Der Client oder eine Middleware-Schicht prueft die Anfrage und waehlt das Deployment.Die einfachste Umsetzung liegt in Ihrem Anwendungscode – pruefen Sie den Anfragetyp und waehlen Sie den Deployment-Namen:
Fuer anspruchsvolleres Routing verwenden Sie ein Gateway wie LiteLLM oder OpenRouter, das Anfragen prueft und basierend auf konfigurierbaren Regeln an das richtige Backend weiterleitet.
Platzieren Sie einen Routing-Proxy zwischen Ihren Clients und Tokios. Der Proxy entscheidet, welches Tokios-Deployment basierend auf Anfrage-Attributen, Auslastung oder benutzerdefinierten Regeln verwendet wird.LiteLLM kann vor mehreren Tokios-Deployments sitzen und basierend auf Modell-Aliasen routen:
litellm_config.yaml
Clients senden Anfragen an den LiteLLM-Proxy mit dem Alias gpt-4, und der Proxy leitet an das Tokios-Deployment weiter, das Sie konfiguriert haben.OpenRouter unterstuetzt Modell-Fallback und Lastverteilung ueber mehrere Provider. Fuegen Sie Ihren Tokios-Endpunkt als benutzerdefinierten Provider hinzu und konfigurieren Sie Routing-Regeln im OpenRouter-Dashboard.
Konfigurieren Sie ein primaeres Modell mit 1 oder mehreren Fallback-Modellen. Wenn das primaere Modell belegt, offline ist oder einen Fehler zurueckgibt, wird die Anfrage an das naechste Modell in der Kette weitergeleitet.
Tokios-Connectors melden ihren Status an das Gateway. Wenn ein Connector offline geht, geben Anfragen an Deployments auf diesem Connector 503 zurueck. Ihre Anwendung kann dies abfangen und mit einem anderen Deployment erneut versuchen, oder Sie koennen ein Gateway wie LiteLLM konfigurieren, um den Fallback automatisch abzuwickeln.
Leiten Sie einfache Anfragen mit hohem Volumen an ein kleineres, guenstigeres Modell weiter und reservieren Sie das grosse Modell fuer Aufgaben, die es benoetigen.Diese Strategie reduziert den Gesamtbedarf an Rechenleistung und Stromverbrauch – wichtig bei der Nutzung auf Consumer-Hardware, wo VRAM und Leistungsaufnahme begrenzt sind.

Entscheidungsmatrix

Diese Strategien schliessen sich nicht gegenseitig aus. Ein haeufiges Produktionsmuster kombiniert aufgabenbasiertes Routing (Code → Code-Modell) mit Fallback-Ketten (primaer → Backup) hinter einem Gateway-Proxy.

Naechste Schritte

Ein lokales Modell waehlen

Vergleichen Sie Modelle und Backends, um zu entscheiden, welche Deployments Sie registrieren wollen.

Ihr Deployment testen

Messen Sie Durchsatz und Latenz, um Ihre Routing-Entscheidungen unter realen Workloads zu validieren.