Какие типы диаграмм поддерживает Mermaid¶
1) Flowchart — самое популярное (ты уже используешь)¶
Используется для:¶
- high-level architecture,
- ML pipeline,
- data flow,
- ETL,
- inference flow.
Пример (C4-like):
flowchart LR
subgraph Ingestion
A[Scraper] --> B[Airflow]
B --> C[Postgres]
end
subgraph ML
C --> D[Raw Parquet]
D --> E[DVC Pipeline]
E --> F[MLflow]
end
subgraph Serving
F --> G[FastAPI]
G --> H[UI]
end
Best practice:
LRдля high-level системTDдля процессов / пайплайнов
2) Sequence Diagram — взаимодействие сервисов¶
Используется для:¶
- inference request lifecycle,
- async processing (Celery),
- API → worker → DB → response.
Пример (очень интервью-friendly):
sequenceDiagram
participant U as User
participant API as FastAPI
participant Q as RabbitMQ
participant W as Celery Worker
participant M as MLflow
U->>API: POST /predict
API->>M: Load model by alias
API->>Q: Enqueue task
Q->>W: Deliver task
W->>API: Prediction result
API->>U: Response
3) Class Diagram — модели данных / API schemas¶
Используется для:¶
- Pydantic schemas,
- domain models,
- feature contracts.
classDiagram
class PredictionRequest {
+string match_id
+float home_rating
+float away_rating
}
class PredictionResponse {
+float home_win_prob
+float draw_prob
+float away_win_prob
}
PredictionRequest --> PredictionResponse
Отлично подходит для API contract documentation.
4) State Diagram — lifecycle модели или задачи¶
Используется для:¶
- model lifecycle,
- job states,
- retraining logic.
stateDiagram-v2
[*] --> Candidate
Candidate --> Staging
Staging --> Production
Production --> Archived
Production --> Candidate: retrain
Прямо ложится в MLflow Registry discussion.
5) Gantt — пайплайны, расписания¶
Используется для:¶
- Airflow DAG scheduling,
- retraining cadence,
- release cycles.
gantt
title Retraining Schedule
dateFormat YYYY-MM-DD
section Training
Feature build :a1, 2024-01-01, 1d
Model training :a2, after a1, 1d
Validation :a3, after a2, 1d
6) ER Diagram — базы данных¶
Используется для:¶
- Postgres schema,
- feature store tables.
erDiagram
MATCH ||--o{ EVENT : has
MATCH {
int match_id
date match_date
}
Mermaid в MLOps: как ты его уже правильно используешь¶
В твоём проекте Mermaid закрывает:
| Задача | Тип диаграммы |
|---|---|
| End-to-end архитектура | flowchart |
| Data lineage | flowchart |
| Training pipeline | flowchart |
| Inference lifecycle | sequence |
| Model registry | state |
| API schemas | class |
| Retraining cadence | gantt |
Это идеальный набор для интервью.