news 2026/9/10 23:06:36

MLflow 2.x 版本演进全解析:从 2.0 到 2.22 的 GenAI、Tracing 与 MLOps 能力跃迁

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MLflow 2.x 版本演进全解析:从 2.0 到 2.22 的 GenAI、Tracing 与 MLOps 能力跃迁

MLflow 2.x 版本演进全解析:从 2.0 到 2.22 的 GenAI、Tracing 与 MLOps 能力跃迁

【免费下载链接】mlflowThe open source AI engineering platform for agents, LLMs, and ML models. MLflow enables teams of all sizes to debug, evaluate, monitor, and optimize production-quality AI applications while controlling costs and managing access to models and data.项目地址: https://gitcode.com/GitHub_Trending/ml/mlflow

MLflow 2.x 系列是 MLflow 从经典 MLOps 平台向面向 Agent、LLM 与生产级 AI 应用的可观测与治理平台转型的关键阶段。本文以官方发布日志 changelogs/v2.x.md 为骨架,系统梳理 2.0.1 至 2.22.1 期间每个版本的核心特性、破坏性变更与安全修复,并结合当前仓库源码(mlflow/tracing、mlflow/models、mlflow/gateway、mlflow/evaluation、mlflow/deployments、mlflow/dspy 等)验证这些能力的落地点,帮助你快速判断各版本的升级价值、规划迁移路径,并理解 MLflow 现役 API 的演进脉络。读完本文,你将掌握 2.x 期间三大主线——MLflow Tracing、GenAI 模型接口(ChatModel/DSPy/LangChain)与部署/网关服务——各自从无到有的完整时间线及对应源码位置。

1. 版本总览与阅读地图

MLflow 2.x 版本跨度约两年半(2022 年 11 月至 2025 年 6 月),当前仓库主版本已演进到 mlflow/version.py 中的3.16.1.dev0,2.x 的多数能力已成为现役核心功能。下表按时间线汇总主要版本及其定位:

版本发布时间定位与代表特性
2.0.12022-11-142.x 起点:大量 1.x API 破坏性变更、MLflow Recipes、评分 REST API 重构
2.1.02022-12-21多分类 Recipes、Model Registry FileStore、MLmodelmetadata字段
2.2.x2023-02~03Recipes 评分校准与标签编码、PyTorch 原生 autologging、注册模型安全加固
2.3.x2023-04~05新增transformers/openai/langchain三大命名 flavor、HTTP Basic Auth
2.4.x2023-06~07数据集追踪 API、log_table/load_table、LLM 任务评估、AI Gateway 起步
2.5.02023-07-17AI Gateway 正式发布、Tracking/Model Registry 认证授权
2.6.02023-08-15PyFunc 推理额外参数、LangChain retriever 模型
2.7.x2023-09Prompt Engineering UI、MosaicML 提供商、Tracking Server 认证插件
2.8.x2023-10~11LLM 评估扩展、AI Gateway 新增 4 家提供商、异步日志
2.9.x2023-12安全补丁批次、AI Gateway 迁移至 Deployments API、copy_model_version
2.10.x2024-01~02Signature 支持 Object/Array、LangChain autologging、Deployments 流式与限流
2.11.x2024-03Deep Learning UI 重构、PEFT 支持、ChatModel 接口、Keras 3、checkpointing
2.12.x2024-04~05PromptFlow flavor、code_paths统一、predict_stream、Unity Catalog 元数据共享
2.13.x2024-05~06流式 Python 模型、代码依赖推断、Deployments OpenAI 兼容标准化
2.14.x2024-06~07MLflow Tracing 正式发布、Unity Catalog 集成、OpenAI Autologging
2.15.x2024-07~08LlamaIndex flavor、OpenAI Tracing、模型部署前校验、自定义指标定义记录
2.16.x2024-08~09LangGraph 支持、AutoGen Tracing、AI Gateway 插件体系、UC 开源版注册表
2.17.x2024-09~10ChatModel 工具调用、可调用 GenAI 评估指标、AI Gateway 撤销弃用
2.18.02024-11-18最低 Python 3.9、DSPy flavor、Fluent API 线程/多进程安全、LLM-as-a-Judge 扩容
2.19.02024-12-11ChatModel 统一为 ChatCompletion 模式、CrewAI/Anthropic Tracing、AnyType
2.20.x2025-01类型提示签名、Bedrock/Groq 一键 Tracing、Jupyter 内联 Trace UI、uv 校验
2.21.x2025-03文档站重构、Prompt Registry、FastAPI 评分服务器、增强 Tracing
2.22.x2025-04~06OpenAI Responses API Tracing、get_last_active_trace、Gemini Embeddings、ADLS 制品仓库

