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 技术栈:利用
uv和Ruff实现高性能的依赖管理和代码质量控制。 - 集成的安全性:内置依赖项 CVE 扫描(
pip-audit)、敏感信息扫描(gitleaks)和容器镜像扫描(Trivy)。 - 开箱即用的 CI/CD:包含 GitHub Actions,支持自动测试、发布和安全重扫描。
- MLflow 集成:预配置为使用本地 SQLite 存储进行追踪和模型注册。
相关
- 项目
- 项目
- 项目
- 项目
- 项目