MLflow 2.12.1 includes several major features and improvements
With this release, we're pleased to introduce several major new features that are focused on enhanced GenAI support, Deep Learning workflows involving images, expanded table logging functionality, and general usability enhancements within the UI and external integrations.
Major Features and Improvements:
PromptFlow: Introducing the new PromptFlow flavor, designed to enrich the GenAI landscape within MLflow. This feature simplifies the creation and management of dynamic prompts, enhancing user interaction with AI models and streamlining prompt engineering processes. (#11311, #11385@brynn-code)
Enhanced Metadata Sharing for Unity Catalog: MLflow now supports the ability to share metadata (and not model weights) within Databricks Unity Catalog. When logging a model, this functionality enables the automatic duplication of metadata into a dedicated subdirectory, distinct from the model’s actual storage location, allowing for different sharing permissions and access control limits. (#11357, #11720@WeichenXu123)
Code Paths Unification and Standardization: We have unified and standardized the code_paths parameter across all MLflow flavors to ensure a cohesive and streamlined user experience. This change promotes consistency and reduces complexity in the model deployment lifecycle. (#11688, @BenWilson2)
ChatOpenAI and AzureChatOpenAI Support: Support for the ChatOpenAI and AzureChatOpenAI interfaces has been integrated into the LangChain flavor, facilitating seamless deployment of conversational AI models. This development opens new doors for building sophisticated and responsive chat applications leveraging cutting-edge language models. (#11644, @B-Step62)
Custom Models in Sentence-Transformers: The sentence-transformers flavor now supports custom models, allowing for a greater flexibility in deploying tailored NLP solutions. (#11635, @B-Step62)
Native MLflow Image support in the log_image API: Added support for optimized image logging, including step-based iterative logging for images generated as part of a training run. This feature enables the ability to track your image generation, classification, segmentation, enhancement and object detection deep learning models effortlessly. (#11243, #11404, @jessechancy)
Image Support for Log Table: With the addition of image support in log_table, MLflow enhances its capabilities in handling rich media. This functionality allows for direct logging and visualization of images within the platform, improving the interpretability and analysis of visual data. (#11535, @jessechancy)
Streaming Support for LangChain: The newly introduced predict_stream API for LangChain models supports streaming outputs, enabling real-time output for chain invocation via pyfunc. This feature is pivotal for applications requiring continuous data processing and instant feedback. (#11490, #11580@WeichenXu123)
Security Fixes:
Security Patch: Addressed a critical Local File Read/Path Traversal vulnerability within the Model Registry, ensuring robust protection against unauthorized access and securing user data integrity. (#11376, @WeichenXu123)
[Models] Add a new predict_stream API for streamable output for Langchain models and the DatabricksDeploymentClient (#11490, #11580@WeichenXu123)
[Models] Deprecate and add code_paths alias for code_path in pyfunc to be standardized to other flavor implementations (#11688, @BenWilson2)
[Models] Add support for custom models within the sentence-transformers flavor (#11635, @B-Step62)
[Models] Enable Spark MapType support within model signatures when used with Spark udf inference (#11265, @WeichenXu123)
[Models] Add support for metadata-only sharing within Unity Catalog through the use of a subdirectory (#11357, #11720@WeichenXu123)
[Models] Add Support for the ChatOpenAI and AzureChatOpenAI LLM interfaces within the LangChain flavor (#11644, @B-Step62)
[Artifacts] Add support for utilizing presigned URLs when uploading and downloading files when using Unity Catalog (#11534, @artjen)
[Artifacts] Add a new Image object for handling the logging and optimized compression of images (#11404, @jessechancy)
[Artifacts] Add time and step-based metadata to the logging of images (#11243, @jessechancy)
[Artifacts] Add the ability to log a dataset to Unity Catalog by means of UCVolumeDatasetSource (#11301, @chenmoneygithub)
[Tracking] Remove the restrictions for logging a table in Delta format to no longer require running within a Databricks environment (#11521, @chenmoneygithub)
[Tracking] Add support for logging mlflow.Image files within tables (#11535, @jessechancy)
[Server-infra] Introduce override configurations for controlling how http retries are handled (#11590, @BenWilson2)
[Deployments] Implement chat & chat streaming for Anthropic within the MLflow deployments server (#11195, @gabrielfu)
MLflow 2.12.1 includes several major features and improvements
With this release, we're pleased to introduce several major new features that are focused on enhanced GenAI support, Deep Learning workflows involving images, expanded table logging functionality, and general usability enhancements within the UI and external integrations.
Major Features and Improvements:
PromptFlow: Introducing the new PromptFlow flavor, designed to enrich the GenAI landscape within MLflow. This feature simplifies the creation and management of dynamic prompts, enhancing user interaction with AI models and streamlining prompt engineering processes. (#11311, #11385@brynn-code)
Enhanced Metadata Sharing for Unity Catalog: MLflow now supports the ability to share metadata (and not model weights) within Databricks Unity Catalog. When logging a model, this functionality enables the automatic duplication of metadata into a dedicated subdirectory, distinct from the model’s actual storage location, allowing for different sharing permissions and access control limits. (#11357, #11720@WeichenXu123)
Code Paths Unification and Standardization: We have unified and standardized the code_paths parameter across all MLflow flavors to ensure a cohesive and streamlined user experience. This change promotes consistency and reduces complexity in the model deployment lifecycle. (#11688, @BenWilson2)
ChatOpenAI and AzureChatOpenAI Support: Support for the ChatOpenAI and AzureChatOpenAI interfaces has been integrated into the LangChain flavor, facilitating seamless deployment of conversational AI models. This development opens new doors for building sophisticated and responsive chat applications leveraging cutting-edge language models. (#11644, @B-Step62)
Custom Models in Sentence-Transformers: The sentence-transformers flavor now supports custom models, allowing for a greater flexibility in deploying tailored NLP solutions. (#11635, @B-Step62)
Image Support for Log Table: With the addition of image support in log_table, MLflow enhances its capabilities in handling rich media. This functionality allows for direct logging and visualization of images within the platform, improving the interpretability and analysis of visual data. (#11535, @jessechancy)
Streaming Support for LangChain: The newly introduced predict_stream API for LangChain models supports streaming outputs, enabling real-time output for chain invocation via pyfunc. This feature is pivotal for applications requiring continuous data processing and instant feedback. (#11490, #11580@WeichenXu123)
Security Fixes:
Security Patch: Addressed a critical Local File Read/Path Traversal vulnerability within the Model Registry, ensuring robust protection against unauthorized access and securing user data integrity. (#11376, @WeichenXu123)
[Models] Add a new predict_stream API for streamable output for Langchain models and the DatabricksDeploymentClient (#11490, #11580@WeichenXu123)
[Models] Deprecate and add code_paths alias for code_path in pyfunc to be standardized to other flavor implementations (#11688, @BenWilson2)
[Models] Add support for custom models within the sentence-transformers flavor (#11635, @B-Step62)
[Models] Enable Spark MapType support within model signatures when used with Spark udf inference (#11265, @WeichenXu123)
[Models] Add support for metadata-only sharing within Unity Catalog through the use of a subdirectory (#11357, #11720@WeichenXu123)
[Models] Add Support for the ChatOpenAI and AzureChatOpenAI LLM interfaces within the LangChain flavor (#11644, @B-Step62)
[Artifacts] Add support for utilizing presigned URLs when uploading and downloading files when using Unity Catalog (#11534, @artjen)
[Artifacts] Add a new Image object for handling the logging and optimized compression of images (#11404, @jessechancy)
[Artifacts] Add time and step-based metadata to the logging of images (#11243, @jessechancy)
[Artifacts] Add the ability to log a dataset to Unity Catalog by means of UCVolumeDatasetSource (#11301, @chenmoneygithub)
[Tracking] Remove the restrictions for logging a table in Delta format to no longer require running within a Databricks environment (#11521, @chenmoneygithub)
[Tracking] Add support for logging mlflow.Image files within tables (#11535, @jessechancy)
[Server-infra] Introduce override configurations for controlling how http retries are handled (#11590, @BenWilson2)
[Deployments] Implement chat & chat streaming for Anthropic within the MLflow deployments server (#11195, @gabrielfu)
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/opendp/smartnoise-sdk/network/alerts).
Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
Bumps mlflow from 2.9.2 to 2.12.1.
Release notes
Sourced from mlflow's releases.
... (truncated)
Changelog
Sourced from mlflow's changelog.
... (truncated)
Commits
328242e
Runpython3 dev/update_mlflow_versions.py pre-release ...
(#11732)37648ac
Fixsetuptools.package-data
(#11731)bfa525e
Runpython3 dev/update_mlflow_versions.py pre-release ...
(#11728)475c4d4
Runpython3 dev/update_requirements.py --requirements-...
(#11726)bbb70de
Runpython3 dev/update_ml_package_versions.py
(#11727)35b6ec8
Runpython3 dev/update_pypi_package_index.py
(#11725)b16f0ac
Fix Typos in the MLflow Tracking artifact store guide (#11723)00f8b47
Fix dataset _to_mlflow_entity (#11722)9fbd6a4
Use pre-commit to format files in autoformat workflow (#11718)e608d13
Update metadata sharing to only include four files (#11721)You can trigger a rebase of this PR by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show