Files
llmrouter/config.json
T

143 lines
4.2 KiB
JSON

{
"_doku": "Versionierte Quelle des llmrouter. Secrets kommen NUR aus der Umgebung: OPENROUTER_API_KEY, MISTRAL_API_KEY, KIRA_REASONING_KEY, KIRA_STT_KEY, ARTIFICIALANALYSIS_API_KEY, ADMIN_KEY; Client-Keys aus KEYS_FILE (token -> name), Rechte aus key-acls.json (name -> aliasse). Port 4010, weil 4001 im LXC von nginx belegt ist. MODEL_BLOCKLIST zeigt auf die Sperrliste (Host: /srv/llmrouter/model-blocklist.json).",
"port": 4010,
"logDir": "./log",
"refreshHours": 12,
"aaRefreshDays": 7,
"lasttest": true,
"upstreams": {
"openrouter": {
"base": "https://openrouter.ai/api/v1",
"keyEnv": "OPENROUTER_API_KEY"
},
"qwen": {
"base": "http://10.18.5.30:11507/v1",
"maxParallel": 1
},
"voice": {
"base": "http://10.18.5.30:8803/v1"
},
"ollama": {
"base": "http://10.18.5.30:11434/v1"
},
"mistral": {
"base": "https://api.mistral.ai/v1",
"keyEnv": "MISTRAL_API_KEY"
},
"kira-chat": {
"base": "http://10.6.42.111:8000/v1",
"keyEnv": "KIRA_REASONING_KEY"
},
"kira-stt": {
"base": "http://10.6.42.111:8001/v1",
"keyEnv": "KIRA_STT_KEY"
}
},
"aliases": {
"marvin:low": {
"art": "schwelle",
"index": 25,
"minContext": 256000
},
"marvin:medium": {
"art": "schwelle",
"index": 45,
"minContext": 256000
},
"marvin:high": {
"art": "schwelle",
"index": 49,
"minContext": 500000
},
"marvin:max": {
"art": "schwelle",
"index": 53,
"minContext": 500000
},
"marvin-free": {
"art": "fest",
"upstream": "openrouter",
"model": "openrouter/free"
},
"marvin-core:none": {
"art": "fest",
"upstream": "qwen",
"model": "qwen36:35b",
"body": {
"chat_template_kwargs": {
"enable_thinking": false
}
}
},
"marvin-core:medium": {
"art": "fest",
"upstream": "qwen",
"model": "qwen36:35b",
"body": {
"chat_template_kwargs": {
"enable_thinking": true
}
}
},
"kira-reasoning": {
"art": "fest",
"upstream": "kira-chat",
"model": "kira-reasoning"
},
"kira-stt": {
"art": "fest",
"upstream": "kira-stt",
"model": "kira-stt"
},
"marvin-tts": {
"art": "fest",
"upstream": "voice",
"model": "tts-1"
},
"marvin-stt": {
"art": "fest",
"upstream": "voice",
"model": "whisper-1"
},
"marvin-tts-turbo": {
"art": "fest",
"upstream": "mistral",
"model": "voxtral-mini-tts-2603"
},
"marvin-stt-turbo": {
"art": "fest",
"upstream": "mistral",
"model": "voxtral-mini-latest"
},
"marvin-embedding": {
"art": "fest",
"upstream": "ollama",
"model": "bge-m3"
},
"marvin-embedding-turbo": {
"art": "fest",
"upstream": "openrouter",
"model": "mistralai/mistral-embed-2312"
}
},
"_altnamen_doku": "Übergangs-Aliasse aus der LiteLLM-Zeit, damit kein Container angefasst werden muss. Loggen unter dem NEUEN Namen. Nach und nach abbauen. Stufen 2026-09-05 (Andreas): low=Haiku 4.5, medium=Sonnet 5, high=Opus 5 medium, max=Fable 5.1 medium; none/extra/ultra/mass abgeschafft.",
"altnamen": {
"42i/marvin-2608": "marvin:low",
"42i/marvin-2608:none": "marvin:low",
"42i/marvin-2608:low": "marvin:low",
"42i/marvin-2608:medium": "marvin:medium",
"42i/marvin-2608:high": "marvin:high",
"42i/marvin-2608:extra": "marvin:high",
"42i/marvin-2608:ultra": "marvin:max",
"42i/marvin-2608-auto": "marvin:medium",
"42i/marvin-2608-mass": "marvin:low",
"42i/marvin-2608-mass:none": "marvin:low",
"42i/marvin-2608-mass:medium": "marvin:low",
"42i/marvin-2608-core:none": "marvin-core:none",
"42i/marvin-2608-core:medium": "marvin-core:medium",
"marvin-reasoning": "marvin-core:medium",
"marvin-core": "marvin-core:none"
},
"_stufen_doku": "Stufen als Index-Schwelle (Artificial-Analysis-Intelligence-Index, 0-100) mit Mindestkontext (Andreas 2026-09-05): low 25/256k, medium 45/256k, high 49/500k, max 53/500k. Die Art \"alternative\" mit Referenzmodell (z.B. anthropic/claude-opus-5:medium) bleibt möglich."
}