llmrouter: Namen 42i/marvin-2609:*, Durchreiche unbekannter Namen an LiteLLM

Caddy zeigt llm.lan künftig auf den Router; alles Unbekannte (2608, role/*)
geht unverändert mit dem Client-Key an LiteLLM :4000. Umstellung je Agent =
Modellname, kein base_url-Wechsel (Andreas 2026-09-05). altnamen entfällt,
bis LiteLLM abgeschaltet wird.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-09-05 08:09:46 +02:00
co-authored by Claude Fable 5.1
parent 4b11a869e6
commit 81ab596897
5 changed files with 80 additions and 70 deletions
+12 -5
View File
@@ -30,9 +30,16 @@ Zwei Arten:
Embeddings, kira auf deizo). Optional ein `body`-Patch, etwa
`chat_template_kwargs.enable_thinking` für die Qwen-Stufen.
`altnamen` übersetzt die LiteLLM-Namen (`42i/marvin-2608:low`), damit kein
Container angefasst werden muss; geloggt wird der neue Name. Abbauen, sobald
die Clients umgestellt sind.
Die Namen sind versioniert wie bei LiteLLM: `42i/marvin-2609:low` `:max`,
`42i/marvin-2609-core:none|medium`. **Unbekannte Namen** (alles aus der
LiteLLM-Zeit, `42i/marvin-2608:*`) reicht der Router unverändert mit dem
Client-Key an LiteLLM auf :4000 durch (`fallback`). Caddy zeigt `llm.lan`
auf den Router; ein Agent wechselt also per Modellname 2608 → 2609, nicht
per base_url, und rollt per Umbenennen zurück. Durchgereichte Anfragen stehen
im Log mit Upstream `litellm`, ohne Kosten (die kennt nur LiteLLM).
Wird LiteLLM abgeschaltet, entfällt `fallback`, und `altnamen` (Übersetzung
2608 → 2609) übernimmt, damit auch Nachzügler nicht brechen.
## Auflösung und Takt
@@ -81,8 +88,8 @@ PORT=4010 KEYS_FILE=/srv/llmrouter/keys.json ADMIN_KEY=… OPENROUTER_API_KEY=
bun run build # dist/llmrouter, ein statisches Linux-Binary
```
Parallelbetrieb neben LiteLLM (Port 4000) im LXC 185020 auf Port 4010; die
Umschaltung ist ein Wechsel der `base_url` in den Client-Configs.
Parallelbetrieb neben LiteLLM (Port 4000) im LXC 185020 auf Port 4010; Caddy
zeigt `llm.lan` auf 4010, die Umschaltung je Agent ist der Modellname.
Bedient: `/v1/chat/completions`, `/v1/completions`, `/v1/responses`,
`/v1/embeddings`, `/v1/audio/speech`, `/v1/audio/transcriptions`,