MLflow 3.x 版本演进全景解读:从 CHANGELOG 看 MLflow 的 GenAI 平台化之路
2026/9/13 11:28:27 网站建设 项目流程

MLflow 3.x 版本演进全景解读:从 CHANGELOG 看 MLflow 的 GenAI 平台化之路

【免费下载链接】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

本文以仓库根目录 CHANGELOG.md 为绝对核心骨架,系统梳理 MLflow 从 3.0.1(2025-06)到 3.16.0(2026-09)十余个版本的演进脉络,深度解读 Tracing(追踪)、AI Gateway、Evaluation(评估)、模型安全、平台基础设施五大主线的能力变迁,并结合 mlflow/version.py、mlflow/environment_variables.py 及mlflow/tracingmlflow/gatewaymlflow/server等源码模块验证变更背后的实现事实。读完本文,你将掌握:每个大版本的关键特性与破坏性变更、核心环境变量的默认值与作用、以及从"传统 ML 实验管理平台"到"面向 Agent / LLM / ML 的统一 AI 工程平台"的完整演化逻辑。


一、版本地图总览:一张表看懂 3.x 的发布节奏

CHANGELOG 顶部即是当前最新稳定版3.16.0(2026-09-03),紧随其后的 3.16.1.dev0 已在 mlflow/version.py 中登记为开发版本。从 3.0 起,MLflow 大致保持了"大版本 + 周期 Patch"的节奏,下表汇总了核心版本与关键主题(完整条目以 CHANGELOG.md 为准):

版本发布日期核心主题
3.16.02026-09-03basic-auth 默认 fail-closed、Traces V4 默认体验、AI Gateway 用户级预算、SpanLink(TS SDK)
3.15.0 / 3.15.1 / 3.15.22026-07~08MCP Registry、Assistant 多 Provider、可分享表视图、presigned URL 免代理传输、多模态 LLM Judge
3.14.02026-06-17mlflow agent setup一站式上手指引、Claude Code 持久化低延迟追踪(WAL)、Review Queues、Pytest 回归测试、LLM Playground
3.13.02026-05-29RBAC 角色权限体系 + Admin UI、Trace 保留与自动归档、编码 Agent 一键接入 Gateway、官方 Helm Chart
3.12.02026-05-04多模态 Tracing、Codex / Gemini / Qwen 追踪、Gateway Guardrails、Trace 表格分页
3.11.0 / 3.11.12026-03~04自动问题识别、Gateway 预算告警与限额、Trace Graph View、OTel GenAI 语义约定、UV 依赖锁定、Pickle-Free 序列化
3.10.02026-02-20多工作区(Organization)支持、多轮对话评估、Trace 成本追踪、mlflow demo、Gateway 用量统计
3.9.02026-01-28MLflow Assistant、Trace Overview 仪表盘、AI Gateway 重构、在线 LLM Judge、分布式追踪、MemAlign
3.8.0 / 3.8.12025-12Prompt 模型配置、进行中 Trace 实时展示、DeepEval 集成、对话安全/工具效率 Scorer、UI 遥测
3.7.02025-12-05SQLite 默认后端、Trace 对比、Gemini TypeScript SDK、结构化输出、移除 diviner/promptflow flavor
3.6.02025-11-07OSS 服务器完整 OpenTelemetry、Session 级视图、Vercel/Gemini/Anthropic/Mastra TS SDK、Agent Server
3.5.02025-10-16Job 执行后端、灵活 Prompt 优化 API、安全中间件
3.4.02025-09OTel 指标导出、MCP Server、make_judge自定义 Judge、评估数据集、Databricks 后端
3.3.02025-08-19Model Registry Webhooks、Agno 追踪、OSS GenAI 评估、FastAPI + Uvicorn 默认服务器
3.2.02025-08-05TypeScript SDK、Semantic Kernel 追踪、Feedback 追踪、PII 掩码、Polars 数据集、使用量遥测
3.1.x / 3.0.x2025-06~07MLflow 3.0 主版本、Prompt 优化、token 追踪、Gemini Gateway Provider 等

2.x、1.x、0.x 的历史变更分别归档在 changelogs/v2.x.md、changelogs/v1.x.md、changelogs/v0.x.md 中,CHANGELOG 末尾以链接形式给出,本文聚焦 3.x。


二、主线一:Tracing——从"实验追踪"到"Agent 可观测性"

Tracing 是 3.x 演进投入最密集的模块,仓库中对应 mlflow/tracing 目录,包含client.pyprovider.pyprocessor/otel/distributed/archival.pyassessment.py等子模块。

2.1 能力地基:3.6 完整 OpenTelemetry 与 TypeScript SDK 起步

  • 3.6.0起,OSS 服务器获得完整 OpenTelemetry 支持:可接收 OTLP 遥测数据,SDK 可同时对接 MLflow 与 OTel,实现"双导出"。同版本还新增Session 级 Trace 视图、TypeScript SDK 对Vercel AI SDK / Gemini / Anthropic / Mastra的自动追踪,以及 Judge 成本与 Trace 记录。
  • 3.2.0已先行发布Tracing TypeScript SDK(对应仓库 libs/typescript 目录),支持在 TypeScript 环境中追踪 GenAI 应用,并加入 Semantic Kernel 自动追踪、反馈/ground-truth/LLM Judge 的原生追踪与PII 掩码(通过自定义 span 后处理器实现)。

2.2 分布式与标准:3.9 / 3.11 / 3.12

  • 3.9.0引入分布式追踪:Trace 上下文可在不同服务与进程间传播,相关 API 位于mlflow.tracing.distributed模块(源码见 mlflow/tracing/distributed)。
  • 3.11.1新增MLFLOW_ENABLE_OTEL_GENAI_SEMCONV环境变量:开启后 OTLP 导出前会将 span 属性从mlflow.*格式自动翻译为OpenTelemetry GenAI 语义约定格式,便于与 OTel 兼容的可观测性平台无缝集成。该变量在 mlflow/environment_variables.py 中有明确注释,默认值为False
  • 3.12.0引入多模态 Tracing:图片、音频、PDF 等二进制内容以 artifact 附件(mlflow-attachment://URI)而非内联二进制存储,UI 支持富渲染;同时新增Codex、Gemini、Qwen 编码 Agent 的追踪支持,与既有的 Claude Code 集成并列。
  • 3.6.0起 span 名称不再添加_1_2编号后缀(破坏性变更,影响依赖 span 名称匹配的告警与检索逻辑)。

2.3 规模化与治理:3.13 归档、3.14 WAL、3.15/3.16 Traces V4

  • 3.13.0提供Trace 保留与自动归档:将老化的 span 数据从 SQL 后端自动迁移到对象存储(如 S3),同时保持 UI/API 中 Trace 完整可读,相关实现见 mlflow/tracing/archival.py 与 mlflow/tracing/trace_archival_service.py。
  • 3.14.0Claude Code 团队级追踪提供写前日志(WAL)机制(MlflowWalSpanExporter),在代理变慢、追踪服务器过载或网络抖动时也不会丢失 Trace;同时引入Review Queues(将 Trace 分配给评审者收集结构化反馈,回写至 Trace 供评估复用)。
  • 3.15.0进一步支持Trace 分页、模型成本自动计算、以及多模态 LLM Judge({{ trace }}Judge 可通过get_span_image工具读取 span 中捕获的图片,支持 Anthropic、Gemini 与 OpenAI-compatible 模型)。
  • 3.15.0 / 3.16.0Traces V4成为默认追踪体验:表格支持列重排(tags + metadata 自定义列)、保存视图(saved views)、Expectation过滤字段、行密度与导航优化,并同步修复了"1 of 0"计数、SpanLink 归一化等一系列 UI/数据层问题。

2.4 生态集成面

编码 Agent 与框架追踪是持续投入点:Claude Code(3.5 起)、Codex(3.12)、Gemini CLI(3.12)、Qwen Code(3.12)、OpenCode(3.11)、OpenClaw(3.13)、Hermes Agent(3.13)、OpenHands(3.11)先后加入;框架侧覆盖 OpenAI / Anthropic / Gemini / LangChain / LangGraph / LlamaIndex / DSPy / Pydantic AI / Haystack / Agno / CrewAI / Semantic Kernel / Strands / AutoGen / Google ADK 等,对应mlflow包下openai/langchain/pydantic_ai/等 flavor 目录。


三、主线二:AI Gateway——统一 LLM 入口与治理

AI Gateway 的源码位于 mlflow/gateway(含app.pyconfig.pyproviders/budget.pyguardrails.py等),并在 mlflow/server 中与追踪服务器深度融合。

3.1 3.9.0 重构:并入 Tracking Server

  • 3.9.0 起Gateway 服务直接内置于追踪服务器,无需再单独启动进程;新增passthrough 端点(透传 Anthropic Messages、GeminigenerateContent/streamGenerateContent、OpenAI Responses 等原生 API)、流量拆分(traffic splits)与fallback 模型配置;UI 提供完整的 API Key 管理与端点 CRUD。
  • 3.11.x 引入LiteLLM / native providers(Vertex AI、Databricks、Ollama、xAI Grok、Bedrock Converse 等),3.12.0 增加Portkey,3.15.0 增加SAP AI Coreprovider,3.9 起 LiteLLM 被明确为可选扩展(文档澄清见 3.16.0 文档更新条目)。

3.2 治理能力:预算、Guardrails、RBAC

  • 3.11.1引入Gateway 预算告警与限额:按日/周/月时间窗口设置支出上限,支持告警 Webhook 与超限自动阻断请求;3.12.0 增加Guardrails(对模型输入/输出做安全合规检查,分为 Pre-LLM / Post-LLM 两个阶段),3.15.0 增加端点级预算策略3.16.0进一步支持USER 作用域 + principal 的按用户预算策略
  • 3.13.0推出编码 Agent 一键接入:Claude Code、OpenAI Codex、Gemini CLI 可通过 UI 一键路由到 Gateway,获得追踪、用量、预算与 Guardrails 治理。
  • 安全相关修复贯穿始终:SSRF 防护(webhook URL 校验、DNS-rebinding)、zstd 压缩请求体支持、gateway_secrets-configpassphrase 信号对非管理员脱敏、X-MLflow-Gateway-Duration-Ms响应头等。

3.3 用量与可观测

  • 3.10.0增加 Gateway Usage 页面:请求模式与指标可视化,Gateway 调用通过 Trace 关联回实验,实现端到端可观测;3.15.0 起支持 OpenAI 协议编码 Agent 通过 RBAC Gateway 认证。

四、主线三:Evaluation——Judge、Scorer 与回归测试体系

评估能力在 mlflow/evaluation 与 mlflow/metrics 等模块落地。

4.1 Judge / Scorer 体系成型

  • 3.4.0引入make_judge自定义 Judge API,并支持评估数据集存储与版本化。
  • 3.7.0make_judge支持结构化输出(JSON Schema),评估结果更易于程序化消费。
  • 3.8.0集成DeepEval(20+ 指标,如答案相关度、忠实度、幻觉检测),新增对话安全 Scorer对话工具调用效率 Scorer
  • 3.9.0发布在线 LLM Judge:无需写代码即可对 Trace 自动评估;Judge Builder UI支持在 UI 中定义并试运行自定义 Judge prompt;引入MemAlignMemAlignOptimizer)从历史反馈中学习通用准则并在运行时动态检索相关示例。
  • 3.10.0支持多轮对话评估与会话模拟(session-level Scorer、会话比较、目标/人格蒸馏);3.11.1增加自动问题识别(Detect Issues:对选定 Trace 分析正确性、安全性、性能等类别的问题);3.12.0开放第三方 Scorer 注册;3.15.2增加 scorer_ensemble 原语与不可变评估数据集版本。

4.2 3.14.0 的 Pytest 回归测试范式

3.14.0 提供@mlflow.testpytest 标记与断言框架:将 GenAI 回归测试写成普通 pytest 函数,可在 CI 中门禁,并在 UI 中查看测试历史与逐断言 Judge 结果;EvaluationResult.passed/.reason承载断言结果。配合 3.15.0 的 Review Queues 与 3.16.0 的 scorer 目录化(mlflow scorers list --builtin输出完整目录),评估链路从"一次性实验"升级为"持续质量门禁"。

4.3 成本与性能

  • 3.6.0 / 3.10.0持续完善 Judge 调用成本与 Trace 记录;mlflow.metrics.genai基于模型名自动计算 token 成本。
  • 多个 Patch 版本修复了merge_records、schema 严格模式、期望值保留、Judge 回退等细节问题,保证评估结果可复现。

五、主线四:模型安全与序列化——Pickle-Free 时代

CHANGELOG 中"模型安全"是一条清晰的技术线,源码对应 mlflow/models 与各 flavor 模块。

  • 3.9.0开始支持torch.export.saveskops 序列化格式,并逐步弃用 pickle/cloudpickle 格式(MLFLOW_ALLOW_PICKLE_DESERIALIZATION安全开关)。
  • 3.11.1正式提出Pickle-Free Model Serialization:使用torch.exportskops等安全格式,并完善MLFLOW_ALLOW_PICKLE_DESERIALIZATION=False下的迁移文档。
  • 3.14.0作为破坏性变更,将sklearn / lightgbm / pytorch 的serialization_format默认值切换为 skops / pt2,即新模型默认不再使用 pickle 系序列化。
  • 配套安全加固:tar 解包路径穿越防护、symlink 路径穿越防护、prompt 标签校验防任意文件读取、webhook SSRF 防护、命令注入防护(恶意模型 artifact)等贯穿 3.3~3.16 各版本。
  • MLFLOW_ALLOW_PICKLE_DESERIALIZATION在 mlflow/environment_variables.py 中定义为默认True(兼容旧模型),生产环境建议显式关闭。

六、主线五:平台与基础设施——存储、服务与安全底座

6.1 存储与后端

  • 3.7.0破坏性变更:SQLite 成为 Tracking Server 默认后端(除非检测到既有mlruns数据),替代基于文件的存储,显著提升性能与可靠性。
  • 3.13.0破坏性变更:将 Tracking / Model Registry store 指向本地文件系统路径默认报错,需显式设置MLFLOW_ALLOW_FILE_STORE=true(默认False,见 mlflow/environment_variables.py)才能继续使用文件存储。
  • 3.6.0起对文件系统后端(filesystem backends)增加弃用警告;mlflow db move-resources(3.12)与migrate-filestore(3.10)命令帮助用户在存储后端间迁移资源。

6.2 服务与部署

  • 3.3.0:Tracking Server 默认切换为FastAPI + Uvicorn(保持 Flask 兼容),后续版本持续修复 Uvicorn 下的 basic-auth、--static-prefix、WebSocket scope 等边缘问题。
  • 3.13.0:发布官方 Helm Chart(仓库 charts 目录,含values.yamldeployment.yamlingress.yamlservicemonitor.yaml等模板),支持一键部署到任意 Kubernetes 集群;3.15/3.16 进一步支持 External Secrets Operator、Artifact Hub 元数据与 OCI 安装文档。
  • 3.10.0mlflow demo命令一键生成预填充演示环境(样例 Trace、Prompt、评估数据);docker-compose/与 docker 提供快速本地部署(3.16.0 将模型服务镜像升级至 Ubuntu 24.04 + Python 3.11)。
  • 3.6.0引入Agent Server(部署与管理 scoring agent 的基础设施),3.5.0 引入Job 执行后端(异步任务、独立执行池、任务搜索)。

6.3 安全与访问控制

  • 3.5.0起默认启用安全中间件层,防护 DNS rebinding、CORS 攻击等(配置见 self-hosting 文档)。
  • 3.13.0完成权限体系重构:统一为RBAC 角色权限模型role_permissions、workspace 级 grant),并发布Admin UI管理用户、角色与权限;旧的 per-resource 权限表、REST 端点与客户端方法被移除,default_permission由"覆盖"变为"地板(floor)"语义。
  • 3.16.0basic-auth 授权默认改为 fail-closed(未显式授权即拒绝),并逐步为 job / issue / evaluation dataset / gateway guardrail / budget / discovery 等原生 FastAPI 路由补齐按资源所有权的授权门禁,同时引入 coverage guard 防止回归。
  • 3.15.0支持presigned URL 免代理传输:大文件 artifact 可绕过 Tracking Server 直连对象存储(如 S3),显著降低服务器负载,且自动回退到代理传输以保持兼容。

6.4 工作区与遥测

  • 3.10.0引入多工作区(Organization)支持,可用 Workspace 在单一 Tracking Server 内逻辑隔离实验、模型与 Prompt。
  • 3.2.0 / 3.8.0引入 UI 与 SDK 的匿名使用遥测(不含敏感或 PII 数据),可通过MLFLOW_DISABLE_TELEMETRY=trueDO_NOT_TRACK=true关闭(默认值定义见 mlflow/environment_variables.py)。

七、破坏性变更清单:升级前必读

CHANGELOG 明确标注的 3.x 破坏性变更汇总如下(升级请逐条核对):

版本变更迁移要点
3.16.0basic-auth 默认 fail-closed未显式授权的路由默认拒绝,需为 job/gateway 等路由配置授权
3.16.0移除 pyspark < 3.4.4 交叉版本测试最低支持 pyspark 3.4.4+
3.16.0FastAPI 原生路由在--static-prefix下以 native 方式服务网关/追踪路由 URL 前缀行为变化
3.14.0sklearn / pytorch / lightgbm 默认serialization_format改为 skops / pt2旧 pickle 模型可继续加载,新日志模型默认安全格式
3.13.0文件系统 store 默认报错MLFLOW_ALLOW_FILE_STORE=true保留旧行为
3.13.0权限体系重构为 RBAC,移除旧 per-resource 权限 API迁移到/mlflow/users/permissions/*角色 API
3.13.0移除enable_mlserver(pyfunc 服务后端)始终使用内置 scoring server
3.13.0mlflow autolog claude不再安装旧 Python 钩子改用官方 Claude 插件
3.13.0judge.align()默认优化器改为 MemAlign传显式 optimizer 以保持旧结果
3.12.0弃用enable_mlserver同上
3.11.1TS SDK 包重命名为 npm 组织作用域mlflow-tracing@mlflow/core等,全部升至 0.2.0
3.11.1移除MLFLOW_ENABLE_INCREMENTAL_SPAN_EXPORT;移除 genai extras 中的 litellm/gepa;Registered Model 名禁止/:依赖改为显式声明
3.7.0SQLite 成为默认后端mlruns目录被自动检测并继续使用
3.7.0移除 diviner、promptflow flavor迁移到受支持 flavor
3.6.0span 名称去掉_1/_2后缀依赖 span 名称匹配的告警/检索需更新
3.1Prompt Registry API 移入mlflow.genai.promptssearch_trace()返回 V3 格式 DataFrame更新导入与解析代码

八、核心环境变量速查(源码验证)

CHANGELOG 提到的关键开关在 mlflow/environment_variables.py 中均有定义,下表列出名称与默认值:

环境变量默认值作用(据源码注释)
MLFLOW_ENABLE_OTEL_GENAI_SEMCONVFalse开启 OTLP 导出前将 span 属性翻译为 OTel GenAI 语义约定(定义处)
MLFLOW_ALLOW_FILE_STOREFalse允许使用处于维护模式的文件系统后端(定义处)
MLFLOW_ALLOW_PICKLE_DESERIALIZATIONTrue允许 pickle 反序列化;关闭后启用 pickle-free 安全校验(定义处)
MLFLOW_DISABLE_TELEMETRYFalse关闭匿名使用遥测(另支持DO_NOT_TRACK=true,定义处)
MLFLOW_SKIP_PIP_REQUIREMENTS_CHECKFalse跳过模型依赖 pip 兼容性校验,适配离线/气隙环境(定义处)

九、如何持续跟踪 MLflow 版本动态

  • 阅读 CHANGELOG:CHANGELOG.md 是当前仓库事实的最新权威来源,每个条目带 PR 编号(如#25308)与贡献者署名(如@PattaraS),可按[模块标签](Tracing / Gateway / Evaluation / Tracking / Models / UI / Docs 等)快速过滤关注面。
  • 交叉验证源码:版本声明见 mlflow/version.py(当前3.16.1.dev0);环境变量语义见 mlflow/environment_variables.py;功能模块对应mlflow/tracingmlflow/gatewaymlflow/servermlflow/evaluationmlflow/models等目录;部署模板见 charts 与 docker-compose。
  • 历史版本回溯:2.x / 1.x / 0.x 变更分别记录在 changelogs/v2.x.md、changelogs/v1.x.md、changelogs/v0.x.md。

结语

从 3.0 到 3.16,MLflow 的演进路径清晰可辨:以 Tracing 为可观测性底座,以 AI Gateway 为统一入口,以 Judge/Scorer 体系与 Pytest 回归测试构成评估闭环,以 pickle-free 序列化与 RBAC/basic-auth 强化生产安全,以 SQLite/FastAPI/Helm Chart 夯实部署底座——它已从传统 ML 实验管理平台成长为面向 Agent、LLM 与 ML 模型的统一 AI 工程平台。本文所有特性、破坏性变更与环境变量均可回到 CHANGELOG.md 与对应源码模块逐条核对,是团队评估升级、选型与排障时的可靠参照。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询