Skip to content

fix(litellm): route omniroute through auto/smart instead of bare auto - #4325

Merged
Tanguille merged 1 commit into
mainfrom
feat/omniroute-smart-model
Aug 3, 2026
Merged

fix(litellm): route omniroute through auto/smart instead of bare auto#4325
Tanguille merged 1 commit into
mainfrom
feat/omniroute-smart-model

Conversation

@Tanguille

@Tanguille Tanguille commented Aug 3, 2026

Copy link
Copy Markdown
Owner

Summary

Bare auto classifies review-shaped payloads as intent=medium / task=default and selects via OmniRoute's sticky lkgp (last-known-good-provider) strategy — the same free provider every time it last succeeded, regardless of whether a better one is currently available. auto/smart is a distinct OmniRoute model id that forces its RulesStrategy live scorer (quota/health/cost/taskFit) on every request instead.

Evidence

Direct test against omniroute:

  • model: autoAuto selection: opencode/big-pickle | strategy=lkgp | LKGP: using last known good provider opencode (no scoring, pure stickiness)
  • model: auto/smartAuto selection: kimi-coding/k3 | RulesStrategy: score=0.828 (quota=1.00, health=1.00, cost=1.00, taskFit=0.85) (live quality scoring)

Test plan

  • kustomize build kubernetes/apps/ai/litellm/instance clean, model: openai/auto/smart present
  • Post-rollout, confirm omniroute logs show RulesStrategy scoring (not lkgp) for real litellm calls

Summary by CodeRabbit

  • Bug Fixes
    • Improved automatic AI provider routing by evaluating quota, health, cost, and task suitability.
    • Updated the OmniRoute model configuration to use smart routing for more effective provider selection.

Bare "auto" classifies our review-shaped payloads as intent=medium /
task=default and picks via the sticky lkgp (last-known-good-provider)
strategy — same free provider every time it last worked, not
necessarily the best one currently available. auto/smart forces
OmniRoute's RulesStrategy scorer (quota/health/cost/taskFit) on every
request instead.
@deepsource-io

deepsource-io Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

DeepSource Code Review

We reviewed changes in aa31986...9d86c33 on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.

See full review on DeepSource ↗

PR Report Card

Overall Grade   Security  

Reliability  

Complexity  

Hygiene  

Code Review Summary

Analyzer Status Updated (UTC) Details
JavaScript Aug 3, 2026 9:32p.m. Review ↗
Shell Aug 3, 2026 9:32p.m. Review ↗

Important

AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.

@Tanguille
Tanguille force-pushed the feat/omniroute-smart-model branch from 493e522 to 9d86c33 Compare August 3, 2026 21:32
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: e3768fec-9f2d-4e19-805a-20bf4df763f6

📥 Commits

Reviewing files that changed from the base of the PR and between aa31986 and 9d86c33.

📒 Files selected for processing (1)
  • kubernetes/apps/ai/litellm/instance/models.yaml
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • Tanguille/LLMKube (auto-detected)
  • Tanguille/toolhive (auto-detected)
  • Tanguille/pr-reviewer-action (auto-detected)
  • Tanguille/renovate-presets (auto-detected)
  • Tanguille/litellm-operator (auto-detected)
  • Tanguille/2x-R9700-RDNA4-GFX1201-sglang-inference (auto-detected)

📝 Walkthrough

Walkthrough

The LiteLLM OmniRoute model now uses openai/auto/smart. Its description documents provider scoring based on quota, health, cost, and task fit.

Changes

OmniRoute routing

Layer / File(s) Summary
Update OmniRoute routing declaration
kubernetes/apps/ai/litellm/instance/models.yaml
The OmniRoute model identifier changes to openai/auto/smart. The description now documents smart provider scoring.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main routing change from bare auto to auto/smart.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/omniroute-smart-model

Comment @coderabbitai help to get the list of available commands.

@tanguille-cluster

Copy link
Copy Markdown
@@ spec.params.model @@
# litellm.home-operations.com/v1alpha1/LiteLLMModel/ai/omniroute
! ± value change
- openai/auto
+ openai/auto/smart

@Tanguille
Tanguille merged commit 18928af into main Aug 3, 2026
14 of 15 checks passed
@Tanguille
Tanguille deleted the feat/omniroute-smart-model branch August 3, 2026 21:33
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

AI Automated Review

Analysis engine: omniroute@http://litellm.ai.svc.cluster.local/v1 (openai)

Recommendation: Approve

This PR makes a targeted, well-justified change to the OmniRoute model configuration in LiteLLM, switching from openai/auto to openai/auto/smart to enable live quality-based provider selection instead of sticky last-known-good-provider behavior.

Change-by-Change Findings

File: kubernetes/apps/ai/litellm/instance/models.yaml

  • Line 68: Changed model: openai/automodel: openai/auto/smart
  • Lines 66-67: Updated comment to accurately describe the behavioral difference

The change is minimal (3 additions, 4 deletions) and focused on a single configuration value. The PR body provides direct empirical evidence from testing against the OmniRoute service showing:

  • auto → uses lkgp (last-known-good-provider) strategy, no live scoring
  • auto/smart → uses RulesStrategy with live scoring on quota/health/cost/taskFit (score 0.828 observed)

Standards Compliance

  • ✅ Follows existing YAML formatting and comment conventions in the file
  • ✅ Uses the established LiteLLMModel CR pattern with proxyRef: litellm
  • ✅ Maintains the same apiBase and authentication convention (non-empty api_key with REQUIRE_API_KEY=false)
  • ✅ Kustomize build validation passes (confirmed in PR test plan)
  • ✅ Conventional Commit title format: fix(litellm): route omniroute through auto/smart instead of bare auto

Tool Harness Findings

Tool harness planning pending; no findings to review.

Unknowns or Needs Verification

  • Post-rollout verification that OmniRoute logs show RulesStrategy scoring (not lkgp) for real LiteLLM calls — this is noted as a pending test plan item in the PR body and should be confirmed after deployment.
  • The OmniRoute image version (3.8.49 per helmrelease.yaml) supports the auto/smart model ID — not independently verified but the author's direct test confirms it works.

Summary

The change is correct, well-evidenced, and follows repository conventions. The behavioral improvement (live quality scoring vs. sticky provider selection) aligns with the intent of making OmniRoute the primary reviewer model with intelligent fallback. Approve.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant