Skip to content

Какие типы диаграмм поддерживает 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

Это идеальный набор для интервью.