Repository navigation
feat(dashboard): configure classifier vision input - #39840
Merged
Merged
Conversation
tin-berri
requested review from
ryan-crabbe-berri and
yuneng-berri
as code owners
September 5, 2026 01:17
Contributor
Greptile SummaryAdds dashboard controls for enabling classifier vision input and setting the maximum number of images per request. The change preserves the vision configuration in create and edit payloads, removes it when disabled, and adds component and payload tests for these flows Confidence Score: 5/5The PR appears safe to merge with no actionable correctness or security issues identified The dashboard control follows the backend default and minimum constraint, persists vision settings through create and edit payloads, and removes the vision object when disabled
|
| Filename | Overview |
|---|---|
| ui/litellm-dashboard/src/components/add_model/ClassifierVisionConfig.tsx | Adds the classifier vision toggle and positive-integer image-cap input |
| ui/litellm-dashboard/src/components/add_model/ClassificationMethodConfig.tsx | Displays classifier vision controls for LLM classifier configurations |
| ui/litellm-dashboard/src/components/add_model/build_complexity_router_config.ts | Extends the classifier configuration wire type to include vision settings |
| ui/litellm-dashboard/src/components/add_model/ComplexityRouterConfig.test.tsx | Tests visibility, defaults, clamping, and state updates for vision controls |
| ui/litellm-dashboard/src/components/add_model/build_complexity_router_config.test.ts | Tests preservation and omission of vision settings in router payloads |
| ui/litellm-dashboard/src/components/edit_auto_router/edit_auto_router_modal.test.tsx | Tests edit hydration, save round trips, and disabling stored vision settings |
Reviews (1): Last reviewed commit: "feat(dashboard): configure classifier vi..." | Re-trigger Greptile
Base automatically changed from
litellm_classifier_vision_image_strip
to
litellm_internal_staging
September 5, 2026 01:59
tin-berri
force-pushed
the
litellm_classifier_vision_ui
branch
from
September 5, 2026 03:37
f6d1652 to
56cd174
Compare
tin-berri
force-pushed
the
litellm_classifier_vision_ui
branch
from
September 5, 2026 04:56
56cd174 to
4f4beb8
Compare
tin-berri
enabled auto-merge (squash)
September 5, 2026 05:18
yuneng-berri
approved these changes
Sep 5, 2026
6 of 7 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TLDR
Problem this solves:
How it solves it:
User Flow
Before: an operator can create or edit an auto router in the dashboard, but cannot configure classifier image input
After: the operator can enable image classification and set its request cap where they configure the classifier
Relevant issues
Linear ticket
Resolves LIT-6994
Pre-Submission checklist
Screenshots / Proof of Fix
Captured against a live proxy on :4010 and the dashboard dev server on :3011, driven headlessly. The control sits in Advanced: Classification Method, directly under the classifier circuit breaker, and only renders for an LLM classifier.
Off by default, no cap shown
The switch starts off and the image cap is not rendered, so an existing router keeps its current behavior and its payload is unchanged
On, with the per-request cap
Turning it on reveals the cap, defaulted to 1 and set to 2 here
In context, beside the sibling classifier controls
A stored setting hydrates back into the edit form
A router created through the API with
vision: {enabled: true, max_images: 2}was reopened in the dashboard. The switch reads on and the cap reads 2, which is the create/store/hydrate round tripReproduce it:
STORE_MODEL_IN_DB=Trueand a few chat models, thennpm run devinui/litellm-dashboardclassifier_llm_configcarries novisionkey in GET /v2/model/infoType
🆕 New Feature
Caveats (if any)
Low