fmind/cookiecutter-mlops-package

Start building and deploying Python packages and Docker images for MLOps tasks.

解决的问题

本项目为 MLOps 项目提供标准化、可投入生产环境的坚实基础。它消除了重复构建、测试、打包和部署 Python 包及 Docker 镜像的繁琐流程,使开发者能够以一致的结构和预配置的工具链,快速启动 AI/ML 代码库。

如何工作

这是一个 Cookiecutter 模板,可生成完整的项目结构。生成的项目采用现代 Python 技术栈,包括使用 uv 进行依赖管理、Ruff 进行代码检查,以及使用 mise 统一任务执行(安装、测试、构建)。项目内置对 MLflow 的支持,用于追踪和模型注册(使用 SQLite 作为后端),并提供多阶段 Docker 镜像和 GitHub Actions 工作流以实现 CI/CD(包括自动将文档部署到 GitHub Pages)。

适用人群

需要构建可复用的 AI/ML 组件,以便集成到 Kubernetes、Vertex AI、Databricks、Azure ML 或 AWS SageMaker 等各种 MLOps 平台的机器学习工程师和数据科学家。

主要亮点

  • 统一的任务词汇:使用 mise 确保本地开发、Git 钩子和 CI 中使用相同的命令。
  • 快速的 Python 技术栈:利用 uvRuff 实现高性能的依赖管理和代码质量控制。
  • 集成的安全性:内置依赖项 CVE 扫描(pip-audit)、敏感信息扫描(gitleaks)和容器镜像扫描(Trivy)。
  • 开箱即用的 CI/CD:包含 GitHub Actions,支持自动测试、发布和安全重扫描。
  • MLflow 集成:预配置为使用本地 SQLite 存储进行追踪和模型注册。

相关

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