mirror of
https://github.com/BerriAI/litellm.git
synced 2026-08-28 05:25:59 +00:00
feat(ui): run the Lite preset's medium and complex tiers at their documented efforts
Lite ran Muse Spark 1.2 and Kimi K3 at whatever effort each provider happens to default to. Set the ones their own docs name: Muse Spark 1.2 at xhigh, and Kimi K3 at max, which is Kimi's own default and what the model map now declares for that model. Stacked on the map change, since without it kimi-k3 resolves to unknown levels and the tier editor's capability-blind fallback list does not offer max.
This commit is contained in:
parent
44d84360fb
commit
542649b59a
2 changed files with 22 additions and 1 deletions
|
|
@ -36,7 +36,7 @@
|
|||
},
|
||||
"lite": {
|
||||
"label": "Lite",
|
||||
"description": "Cost-optimized routing across providers: DeepSeek V4 Flash for simple queries, Muse Spark 1.2 for medium, Kimi K3 for complex, Claude Opus 5 for reasoning-heavy requests. An LLM classifier with the agentic rubric assigns tiers.",
|
||||
"description": "Cost-optimized routing across providers: DeepSeek V4 Flash for simple queries, Muse Spark 1.2 at xhigh for medium, Kimi K3 at max for complex, Claude Opus 5 for reasoning. An LLM classifier with the agentic rubric assigns tiers.",
|
||||
"complexity_router_config": {
|
||||
"tiers": {
|
||||
"SIMPLE": ["deepseek-v4-flash"],
|
||||
|
|
@ -44,6 +44,10 @@
|
|||
"COMPLEX": ["kimi-k3"],
|
||||
"REASONING": ["claude-opus-5"]
|
||||
},
|
||||
"tier_model_configs": {
|
||||
"MEDIUM": [{ "model_name": "muse-spark-1.2", "litellm_params": { "reasoning_effort": "xhigh" } }],
|
||||
"COMPLEX": [{ "model_name": "kimi-k3", "litellm_params": { "reasoning_effort": "max" } }]
|
||||
},
|
||||
"classifier_type": "llm",
|
||||
"classifier_llm_config": {
|
||||
"model": "deepseek-v4-flash",
|
||||
|
|
|
|||
|
|
@ -109,6 +109,14 @@ describe("autorouter_presets", () => {
|
|||
});
|
||||
});
|
||||
|
||||
// Kimi K3 at max needs the map to declare max for kimi-k3, which is the commit below this one.
|
||||
it("pins the lite preset's per-tier reasoning efforts", () => {
|
||||
expect(getPresetByKey("lite")!.complexity_router_config.tier_model_configs).toEqual({
|
||||
MEDIUM: [{ model_name: "muse-spark-1.2", litellm_params: { reasoning_effort: "xhigh" } }],
|
||||
COMPLEX: [{ model_name: "kimi-k3", litellm_params: { reasoning_effort: "max" } }],
|
||||
});
|
||||
});
|
||||
|
||||
// serializeTierModelConfigs filters on the tier's models, so a stray name drops silently.
|
||||
it("never names a model in tier_model_configs that its own tier does not hold", () => {
|
||||
for (const preset of getAllPresets()) {
|
||||
|
|
@ -129,6 +137,15 @@ describe("autorouter_presets", () => {
|
|||
});
|
||||
});
|
||||
|
||||
it("prefills the lite preset's efforts through to tier_model_params", () => {
|
||||
const lite = getPresetByKey("lite")!;
|
||||
const prefill = buildPresetPrefill(lite.complexity_router_config, groupsOnly(getRequiredModelsInPreset(lite)));
|
||||
expect(prefill.complexityRouterConfig.tier_model_params).toEqual({
|
||||
MEDIUM: { "muse-spark-1.2": { reasoning_effort: "xhigh" } },
|
||||
COMPLEX: { "kimi-k3": { reasoning_effort: "max" } },
|
||||
});
|
||||
});
|
||||
|
||||
it("pins the gemini preset to concrete model ids, never Google's hot-swapping -latest aliases", () => {
|
||||
const gemini = getPresetByKey("gemini_family")!;
|
||||
const config = gemini.complexity_router_config;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue