我们很高兴宣布 MLflow 2.15.0 版本发布!!此版本包含许多主要特性和改进。
主要特性:
-
LlamaIndex Flavor🦙 - MLflow 现在提供了与 LlamaIndex 的原生集成,LlamaIndex 是最流行的用于构建围绕自定义数据生成式 AI 应用的库之一。此集成允许您在 MLflow 中记录 LlamaIndex 索引,从而可以加载和部署您的索引数据,以便使用不同引擎类型执行推理任务。MLflow 还为 LlamaIndex 操作提供全面的追踪支持,为复杂查询提供了前所 carburetor 的透明度。请查看 MLflow LlamaIndex 文档以开始使用! (#12633, @michael-berk, @B-Step62)
-
OpenAI 追踪🔍 - 我们增强了 OpenAI 集成,新增了追踪功能,可与 MLflow OpenAI 自动日志记录无缝协作。现在,您只需调用
mlflow.openai.autolog()
即可启用 OpenAI API 使用的追踪,MLflow 将自动记录有价值的元数据,例如 token 使用量和您的交互历史记录,从而为您的 OpenAI 应用提供更深入的洞察。要开始探索此新功能,请查看追踪文档! (#12267, @gabrielfu) -
增强模型部署,新增验证功能✅ - 为了提高模型部署的可靠性,MLflow 新增了一种方法,可在将模型部署到推理端点之前对其进行验证。此功能有助于消除输入和输出处理中的典型错误,从而简化模型部署流程并增强对已部署模型的信心。通过尽早发现潜在问题,您可以确保从开发到生产的顺利过渡。 (#12710, @serena-ruan)
-
记录评估的自定义指标定义📊 - 通过自动记录和版本化指标定义(包括用作评估者的模型和提示模板),我们增强了为模型评估定义自定义指标的灵活性。通过此新功能,您可以确保不同运行中评估的可重复性,并轻松重用评估设置以保持一致性,从而促进不同模型或版本之间更有意义的比较。 (#12487, #12509, @xq-yin)
-
Databricks SDK 集成🔐 - MLflow 与 Databricks 端点的交互已完全迁移到使用Databricks SDK。此更改为 MLflow 和 Databricks 之间带来了更强大可靠的连接,并提供了对最新 Databricks 特性和功能的访问。我们将遗留的 databricks-cli 支持标记为已弃用,并在未来版本中移除。 (#12313, @WeichenXu123)
-
支持 Spark VectorUDT💥 - MLflow 的模型签名框架现在支持 Spark Vector UDT (用户定义类型),从而可以使用 Spark VectorUDT 记录和部署模型,并进行强大的类型验证。 (#12758, @WeichenXu123)
其他值得注意的更改
特性
- [追踪] 在
start_run
流式 API 中添加parent_id
参数,以支持替代控制流 (#12721, @Flametaa) - [追踪] 添加 U2M 身份验证支持,用于从 MLflow 连接到 Databricks (#12713, @WeichenXu123)
- [追踪] 支持使用
mlflow gc
删除远程工件 (#12451, @M4nouel) - [追踪] 现在可以通过 UI 在实验页面的“追踪”选项卡中方便地删除追踪 (#12641, @daniellok-db)
- [模型] 为 GenAI flavors 的
ChatModel
接口引入额外参数 (#12612, @WeichenXu123) - [模型] [Transformers] 支持使用 b64.encodebytes 编码的输入图像 (#12087, @MadhuM02)
- [模型注册表] 为 Unity Catalog 模型注册表集成添加 AWS KMS 加密支持 (#12495, @artjen)
- [模型] 修复 Pandas dataframe 的 MLflow Dataset 哈希逻辑,改用
iloc
访问行 (#12410, @julcsii) - [模型注册表] 支持无头的预签名 URL 作为工件位置 (#12349, @artjen)
- [UI] MLflow UI 中的实验页面更新了外观,并带来了一些折线图的性能优化 (#12641, @hubertzub-db)
- [UI] 现在可以配置折线图以忽略数据中的异常值 (#12641, @daniellok-db)
- [UI] 创建与 Kubeflow Dashboard UI 的兼容性 (#12663, @cgilviadee)
- [UI] 在追踪 UI 的工件页面添加新部分,显示用于在部署前验证模型输入格式的代码片段 (#12729, @serena-ruan)
错误修复
- [追踪] 修复 MLflow SHAP 评估中针对 scikit-learn 模型的模型构建错误 (#12599, @serena-ruan)
- [追踪] 文件存储 get_experiment_by_name 返回所有阶段实验 (#12788, @serena-ruan)
- [追踪] 修复 Langchain 回调注入逻辑,用于异步/流式请求 (#12773, @B-Step62)
- [追踪] [OpenAI] 修复 OpenAI 流式追踪,以记录正确的 chunk 结构 (#12629, @BenWilson2)
- [追踪] [LangChain] 修复 LangChain 追踪中因线程不安全导致的
.batch
调用错误 (#12701, @B-Step62) - [追踪] [LangChain] 修复 LangChain 追踪中的嵌套追踪问题。 (#12705, @B-Step62)
- [追踪] 防止 MLflow 追踪与其他基于 OpenTelemetry 的库发生冲突 (#12457, @B-Step62)
- [模型] 修复 MLflow >= 2.13 中导致 databricks DLT py4j 服务崩溃的
log_model
问题 (#12514, @WeichenXu123) - [模型] [Transformers] 修复 Transformers Whisper 模型的批处理推理问题 (#12575, @B-Step62)
- [模型] [LangChain] 修复
AgentExecutor
和其他非 Runnable chains 在predict_stream
中的空生成器问题 (#12518, @B-Step62) - [评分] 修复 Databricks runtime 中 Spark UDF 权限拒绝问题 (#12774, @WeichenXu123)
文档更新
- 添加 Databricks UC 模型注册表身份验证文档 (#12552, @WeichenXu123)
- 添加 LangChain 和 Pyfunc 的 model-from-code 文档 (#12325, #12336, @sunishsheth2009)
- 添加查看追踪异常的 FAQ 条目 (#12309, @BenWilson2)
- 添加关于在使用多进程并行运行时
fork
与spawn
方法的说明 (#12337, @B-Step62) - 添加
mlflow.search_traces
中extract_fields
的使用示例 (#12319, @xq-yin) - 将 GPT-3.5-turbo 替换为 GPT-4o-mini (#12740, #12746, @Acksout)
有关更改的完整列表,请参阅发布更改日志,并在mlflow.org上查看最新文档。