2. 2.x 起点:2.0.1 的破坏性变更与迁移要点

2.0.1 是进入 2.x 时代的里程碑版本,官方发布日志明确列出大量相对 1.x API 的破坏性变更。对仍在维护老代码的团队,这部分是升级前必读的迁移清单:

  • Python 版本下限提升:放弃 Python 3.7,要求Python >=3.8;到 2.18.0 进一步要求Python >=3.9
  • Recipes 取代 Pipelinesmlflow.pipelinesAPI 全部替换为mlflow.recipes
  • 默认环境管理器改为 virtualenv:模型推理与 Projects 执行的默认环境管理从conda变为virtualenv,CLI 的--no-conda参数替换为--env-manager='local'
  • 评分 REST API 重构:移除通过Content-Type头定义输入格式的方式,改用dataframe_splitdataframe_records等格式指示符,并支持多输出字段。
  • API 清理:移除实验/模型/运行的旧式listAPI、MlflowClient.download_artifactsmlflow.sklearn.eval_and_log_metricsmlflow.azureml模块;Keras 模型日志 API 移入mlflow.tensorflowflavor 并放弃 TensorFlow Estimators。
  • 服务行为变化mlflow server默认以--serve-artifacts模式运行;MLFLOW_EXPERIMENT_NAME环境变量在创建实验时总是生效。

这一版本的 Recipes 重构奠定了 mlflow/recipes 模块在 2.x 前期的地位;评分 API 的格式指示符设计也延续至今,体现在 mlflow/models/model.py 与评分服务相关实现中。

3. 经典 MLOps 能力的持续增强(2.1 ~ 2.8)

2.x 前中期在经典 MLOps 领域持续补强,以下能力贯穿 2.1 至 2.8:

  • 模型注册表:2.1.0 引入 Model Registry 的 FileStore 支持(源码见 mlflow/store/model_registry/file_store.py)与mlflow.search_registered_models()fluent API;2.8.0 加入copy_model_version客户端 API 用于跨注册模型复制模型版本,并扩展参数长度上限(500 → 6000)。
  • 模型 flavor 家族成型:2.3.0 一次性新增transformersopenailangchain三个命名 flavor;2.4.0 新增sentence_transformersjohnsnowlabs;2.4.1 为 transformers 增加max_shard_size参数与音频转写/分类 Pipeline 支持。
  • 数据集追踪:2.4.0 引入mlflow.datamlflow.log_input()数据集追踪 API,以及mlflow.log_table()/mlflow.load_table()评估表格日志 API;2.11.0 支持不加载到内存直接记录数据集。
  • 评估能力扩展:2.4.0 将mlflow.evaluate()扩展支持 LLM 任务;2.8.0 提供默认 LLM 评估指标、支持评估检索器(Retriever)模型与单参数函数。
  • Recipes 打磨:2.2.0 加入分类评分校准、自动标签编码、自定义数据切分与可配置 Run 名前缀。

这些能力在现役代码中的对应实现分别位于 mlflow/models/evaluation(评估)、mlflow/data(数据集)、mlflow/store/model_registry(注册表)等目录。

4. AI Gateway 与 Deployments 服务的演进主线(2.5 ~ 2.17)

4.1 AI Gateway 发布与提供商生态

2.5.0 正式发布MLflow AI Gateway,目标是统一组织内各种 LLM 提供商(OpenAI、Anthropic 等)的使用,提供标准化接口与集中式凭据管理。后续版本持续扩充:

  • 2.8.0:新增 AWS Bedrock、HuggingFace TGI、Google PaLM 2、AI21 Labs 四家提供商。
  • 2.7.0:新增 MosaicML 提供商,并发布集成在 Gateway 中的Prompt Engineering UI
  • 2.6.0:支持将 MLflow 模型服务路由到 AI Gateway。

当前仓库中的实现集中在 mlflow/gateway 目录,其中 mlflow/gateway/providers 存放各提供商适配器,mlflow/gateway/config.py 负责 Gateway 配置解析与校验,mlflow/gateway/cli.py 提供启动与路由管理命令。

4.2 弃用、撤销弃用与 OpenAI 兼容标准化

  • 2.9.0 迁移:AI Gateway 被迁移到 MLflow Deployments API(mlflow.deployments),官方文档提供了迁移指南。
  • 2.17.0 撤销弃用:官方重新考虑后将命名与命名空间回退为原始配置,AI Gateway 不再处于弃用状态。
  • 2.13.0 标准化:Deployments Server 端点输出对齐 OpenAI 接口,简化与常用服务的集成;mlflow.deployments.openaiAPI(2.9.2 加入)可直接通过 Deployments API 访问 OpenAI 服务。
  • 2.10.0 流式与限流:Deployments Server 支持 OpenAI 兼容的流式响应,并支持按端点设置限流(rate limits)以控制 SaaS 模型成本超支。
  • 2.16.0 插件体系:引入 AI Gateway 插件提供商系统,开发者可以定义自研提供商接口并安装为可安装的 provider 定义,将 Gateway 连接到任意 GenAI 服务——相关入口见 mlflow/deployments/plugin_manager.py 与 mlflow/gateway/provider_registry.py。

此外 2.16.0 支持开源版 Unity Catalog 作为 Model Registry 服务(mlflow/store/model_registry 相关 RestStore 实现),2.16.1 支持 AWS KMS 加密。

5. Tracing:贯穿 2.14 ~ 2.22 的绝对主线

MLflow Tracing 是 2.x 中后期最核心的能力,从 2.14.0 正式发布到 2.22.x 持续演进,现役实现位于 mlflow/tracing 目录(包含 mlflow/tracing/fluent.py 的高层 fluent API、mlflow/tracing/client.py 的客户端 API、mlflow/tracing/otel 的 OpenTelemetry 桥接与 mlflow/tracing/export 的导出器)。

5.1 2.14.0:Tracing 正式落地

  • 提供可检查 GenAI 应用处理请求时中间输出的能力,便于监控、分析与调试。
  • 内置自动 LangChain 集成,同时提供高层 fluent API 与低层 client API。
  • Deployments Server 集成 Unity Catalog,可将注册函数作为工具增强 Chat 应用。
  • 新增 OpenAI Autologging,调用 OpenAI API 时自动记录输入输出为制品。

5.2 2.15 ~ 2.16:集成面快速铺开

  • 2.15.0:OpenAI 集成支持一键mlflow.openai.autolog()自动记录 token 用量与交互历史。
  • 2.16.0:支持 Microsoft AutoGen 多轮 Agent 应用的全自动追踪(mlflow.autogen.autolog());支持 LangGraph 的 tracing 与 models-from-code 日志;@mlflow.trace装饰器支持异步;降低 tracing 延迟开销。

