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 儲存進行追蹤與模型註冊。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案