# Model Registry

← [Раздел](README.md) · [Главная](../README.md)

## Цель

Понять назначение, устройство и практику использования компонента **Model Registry** в MLflow.

## Предварительно

- [MLflow Models](mlflow-models.md)

## Время

**2–3 ч**

---

## Назначение

**Model Registry** — каталог **версионированных** моделей с **стадиями** жизненного цикла и governance.

## Сущности

| Сущность | Описание |
|----------|----------|
| Registered Model | Имя логической модели (`FraudClassifier`) |
| Model Version | Конкретная версия (1, 2, 3…) привязанная к run |
| Stage | None, Staging, Production, Archived |

## Регистрация

```python
mlflow.register_model("runs:/<run_id>/model", "FraudClassifier")
```

Или при log_model: `registered_model_name="FraudClassifier"`.

## Transition стадий

```python
from mlflow import MlflowClient
client = MlflowClient()
client.transition_model_version_stage(
    name="FraudClassifier",
    version=3,
    stage="Production",
    archive_existing_versions=True,
)
```

## Approval workflow

В enterprise: только MLOps переводит в Production после review ticket (Jira). Open-source — дисциплина процесса.

## Загрузка в serving

```python
model_uri = "models:/FraudClassifier/Production"
model = mlflow.pyfunc.load_model(model_uri)
```

## Aliases (MLflow 2.x)

Гибкие алиасы (`@champion`) вместо жёстких stage — удобно для A/B.

## Audit

Registry хранит кто и когда зарегистрировал версию, комментарии, tags (`validated_by: qa-team`).

---

## Самопроверка

1. Кратко опишите роль «Model Registry» в MLflow.
2. Назовите типичную ошибку при работе с этим компонентом.
3. Как этот компонент связан с соседними?

---

## Дальше

→ [Model Serving](model-serving.md)