5.3 2.17 ~ 2.19:标准化与更多框架

  • 2.17.0:统一检索器 span 输出为 MLflowDocument列表。
  • 2.18.0:DSPy、LiteLLM、Google Gemini 支持一键自动追踪(对应 mlflow/dspy/autolog.py 与 mlflow/litellm);fluent API 实现线程与多进程安全。
  • 2.19.0:新增 CrewAI 与 Anthropic 追踪;DSPy、LlamaIndex、LangChain flavor 均支持自动与手动追踪;评估时自动启用 tracing;新增update_current_traceAPI 与trace.search_spans()方法。

5.4 2.20 ~ 2.22:一键体验与生产化

  • 2.20.0:Amazon Bedrock 与 Groq 支持一行自动追踪(mlflow.bedrock.tracing/mlflow.groq.tracing);Trace UI 新增统一 Chat 面板;支持在 Jupyter Notebook 内联渲染 Trace UI。
  • 2.21.0:支持同步/异步生成器,支持 Async OpenAI 自动追踪。
  • 2.22.0:支持 OpenAI Responses API 追踪;引入get_last_active_trace(影响模型 serving/monitoring 逻辑);Databricks traces 默认异步导出;2.22.1 优化include_spans=False时 span 拉取的线程开销。

6. GenAI 模型接口:ChatModel、DSPy 与 Type Hint 签名

6.1 ChatModel 接口的诞生与规范化

  • 2.11.0:为 GenAI 工作负载新增ChatModel接口,不再要求 Pandas DataFrame 输入,统一与各类 LLM 提供商的交互体验。
  • 2.17.0:原生支持工具调用(tool calling),满足自定义 Agent 的创建需求;所有数据结构新增from_dict();增加metadata字段支持完整输入负载定制;处理refusal响应类型。
  • 2.18.0:公布 ChatModel 接口的阶段性破坏性变更预告——ChatRequestChatCompletionRequestChatResponseChatCompletionResponsemetadatacustom_inputs/custom_outputspredict_stream未来返回ChatCompletionChunk生成器。
  • 2.19.0:上述模式正式落地,predict_stream使用ChatCompletionChunk实现真正流式;custom_inputs/custom_outputs改用AnyType;并预告未来移除ChatParamsntemperaturestream的默认值。

相关数据结构实现可查阅 mlflow/models/rag_signatures.py,统一后的 ChatCompletion 模式也体现在 mlflow/models 模块的 GenAI 相关实现中。

6.2 流式预测与代码依赖推断(2.12 ~ 2.13)

  • 2.12.1/2.12.2:为 LangChain 模型与自定义 pyfunc 模型引入predict_streamAPI 实现流式输出;统一并标准化各 flavor 的code_paths参数(code_path作为别名弃用)。
  • 2.13.0predict_stream正式面向 Python 模型开放;新增infer_model_code_paths选项,自动推断模型实现依赖的代码模块,补充code_paths参数,确保模型可隔离加载与部署——相关示例见 examples/pyfunc/infer_model_code_paths.py。
  • 2.13.0:Deployments Server 输出统一为 OpenAI 兼容接口,并新增 TogetherAI 提供商。

6.3 DSPy 与类型提示签名(2.18 ~ 2.20)

  • 2.18.0:新增DSPy flavor,支持 DSPy 模型的记录、加载与追踪,实现位于 mlflow/dspy(含 mlflow/dspy/save.py、mlflow/dspy/load.py、mlflow/dspy/autolog.py 与 mlflow/dspy/callback.py)。
  • 2.19.0:模型签名支持AnyType,可承载此前不受支持的任意数据类型。
  • 2.20.0:支持基于PythonModel.predict函数类型提示定义模型签名并校验输入负载,是最 Pythonic 的签名定义方式;同时支持 Pydantic 模型类型提示(2.19.0)。

6.4 LlamaIndex、LangGraph 与更多 flavor(2.15 ~ 2.17)

  • 2.15.0:新增原生 LlamaIndex flavor,可记录索引并用于不同引擎类型的推理任务。
  • 2.16.0:LangChain 集成扩展支持 LangGraph Agent 框架,支持 models-from-code 日志与追踪;LlamaIndex 支持 engine 直接保存与外部向量库。
  • 2.17.1:支持 LlamaIndexWorkflows对象序列化、ChatModel 工具调用。

