Согласование AI-моделей: очередь заявок на GPU

Зачем это нужно

Предохранитель, чтобы модели на GPU (gpu-t4, gpu-a100) не сжигали дорогую квоту молча: Owner или Admin просматривает каждую заявку на GPU-деплой и пропускает её или отклоняет до того, как она станет живой.

Как разобрать очередь

  1. Нажмите аватар справа сверху → Approvals. Страница глобальная, кросс-проектная: в меню проекта её нет, только в меню аккаунта, и только если вы Owner или Admin хотя бы в одном проекте.
  2. В строке видно: Project, Resource (тип и имя, например AIModel / iris-classifier), Action (например CreateAIModel), Requested by, Age и короткий Summary — для заявок на модель это тип модели, профиль и источник.
  3. Approve пропускает заявку — действует сразу, без подтверждения.
  4. Reject открывает модалку, в которой обязательно нужно написать Reason: кнопка отправки не активна, пока причина не введена.
  5. Поиск фильтрует по проекту, ресурсу, действию и заявителю, Refresh подтягивает свежую очередь.

Подводные камни

  • Страница существует только для тех, кто Owner или Admin хотя бы в одном проекте. Остальные, попав на /admin/approvals, увидят сообщение об отказе в доступе, а не 404.
  • Причина отказа обязательна — отклонить без объяснения нельзя, так задумано.
  • У Approve нет диалога подтверждения. Перечитайте строку (проект, ресурс, summary) до нажатия: кнопки «отменить» нет, останется только попросить заявителя удалить модель и выкатить заново.
  • Сегодня очередь на практике только про GPU-модели: столбец Summary умеет описывать лишь заявки CreateAIModel. Если механизм согласований позже начнут применять к другим ресурсам, summary у них будет пустым.

Чего пока нет

  • Уведомлений о том, что заявка ждёт решения или решение принято: чтобы узнать, надо зайти на страницу.
  • Массового согласования и массового отказа.
  • Внятного объяснения, почему заявка потребовала согласования, кроме «GPU-профиль, а квота GPU у проекта на момент заявки была 0» — см. AI-модели.

Куда дальше