Toolverse
All skills

mlops-automation

by fmind

Guide to refine MLOps projects with task automation, containerization, CI/CD pipelines, and robust experiment tracking.

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Author
fmind
Category
DevOps
Views
16

About this skill

Guide to refine MLOps projects with task automation, containerization, CI/CD pipelines, and robust experiment tracking.

How to use

  1. Zainstaluj narzędzia wymagane: just (task runner), docker (konteneryzacja), pre-commit (hooki lokalne) oraz mlflow (śledzenie eksperymentów). Upewnij się, że masz Python i uv jako package manager.

  2. Skonfiguruj automatyzację zadań, tworząc plik justfile w katalogu głównym projektu. Podziel zadania na moduły w folderze tasks/ (np. tasks/check.just dla linterów i testów, tasks/docker.just dla konteneryzacji). Zdefiniuj podstawowe zadania: check (uruchomienie linterów i testów), package (budowanie wheels), clean (usuwanie artefaktów) oraz install (setup środowiska dev).

  3. Dodaj pre-commit hooks, tworząc .pre-commit-config.yaml w katalogu głównym. Skonfiguruj hooki takie jak ruff, bandit, check-yaml i trailing-whitespace. Opcjonalnie dodaj commitizen hook do wymuszania Conventional Commits (np. feat: add new model).

  4. Przygotuj Dockerfile z optymalizacją warstw: skopiuj uv.lock i pyproject.toml, uruchom uv sync, a dopiero potem skopiuj kod źródłowy. Użyj wieloetapowej budowy — zbuduj artefakty w jednym etapie i skopiuj tylko dist/*.whl do etapu runtime'u. Wybierz bazowy obraz ghcr.io/astral-sh/uv:python3.1X-bookworm-slim dla minimalnego rozmiaru.

  5. Skonfiguruj workflow'i CI/CD w GitHub Actions (lub dostosuj do platformy Twojej firmy). Utwórz check.yml uruchamiany na pull requestach (wykonujący just check) oraz publish.yml na release'ach (budujący obraz Docker i publikujący dokumentację).

  6. Integruj śledzenie eksperymentów za pomocą mlflow — skonfiguruj logowanie metryk, parametrów i artefaktów w swoim kodzie treningowym, aby monitorować przebieg eksperymentów i porównywać wyniki między uruchomieniami.

Related skills