7. 评估体系的 GenAI 化:LLM-as-a-Judge 与自定义指标

  • 2.8.0:提供默认 LLM 评估指标,支持评估检索器模型与推理数据集。
  • 2.15.0:自动记录并版本化自定义指标定义(含作为 Judge 的模型与提示词模板),保证评估跨 Run 可复现;mlflow.evaluate的校验能力用于部署前检查输入输出处理。
  • 2.17.0:GenAI 评估指标改为**可调用(callable)**形式,可直接用于支持 callable 指标的其他包,并简化原型调试。
  • 2.18.0:LLM-as-a-Judge 支持 Anthropic、Bedrock、Mistral、TogetherAI 等更多提供商,并可通过proxy_urlextra_headers配置代理端点或自托管 LLM;支持更改内置 Judge 指标的max_workers
  • 2.20.0mlflow.evaluate支持在评估中记录 DSPy 结果表;2.12.2 支持覆盖mlflow.evaluate的整体判断提示词。

现役实现集中在 mlflow/evaluation 与 mlflow/models/evaluation,评估相关示例见 examples/evaluation。

8. 认证、安全与大规模部署加固(2.3 ~ 2.22)

8.1 认证与授权

  • 2.3.0/2.3.2:Tracking Server 支持 HTTP Basic Auth;后续扩展用户、注册模型与实验的权限管理。
  • 2.5.0:正式发布 Tracking 与 Model Registry 的认证授权支持。
  • 2.7.0:支持 Tracking Server 认证插件体系。
  • 2.8.0:调整用户创建行为,仅管理员可创建新用户。
  • 2.22.0:强制密码校验(最少 8 个字符)。

8.2 关键安全修复时间线

2.x 期间公开修复了多类安全漏洞,部署mlflow server/mlflow ui的团队尤其需要关注以下批次:

版本修复内容
2.3.1修复注册模型源相对路径导致的 LFI 攻击;官方强烈建议立即升级
2.4.1 / 2.5.0增强 LFI 攻击防御(含 Windows 路径校验)
2.9.0三个安全补丁并签发 CVE:HttpArtifactRepository.list_artifacts路径清理、Content-Disposition文件名清理、Content-Type头校验防 POST XSS
2.9.2禁用恶意 YAML 注入(安全 Sandbox 模式渲染)、多项路径穿越修复(..查询、编码路径、FTP 后端、tracking server 净化路径)
2.11.2 / 2.11.3修复 url 参数误用导致的 LFI 漏洞
2.12.1修复 Model Registry 本地文件读取/路径穿越(LFI)绕过漏洞

8.3 大规模制品与基础设施

  • 多部分上传/下载:2.9.2 起通过环境变量配置分块大小以支持超大模型制品;2.10.0 支持 Azure Blob 多部分上传。
  • Artifact Store 扩展:2.22.0 新增 Azure Data Lake Storage(ADLS)制品仓库;2.7.0 支持 Cloudflare R2 后端。
  • 异步日志:2.8.0 引入实验性异步日志支持(metrics/params/tags),2.11.0 提供mlflow.config.enable_async_logging配置,后续持续优化性能。
  • 模型 serving:2.21.0 将推理服务器从 Flask 迁移到 FastAPI,启用 ASGI 扩展以获得更高吞吐;2.13.0 支持多个推理 worker 配置。

9. 版本升级建议与 2.x 演进总结

