fmind/mlops-python-package

Production-shaped MLOps Python package and reference implementation of the MLOps Coding Course: MLflow, scikit-learn, Pydantic, Pandera, uv, and mise.

它解决了什么问题

它提供了一个标准化的 Python 代码库和一套最佳实践,以简化 MLOps 项目。它解决了在构建 MLOps 平台(如模型注册表、实验跟踪系统或实时推理服务)时项目结构分散或不一致的问题。

它如何工作

该项目作为一个参考实现和工具包,集成了大量专业的软件工程工具。它采用配置驱动的方法,将作业(如训练、调优或推理)定义在 YAML 文件中,并通过 CLI 执行。系统使用 Pydantic 进行配置验证,并采用模块化的「作业」架构,可作为独立包使用,也可作为库集成到其他 AI/ML 项目中。

适合谁

希望使用行业标准工具(如测试、代码检查、CI/CD 和模型管理)实现稳健、生产就绪的 MLOps 流水线的机器学习工程师和软件开发人员。

主要亮点

  • 全面的工具链:集成 uv 用于包管理,Ruff 用于代码检查/格式化,Pytest 用于测试,以及 MLflow 用于跟踪和注册。
  • 配置驱动:使用 YAML 和 OmegaConf 定义作业行为,无需修改代码即可灵活执行。
  • 自动化工作流:包含预定义的 GitHub Actions 用于 CI/CD,以及 mise 任务运行器,用于同步本地开发与 CI 环境。
  • 强类型支持:强调静态类型和数据模式验证,使用 ty 和 Pandera 对数据框进行类型检查。

一个真正可扩展且生产就绪的 MLOps 实践范例 — @jameslamb

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目