[Endpoints] [14/x] Models management UI#19074
Closed
BenWilson2 wants to merge 15 commits intomlflow:masterfrom
Closed
[Endpoints] [14/x] Models management UI#19074BenWilson2 wants to merge 15 commits intomlflow:masterfrom
BenWilson2 wants to merge 15 commits intomlflow:masterfrom
Conversation
This was referenced Nov 27, 2025
a7ab697 to
df382b8
Compare
29 tasks
f5495fd to
9aedf56
Compare
Contributor
|
Documentation preview for 03e2118 is available at: More info
|
71a60e7 to
e106976
Compare
Signed-off-by: Ben Wilson <benjamin.wilson@databricks.com>
Signed-off-by: Ben Wilson <benjamin.wilson@databricks.com>
Signed-off-by: Ben Wilson <benjamin.wilson@databricks.com>
Signed-off-by: Ben Wilson <benjamin.wilson@databricks.com>
Signed-off-by: Ben Wilson <benjamin.wilson@databricks.com>
Signed-off-by: Ben Wilson <benjamin.wilson@databricks.com>
Signed-off-by: Ben Wilson <benjamin.wilson@databricks.com>
Signed-off-by: Ben Wilson <benjamin.wilson@databricks.com>
Signed-off-by: Ben Wilson <benjamin.wilson@databricks.com>
Signed-off-by: Ben Wilson <benjamin.wilson@databricks.com>
e106976 to
be33e7b
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds a models management UI for the Gateway feature, enabling users to view, create, edit, and delete model definitions through the web interface. Model definitions represent reusable configurations that connect API keys (secrets) to specific provider models (e.g., OpenAI's GPT-4), which can then be attached to endpoints.
Key changes:
- Adds comprehensive model definitions CRUD UI with list, detail, create, edit, and delete views
- Implements frontend components for model management with provider/model selection and filtering
- Adds utility functions for provider grouping, date formatting, and model configuration display
- Extends Gateway API integration with hooks for model definition operations
Reviewed changes
Copilot reviewed 109 out of 116 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
tests/store/tracking/test_secret_cache.py |
Adds comprehensive tests for the secret cache encryption functionality |
tests/store/tracking/test_rest_store.py |
Adds REST API tests for secrets, endpoints, and model definitions |
tests/server/test_handlers.py |
Adds handler tests for LiteLLM provider integration endpoints |
tests/entities/test_gateway_secrets.py |
Adds entity tests for Gateway secret objects |
tests/entities/test_gateway_endpoint.py |
Adds entity tests for Gateway endpoint and model definition objects |
tests/cli/test_cryptography.py |
Adds CLI tests for KEK rotation functionality |
requirements/genai-requirements.yaml |
Adds LiteLLM as a GenAI dependency |
pyproject.toml |
Adds LiteLLM version constraint to GenAI extras |
pyproject.release.toml |
Mirrors LiteLLM dependency addition for releases |
mlflow/utils/providers.py |
Adds provider configuration and model metadata from LiteLLM |
mlflow/utils/cryptography.py |
Implements AES-GCM encryption for secrets with KEK/DEK envelope encryption |
mlflow/store/tracking/sqlalchemy_store.py |
Adds database operations for secrets, model definitions, and endpoints |
mlflow/store/tracking/rest_store.py |
Adds REST client methods for Gateway API endpoints |
mlflow/store/tracking/dbmodels/models.py |
Adds database entity conversion methods |
mlflow/store/tracking/abstract_store.py |
Defines abstract interface for Gateway operations |
mlflow/store/tracking/_secret_cache.py |
Implements ephemeral encryption cache for secrets |
mlflow/server/js/src/lang/default/en.json |
Adds internationalization strings for Gateway UI |
mlflow/server/js/src/gateway/utils/providerUtils.ts |
Adds provider grouping and formatting utilities |
mlflow/server/js/src/gateway/utils/dateUtils.ts |
Adds timestamp conversion utilities |
mlflow/server/js/src/gateway/utils/dateUtils.test.ts |
Adds tests for date utilities |
mlflow/server/js/src/gateway/types.ts |
Defines TypeScript types for Gateway entities |
mlflow/server/js/src/gateway/routes.ts |
Defines routing paths for Gateway pages |
mlflow/server/js/src/gateway/route-defs.ts |
Configures route definitions with lazy loading |
mlflow/server/js/src/gateway/pages/ModelDefinitionsPage.tsx |
Implements main models management page |
mlflow/server/js/src/gateway/hooks/useUpdateSecretMutation.ts |
Adds hook for updating secrets |
mlflow/server/js/src/gateway/hooks/useSecretQuery.ts |
Adds hook for fetching secret details |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
🥞 Stacked PR
Use this link to review incremental changes.
Related Issues/PRs
#xxxWhat changes are proposed in this pull request?
Adds the models management UI for cleanup of orphaned models / management of reusable model definitions and configurations for endpoints.
How is this PR tested?
Does this PR require documentation update?
Release Notes
Is this a user-facing change?
What component(s), interfaces, languages, and integrations does this PR affect?
Components
area/tracking: Tracking Service, tracking client APIs, autologgingarea/models: MLmodel format, model serialization/deserialization, flavorsarea/model-registry: Model Registry service, APIs, and the fluent client calls for Model Registryarea/scoring: MLflow Model server, model deployment tools, Spark UDFsarea/evaluation: MLflow model evaluation features, evaluation metrics, and evaluation workflowsarea/gateway: MLflow AI Gateway client APIs, server, and third-party integrationsarea/prompts: MLflow prompt engineering features, prompt templates, and prompt managementarea/tracing: MLflow Tracing features, tracing APIs, and LLM tracing functionalityarea/projects: MLproject format, project running backendsarea/uiux: Front-end, user experience, plotting, JavaScript, JavaScript dev serverarea/build: Build and test infrastructure for MLflowarea/docs: MLflow documentation pagesHow should the PR be classified in the release notes? Choose one:
rn/none- No description will be included. The PR will be mentioned only by the PR number in the "Small Bugfixes and Documentation Updates" sectionrn/breaking-change- The PR will be mentioned in the "Breaking Changes" sectionrn/feature- A new user-facing feature worth mentioning in the release notesrn/bug-fix- A user-facing bug fix worth mentioning in the release notesrn/documentation- A user-facing documentation change worth mentioning in the release notesShould this PR be included in the next patch release?
Yesshould be selected for bug fixes, documentation updates, and other small changes.Noshould be selected for new features and larger changes. If you're unsure about the release classification of this PR, leave this unchecked to let the maintainers decide.What is a minor/patch release?
Bug fixes, doc updates and new features usually go into minor releases.
Bug fixes and doc updates usually go into patch releases.