mlops-automation
Automatyzuj zadania, konteneryzuj i wdrażaj projekty ML do produkcji
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do podniesienia standardów projektów MLOps poprzez automatyzację zadań, konteneryzację Docker, potoki CI/CD oraz śledzenie eksperymentów. Zawiera gotowe szablony dla task runnera just, pre-commit hooks, optymalizacje obrazów Docker i workflow'i GitHub Actions. Idealne dla zespołów przygotowujących kod do skalowania i wdrożenia w produkcji.
Jak używać
Zainstaluj narzędzia wymagane:
just(task runner),docker(konteneryzacja),pre-commit(hooki lokalne) orazmlflow(śledzenie eksperymentów). Upewnij się, że masz Python iuvjako package manager.Skonfiguruj automatyzację zadań, tworząc plik
justfilew katalogu głównym projektu. Podziel zadania na moduły w folderzetasks/(np.tasks/check.justdla linterów i testów,tasks/docker.justdla konteneryzacji). Zdefiniuj podstawowe zadania:check(uruchomienie linterów i testów),package(budowanie wheels),clean(usuwanie artefaktów) orazinstall(setup środowiska dev).Dodaj pre-commit hooks, tworząc
.pre-commit-config.yamlw katalogu głównym. Skonfiguruj hooki takie jakruff,bandit,check-yamlitrailing-whitespace. Opcjonalnie dodajcommitizenhook do wymuszania Conventional Commits (np.feat: add new model).Przygotuj Dockerfile z optymalizacją warstw: skopiuj
uv.lockipyproject.toml, uruchomuv sync, a dopiero potem skopiuj kod źródłowy. Użyj wieloetapowej budowy — zbuduj artefakty w jednym etapie i skopiuj tylkodist/*.whldo etapu runtime'u. Wybierz bazowy obrazghcr.io/astral-sh/uv:python3.1X-bookworm-slimdla minimalnego rozmiaru.Skonfiguruj workflow'i CI/CD w GitHub Actions (lub dostosuj do platformy Twojej firmy). Utwórz
check.ymluruchamiany na pull requestach (wykonującyjust check) orazpublish.ymlna release'ach (budujący obraz Docker i publikujący dokumentację).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.