Repository navigation
feat(model_hub): surface model_info.description in Model Hub - #37762
Merged
ryan-crabbe-berri merged 2 commits intoSep 14, 2026
Merged
Conversation
…nd Model Hub UI Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
devin-ai-integration
Bot
requested a review
from ryan-crabbe-berri
as a code owner
August 21, 2026 02:44
Contributor
Greptile SummaryThe PR surfaces configured model descriptions through the model-group API and displays them in authenticated and public Model Hub detail modals.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| litellm/router.py | Precomputes the model-group description and supplies it during immutable model construction, resolving the prior inline concern. |
| litellm/types/router.py | Adds an optional description field to the model-group response type. |
| tests/test_litellm/test_router.py | Verifies that a description on a later deployment is surfaced for the group. |
| ui/litellm-dashboard/src/components/AIHub/ModelHubTable.tsx | Displays the optional description in the authenticated Model Hub details modal. |
| ui/litellm-dashboard/src/components/public_model_hub.tsx | Displays the optional description in the public Model Hub details modal. |
| ui/litellm-dashboard/src/lib/http/schema.d.ts | Updates the generated API schema with the nullable description field. |
Reviews (2): Last reviewed commit: "refactor(router): aggregate model group ..." | Re-trigger Greptile
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
…mutation Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Contributor
Author
|
Fixed in 342b93f: the description is now computed once before the loop, so no in-place mutation remains |
Contributor
Author
ryan-crabbe-berri
approved these changes
Sep 14, 2026
Merged
3 of 5 tasks
mateo-berri
added a commit
to mayank-affirm/litellm
that referenced
this pull request
Sep 29, 2026
Rebuilds the branch on current main so the PR diff is only the Mantle overflow mapping and its test. Drops the stale litellm_internal_staging drift (BerriAI#37762, BerriAI#40993, BerriAI#34939) the branch had picked up.
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:
model_info.description, unlike Agent/MCP/Skill HubsHow it solves it:
/model_group/infonow returnsdescriptionfrom configmodel_infoUser Flow
Before: an admin adds a description to a model in config.yaml but users never see it
model_info: {description: "GPT-5.6-Sol is a state-of-the-art language model..."}on a model in config.yaml and restarts the proxydescriptionfieldAfter: the same config surfaces the description to users
model_info.descriptionin config.yaml and restarts the proxy"description": "GPT-5.6-Sol is a state-of-the-art language model..."for that groupRelevant issues
Linear ticket
Resolves LIT-5933
Pre-Submission checklist
Please complete all items before asking a LiteLLM maintainer to review your PR
uv run pytest tests/test_litellm/<your_test_file>.py -v. Leave the suites (make test-unit-*,make test-unit) to CI: it finishes in ~15 minutes where a laptop takes an hour or more@greptileaito re-request a review after pushing changes)Delays in PR merge?
If you're seeing a delay in your PR being merged, ping the LiteLLM Team on Slack (#pr-review).
Screenshots / Proof of Fix
Shared setup: add to a model in
litellm/proxy/dev_config.yamlthen start the proxy (
python litellm/proxy/proxy_cli.py --config litellm/proxy/dev_config.yaml) and the dashboard (npm run devinui/litellm-dashboard)Before (65b4ac0)
curl -s http://localhost:4000/model_group/info -H "Authorization: Bearer sk-1234" | jq '.data[0]'has nodescriptionkeyAfter (342b93f)
"description": "GPT-5.6-Sol is a state-of-the-art language model designed for advanced natural language understanding and generation tasks."model_hub_table, since the prebuilt/uibundle predates this change; the group was made public vialitellm_settings.public_model_groups)Type
🆕 New Feature
Caveats (if any)
Link to Devin session: https://app.devin.ai/sessions/5d25063e3ae64fe8ad207cf1b5f25434