9.1 升级路径建议

  • 从 1.x 升级:必须完整处理 2.0.1 的破坏性变更清单(Python 版本、Recipes、评分 API、环境管理器默认值),详见第 2 节。
  • 使用 AI Gateway 的团队:注意 2.9.0 迁移到mlflow.deployments的变更,以及 2.17.0 撤销弃用后的命名回归;2.13.0 起输出已对齐 OpenAI 接口。
  • 依赖 GenAI 能力的团队:Tracing 从 2.14.0 起可用,框架集成在 2.15~2.19 密集落地;ChatModel 接口在 2.19.0 发生数据结构变更,若使用 2.18.x 的ChatRequest/ChatResponse需适配新命名。
  • 关注安全合规的团队:务必升级到至少 2.9.2 及之后的安全修复批次版本(见第 8.2 节表格),并确保 2.3.1 修复的 LFI 问题已覆盖。

9.2 演进总结

回顾整个 2.x 周期,MLflow 完成了三次关键跃迁:其一,从经典 MLOps(Recipes、注册表、评估)走向 GenAI 原生支持(ChatModel、DSPy、Prompt Registry);其二,从「记录运行」走向「生产级可观测」(Tracing 全框架自动埋点、Trace UI、LLM-as-a-Judge);其三,从单一 Tracking Server 走向可插拔的部署与网关体系(Deployments 插件、OpenAI 兼容标准化、Unity Catalog 集成)。这些能力在 mlflow 主包中均有对应实现,是理解现役 MLflow 3.x 架构的最佳历史注脚。

10. 相关资源

  • 发布日志原文:changelogs/v2.x.md;更早版本见 changelogs/v1.x.md,更完整时间线可对照 CHANGELOG.md
  • Tracing 实现:mlflow/tracing、examples/tracing
  • 模型与 GenAI flavor:mlflow/models、mlflow/dspy、mlflow/langchain、mlflow/openai
  • 评估实现与示例:mlflow/evaluation、mlflow/models/evaluation、examples/evaluation
  • 部署与网关:mlflow/deployments、mlflow/gateway、examples/gateway
  • 模型注册表:mlflow/store/model_registry

【免费下载链接】mlflowThe open source AI engineering platform for agents, LLMs, and ML models. MLflow enables teams of all sizes to debug, evaluate, monitor, and optimize production-quality AI applications while controlling costs and managing access to models and data.项目地址: https://gitcode.com/GitHub_Trending/ml/mlflow

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 23:05:33

PostgreSQL查询性能监控利器pg_stat_statements详解

1. 为什么需要监控PostgreSQL查询性能在数据库运维工作中,查询性能监控是DBA和开发人员每天都要面对的核心挑战。PostgreSQL作为功能最强大的开源关系型数据库之一,其性能监控有着独特的技术实现路径。当数据库响应变慢时,我们常常陷入这样的…

作者头像 李华
网站建设 2026/9/10 23:05:09

Beads 故障恢复手册:从 Dolt 数据损坏到主键分叉的完整救援指南

Beads 故障恢复手册:从 Dolt 数据损坏到主键分叉的完整救援指南 【免费下载链接】beads Beads - A memory upgrade for your coding agent 项目地址: https://gitcode.com/GitHub_Trending/beads1/beads 导读:本文以 Beads 开源仓库的恢复运维文档…

作者头像 李华
网站建设 2026/9/10 23:04:14

STM32F103鱼缸控制器实战:传感器闭环与Keil环境搭建

简介:本资源是一个基于STM32的智能鱼缸嵌入式项目源码包,面向嵌入式初学者与课程设计实践者,聚焦环境参数监测(如水温、水位)、自动增氧、LED照明调控等典型物联网控制场景,助力理解MCU外设驱动、传感器数据…

作者头像 李华
网站建设 2026/9/10 23:03:27

小红书爆款笔记自动化采集技术解析与应用

1. 为什么需要自动化采集小红书爆款笔记? 在内容运营和电商选品领域,小红书爆款笔记的价值不言而喻。传统人工采集方式存在三个致命缺陷: 首先,效率瓶颈明显。人工浏览复制粘贴的方式,每小时最多处理20-30条笔记&…

作者头像 李华