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