Skip to main content

· One min read
MLflow maintainers

2.14.3 (2024-07-12)

MLflow 2.14.3 is a patch release that addresses bug fixes and additional documentation for released features

Features:

  • [Model Registry] Add support for server-side encryption when uploading files to AWS S3 (#12495, @artjen)

Bug fixes:

  • [Models] Fix stream trace logging with the OpenAI autologging implementation to record the correct chunk structure (#12629, @BenWilson2)
  • [Models] Fix batch inference behavior for Whisper-based translation models to allow for multiple audio file inputs (#12575, @B-Step62)

Documentation updates:

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.

· 2 min read
MLflow maintainers

MLflow 2.14.2 is a patch release that includes several important bug fixes and documentation enhancements.

Bug fixes:

  • [Models] Fix an issue with requirements inference error handling when disabling the default warning-only behavior (#12547, @B-Step62)
  • [Models] Fix dependency inference issues with Transformers models saved with the unified API llm/v1/xxx task definitions. (#12551, @B-Step62)
  • [Models / Databricks] Fix an issue with MLlfow log_model introduced in MLflow 2.13.0 that causes Databricks DLT service to crash in some situations (#12514, @WeichenXu123)
  • [Models] Fix an output data structure issue with the predict_stream implementation for LangChain AgentExecutor and other non-Runnable chains (#12518, @B-Step62)
  • [Tracking] Fix an issue with the predict_proba inference method in the sklearn flavor when loading an sklearn pipeline object as pyfunc (#12554, @WeichenXu123)
  • [Tracking] Fix an issue with the Tracing implementation where other services usage of OpenTelemetry would activate MLflow tracing and cause errors (#12457, @B-Step62)
  • [Tracking / Databricks] Correct an issue when running dependency inference in Databricks that can cause duplicate dependency entries to be logged (#12493, @sunishsheth2009)

Documentation updates:

  • [Docs] Add documentation and guides for the MLflow tracing schema (#12521, @BenWilson2)

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.

· One min read
MLflow maintainers

MLflow 2.14.1 is a patch release that contains several bug fixes and documentation improvements

Bug fixes:

Documentation updates:

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.

· 3 min read
MLflow maintainers

MLflow 2.14.0 includes several major features and improvements that we're very excited to announce!

Major features:

  • MLflow Tracing: Tracing is powerful tool designed to enhance your ability to monitor, analyze, and debug GenAI applications by allowing you to inspect the intermediate outputs generated as your application handles a request. This update comes with an automatic LangChain integration to make it as easy as possible to get started, but we've also implemented high-level fluent APIs, and low-level client APIs for users who want more control over their trace instrumentation. For more information, check out the guide in our docs!
  • Unity Catalog Integration: The MLflow Deployments server now has an integration with Unity Catalog, allowing you to leverage registered functions as tools for enhancing your chat application. For more information, check out this guide!
  • OpenAI Autologging: Autologging support has now been added for the OpenAI model flavor. With this feature, MLflow will automatically log a model upon calling the OpenAI API. Each time a request is made, the inputs and outputs will be logged as artifacts. Check out the guide for more information!

Other Notable Features:

Bug fixes:

  • [Model Registry] Handle no headers presigned url (#12349, @artjen)
  • [Models] Fix docstring order for ChatResponse class and make object field immutable (#12305, @xq-yin)
  • [Databricks] Fix root user checking in get_databricks_nfs_temp_dir and get_databricks_local_temp_dir (#12186, @WeichenXu123)
  • [Tracking] fix _init_server process terminate hang (#12076, @zhouyou9505)
  • [Scoring] Fix MLflow model container and slow test CI failure (#12042, @WeichenXu123)

Documentation updates:

  • [Docs] Enhance documentation for autologging supported libraries (#12356, @xq-yin)
  • [Tracking, Docs] Adding Langchain as a code example and doc string (#12325, @sunishsheth2009)
  • [Tracking, Docs] Adding Pyfunc as a code example and doc string (#12336, @sunishsheth2009)
  • [Docs] Add FAQ entry for viewing trace exceptions in Docs (#12309, @BenWilson2)
  • [Docs] Add note about 'fork' vs 'spawn' method when using multiprocessing for parallel runs (#12337, @B-Step62)
  • [Docs] Fix type error in tracing example for function wrapping (#12338, @B-Step62)
  • [Docs] Add example usage of "extract_fields" for mlflow.search_traces in documentation (#12319, @xq-yin)
  • [Docs] Update LangChain Autologging docs (#12306, @B-Step62)
  • [Docs] Add Tracing documentation (#12191, @BenWilson2)

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.

· One min read
MLflow maintainers

MLflow 2.13.2 is a patch release that includes several bug fixes and integration improvements to existing features.

Features:

Bug fixes:

  • [Models] Fix inferring mlflow[gateway] as dependency when using mlflow.deployment module (#12264, @B-Step62)
  • [Tracking] Flatten the model_config with / before logging as params (#12190, @sunishsheth2009)

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.

· One min read
MLflow maintainers

MLflow 2.13.1 is a patch release that includes several bug fixes and integration improvements to existing features. New features that are introduced in this patch release are intended to provide a foundation to further major features that will be released in the next release.

Features:

  • [MLflow] Add mlflow[langchain] extra that installs recommended versions of langchain with MLflow (#12182, @sunishsheth2009)
  • [Tracking] Adding the ability to override the model_config in langchain flavor if loaded as pyfunc (#12085, @sunishsheth2009)
  • [Model Registry] Automatically detect if Presigned URLs are required for Unity Catalog (#12177, @artjen)

Bug fixes:

  • [Tracking] Use getUserLocalTempDir and getUserNFSTempDir to replace getReplLocalTempDir and getReplNFSTempDir in databricks runtime (#12105, @WeichenXu123)
  • [Model] Updating chat model to take default input_example and predict to accept json during inference (#12115, @sunishsheth2009)
  • [Tracking] Automatically call load_context when inferring signature in pyfunc (#12099, @sunishsheth2009)

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.

· 3 min read
MLflow maintainers

MLflow 2.13.0 includes several major features and improvements

With this release, we're happy to introduce several features that enhance the usability of MLflow broadly across a range of use cases.

Major Features and Improvements:

  • Streamable Python Models: The newly introduced predict_stream API for Python Models allows for custom model implementations that support the return of a generator object, permitting full customization for GenAI applications.

  • Enhanced Code Dependency Inference: A new feature for automatically inferrring code dependencies based on detected dependencies within a model's implementation. As a supplement to the code_paths parameter, the introduced infer_model_code_paths option when logging a model will determine which additional code modules are needed in order to ensure that your models can be loaded in isolation, deployed, and reliably stored.

  • Standardization of MLflow Deployment Server: Outputs from the Deployment Server's endpoints now conform to OpenAI's interfaces to provide a simpler integration with commonly used services.

Features:

  • [Deployments] Update the MLflow Deployment Server interfaces to be OpenAI compatible (#12003, @harupy)
  • [Deployments] Add Togetherai as a supported provider for the MLflow Deployments Server (#11557, @FotiosBistas)
  • [Models] Add predict_stream API support for Python Models (#11791, @WeichenXu123)
  • [Models] Enhance the capabilities of logging code dependencies for MLFlow models (#11806, @WeichenXu123)
  • [Models] Add support for RunnableBinding models in LangChain (#11980, @serena-ruan)
  • [Model Registry / Databricks] Add support for renaming models registered to Unity Catalog (#11988, @artjen)
  • [Model Registry / Databricks] Improve the handling of searching for invalid components from Unity Catalog registered models (#11961, @artjen)
  • [Model Registry] Enhance retry logic and credential refresh to mitigate cloud provider token expiration failures when uploading or downloading artifacts (#11614, @artjen)
  • [Artifacts / Databricks] Add enhanced lineage tracking for models loaded from Unity Catalog (#11305, @shichengzhou-db)
  • [Tracking] Add resourcing metadata to Pyfunc models to aid in model serving environment configuration (#11832, @sunishsheth2009)
  • [Tracking] Enhance LangChain signature inference for models as code (#11855, @sunishsheth2009)

Bug fixes:

  • [Artifacts] Prohibit invalid configuration options for multi-part upload on AWS (#11975, @ian-ack-db)
  • [Model Registry] Enforce registered model metadata equality (#12013, @artjen)
  • [Models] Correct an issue with hasattr references in AttrDict usages (#11999, @BenWilson2)

Documentation updates:

  • [Docs] Simplify the main documentation landing page (#12017, @BenWilson2)
  • [Docs] Add documentation for the expanded code path inference feature (#11997, @BenWilson2)
  • [Docs] Add documentation guidelines for the predict_stream API (#11976, @BenWilson2)
  • [Docs] Add support for enhanced Documentation with the JFrog MLflow Plugin (#11426, @yonarbel)

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.

· 2 min read
MLflow maintainers

MLflow 2.12.2 is a patch release that includes several bug fixes and integration improvements to existing features.

New features that are introduced in this patch release are intended to provide a foundation to further major features that will be released in the next 2 minor releases.

Features:

  • [Models] Add an environment configuration flag to enable raising an exception instead of a warning for failures in model dependency inference (#11903, @BenWilson2)
  • [Models] Add support for the llm/v1/embeddings task in the Transformers flavor to unify the input and output structures for embedding models (#11795, @B-Step62)
  • [Models] Introduce model streaming return via predict_stream() for custom pyfunc models capable of returning a stream response (#11791, #11895, @WeichenXu123)
  • [Evaluate] Add support for overriding the entire model evaluation judgment prompt within mlflow.evaluate for GenAI models (#11912, @apurva-koti)
  • [Tracking] Add support for defining deployment resource metadata to configure deployment resources within pyfunc models (#11832, #11825, #11804, @sunishsheth2009)
  • [Tracking] Add support for logging LangChain and custom pyfunc models as code (#11855, #11842, @sunishsheth2009)
  • [Tracking] Modify MLflow client's behavior to read from a global asynchronous configuration state (#11778, #11780, @chenmoneygithub)
  • [Tracking] Enhance system metrics data collection to include a GPU power consumption metric (#11747, @chenmoneygithub)

Bug fixes:

  • [Models] Fix a validation issue when performing signature validation if params are specified (#11838, @WeichenXu123)
  • [Databricks] Fix an issue where models cannot be loaded in the Databricks serverless runtime (#11758, @WeichenXu123)
  • [Databricks] Fix an issue with the Databricks serverless runtime where scaled workers do not have authorization to read from the driver NFS mount (#11757, @WeichenXu123)
  • [Databricks] Fix an issue in the Databricks serverless runtime where a model loaded via a spark_udf for inference fails due to a configuration issue (#11752, @WeichenXu123)
  • [Server-infra] Upgrade the gunicorn dependency to version 22 to address a third-party security issue (#11742, @maitreyakv)

Documentation updates:

  • [Docs] Add additional guidance on search syntax restrictions for search APIs (#11892, @BenWilson2)
  • [Docs] Fix an issue with the quickstart guide where the Keras example model is defined incorrectly (#11848, @horw)
  • [Docs] Provide fixes and updates to LangChain tutorials and guides (#11802, @BenWilson2)
  • [Docs] Fix the model registry example within the docs for correct type formatting (#11789, @80rian)

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.

· 6 min read
MLflow maintainers

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 New Features

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

LFI 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)

Detailed Release Notes

Features:

  • [Models] Add the PromptFlow flavor (#11311, #11385 @brynn-code)
  • [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)

Security fixes:

  • [Model Registry] Fix Local File Read/Path Traversal (LFI) bypass vulnerability (#11376, @WeichenXu123)

Bug fixes:

  • [Model Registry] Fix a registry configuration error that occurs within Databricks serverless clusters (#11719, @WeichenXu123)
  • [Model Registry] Delete registered model permissions when deleting the underlying models (#11601, @B-Step62)
  • [Model Registry] Disallow % in model names to prevent URL mangling within the UI (#11474, @daniellok-db)
  • [Models] Fix an issue where crtically important environment configurations were not being captured as langchain dependencies during model logging (#11679, @serena-ruan)
  • [Models] Patch the LangChain loading functions to handle uncorrectable pickle-related exceptions that are thrown when loading a model in certain versions (#11582, @B-Step62)
  • [Models] Fix a regression in the sklearn flavor to reintroduce support for custom prediction methods (#11577, @B-Step62)
  • [Models] Fix an inconsistent and unreliable implementation for batch support within the langchain flavor (#11485, @WeichenXu123)
  • [Models] Fix loading remote-code-dependent transformers models that contain custom code (#11412, @daniellok-db)
  • [Models] Remove the legacy conversion logic within the transformers flavor that generates an inconsistent input example display within the MLflow UI (#11508, @B-Step62)
  • [Models] Fix an issue with Keras autologging iteration input handling (#11394, @WeichenXu123)
  • [Models] Fix an issue with keras autologging training dataset generator (#11383, @WeichenXu123)
  • [Tracking] Fix an issue where a module would be imported multiple times when logging a langchain model (#11553, @sunishsheth2009)
  • [Tracking] Fix the sampling logic within the GetSampledHistoryBulkInterval API to produce more consistent results when displayed within the UI (#11475, @daniellok-db)
  • [Tracking] Fix import issues and properly resolve dependencies of langchain and lanchain_community within langchain models when logging (#11450, @sunishsheth2009)
  • [Tracking] Improve the performance of asynchronous logging (#11346, @chenmoneygithub)
  • [Deployments] Add middle-of-name truncation to excessively long deployment names for Sagemaker image deployment (#11523, @BenWilson2)

Documentation updates:

  • [Docs] Add clarity and consistent documentation for code_paths docstrings in API documentation (#11675, @BenWilson2)
  • [Docs] Add documentation guidance for sentence-transformers OpenAI-compatible API interfaces (#11373, @es94129)

For a comprehensive list of changes, see the release change log, and check out the latest documentation on mlflow.org.

· One min read
MLflow maintainers

MLflow 2.12.0 has been yanked from PyPI due to a packaging issue. MLflow 2.12.1, with fixes applied, is its replacement.