Как превращать детекции YOLO в оповещения без кода с помощью Ultralytics Agents
Превращай детекции Ultralytics YOLO в оповещения Slack, вебхуки и снимки для датасета без кода с помощью условия Gate в Ultralytics Agents.
Miles Deans10 мин. чтения
Ты можешь превращать детекции Ultralytics YOLO в оповещения без кода, собрав визуальный рабочий процесс в Ultralytics Agents, входящем в Ultralytics Platform. Подключи изображение к модели YOLO, добавь Gate, который проверяет, что обнаружила модель, и направь результат в сообщение Slack, вебхук или датасет. В этом руководстве мы шаг за шагом соберём такой процесс на основе шаблона Capture and Alert, а затем добавим вторую модель, сохраним рабочий процесс, запустим его повторно на новых изображениях и экспортируем в Python.
Что ты создашь#
Готовый рабочий процесс проверяет изображение с помощью модели YOLO26 и только при обнаружении человека выполняет три действия по одному и тому же условию:
- Отправляет сообщение в Slack в подключённый канал, включая результат детекции.
- Отправляет JSON-вебхук на общедоступную конечную точку HTTPS, настроенную для приёма выбранного тобой JSON-тела, например в систему управления заявками или внутренний сервис.
- Сохраняет изображение в датасет, чтобы ты мог разметить его позже и переобучить модель.
Agents соединяет изображения, модели, условия и действия в блоки на холсте и доступен всем пользователям Ultralytics Platform, выполнившим вход, в личных и командных рабочих пространствах (документация Agents). Рабочие процессы запускаются, когда ты нажимаешь Run для выбранного изображения, видео или датасета; это не сервис непрерывного наблюдения за камерой. Обзор Agents и причин его создания читай в статье Представляем Ultralytics Agents.
В этом руководстве используется схема Image → YOLO → Gate, где Gate направляет результат в Slack, Webhook и целевой Dataset. Полный список блоков и другие шаблоны рабочих процессов смотри в документации Agents.

Шаг 1. Загрузи шаблон Capture and Alert#
Открой Agents на боковой панели Platform, нажми Add block, перейди на вкладку Templates и выбери Capture and Alert. При загрузке шаблона блоки на текущем холсте заменяются, и Platform сначала попросит подтвердить действие.
Шаблон Capture and Alert уже связывает условие обнаружения человека с сохранением в датасет и Slack; ниже ты настроишь эти назначения и добавишь ветку вебхука. Другие шаблоны — YOLO → VLM Monitor и Collect Uncertain Detections — служат редактируемой отправной точкой для описания сцен и создания датасетов для проверки.

Шаг 2. Выбери входное изображение#
Выбери блок Input image и укажи одно изображение с человеком: загрузи его или выбери из загруженного датасета. Для первого запуска в общей тестовой среде используй изображение размером не более 4 мегапикселей. Загруженные файлы остаются в браузере до запуска рабочего процесса и удаляются при обновлении страницы. Чтобы обработать несколько изображений, замени блок Image на блок Dataset, выбери исходный датасет и его выборку, задай лимит входных данных и подключи блок к YOLO.
Шаг 3. Выбери модель YOLO и порог уверенности#
Выбери блок Detect people. В шаблоне используется YOLO26 nano (yolo26n) — именно эта модель выполняет запуск в общей тестовой среде. Чтобы использовать другую официальную модель YOLO или модель, обученную в твоём рабочем пространстве, например пользовательский детектор дефектов или СИЗ, выбери её в разделе Model этого блока и на шаге 7 укажи отдельное развёртывание для выполнения рабочего процесса. Настройка Minimum detection confidence отбрасывает менее уверенные детекции до запуска любых условий; снизь порог, если хочешь, чтобы рабочий процесс реагировал на менее уверенные детекции.
Шаг 4. Задай условие в блоке Gate#
Блок Gate определяет, будут ли выполняться последующие действия. В шаблоне Capture and Alert выбери блок Person detected и проверь его настройки:
- Режим: Condition
- Модель детекции: Detect people
- Показатель: Detection count
- Название класса: person
- Условие: Greater than or equal
- Сравнить с: 1

Измени название класса в соответствии с классами модели или используй * для любого класса. Вместо числа детекций можно также измерять уверенность; установи для блока YOLO минимальный порог уверенности достаточно низко, чтобы сохранить детекции, которые нужно оценить. Условия по уверенности выполняются, если подходит хотя бы одна детекция: поэтому изображение с оценками 0.3 и 0.9 проходит проверку для диапазона от 0.25 до 0.5, а изображения без детекций никогда не проходят условие по уверенности. Если условие не выполняется, подключённые к нему действия для этого изображения не запускаются.
Шаг 5. Настрой Slack и вебхук#
Slack. Один раз подключи Slack в разделе Settings > Integrations (в командных рабочих пространствах это делает администратор или владелец рабочего пространства), затем отредактируй сообщение в блоке Notify Slack. Используй {output}, чтобы добавить результат предыдущего блока, как в шаблоне Person detected: {output}. Эти сообщения рабочего процесса не связаны с уведомлениями Platform об обучении и развёртывании (документация по интеграции со Slack).
Вебхук. Нажми Add block, выбери Webhook на вкладке Blocks и подключи к нему выход блока Person detected, сохранив существующие подключения Slack и датасета. Укажи общедоступный URL назначения HTTPS, настроенный для приёма твоего JSON-тела, например {"text": "{output}"}. Platform отправляет один POST-запрос для каждого результата с Content-Type: application/json. Размер тела может составлять до 10 000 символов; перенаправления не обрабатываются, соединение прерывается по тайм-ауту через 5 секунд, а ответ с кодом вне диапазона 2xx приводит к сбою блока. Блок Webhook является конечным и не передаёт результаты дальше по рабочему процессу.

К одному выходу Gate можно одновременно подключить несколько блоков, поэтому Slack, вебхук и датасет используют одно и то же проверенное условие. При сбое блока вокруг него появляется красная рамка.
Шаг 6. Сохраняй подходящие изображения для дообучения#
Выбери блок Captured images и укажи существующий датасет, который можно редактировать; если такого датасета нет, сначала создай его по руководству по созданию датасета. Подключённые датасеты в облачном хранилище и локальной инфраструктуре нельзя использовать как место назначения; также действуют обычные ограничения на объём хранения датасетов. Подходящие изображения добавляются в обучающую выборку датасета без разметки, а уже имеющиеся изображения пропускаются. Открой датасет в редакторе разметки, чтобы проверить и разметить собранные изображения, а затем используй их в следующем запуске обучения на Platform.
Шаг 7. Запусти, сохрани и повторно запусти на новых изображениях#
Рядом с кнопкой Run выбери, где выполнять рабочий процесс:
| Решение | Для чего использовать | Ограничения |
|---|---|---|
| Общая тестовая среда · 60 секунд | Проверка небольшого рабочего процесса | До 60 секунд, 20 входных изображений размером до 4 мегапикселей каждое, 20 вызовов модели или провайдера и три запуска в минуту; одна локальная модель YOLO — официальная модель YOLO26 nano |
| Существующее отдельное развёртывание | Большие датасеты и длительные запуски | Используются оборудование и тарифы этого развёртывания; общих ограничений на длительность рабочего процесса и число изображений нет, но ограничения существующего развёртывания и провайдера сохраняются |
| Новое развёртывание | Создание выделенного оборудования из конструктора | Открывает диалоговое окно создания развёртывания и выбора тарифа; перед запуском дождись готовности развёртывания |
Рабочий процесс может содержать до 20 блоков. Действия Slack и вебхуков учитываются как вызовы модели или провайдера, а ветвление может увеличить число вызовов на изображение. Во время выполнения ход процесса отображается на блоках; нажми Stop, чтобы отменить запуск.
Настроив входные данные и места назначения, нажми Run. Проверь результаты блоков, затем проверь подключённый канал Slack, получатель вебхука и целевой датасет. Если действия не выполняются, проверь, обнаружила ли YOLO человека и выполнилось ли условие Gate; если условие не выполняется, подключённые действия не запускаются.
Нажми Save workflow, чтобы задать рабочему процессу имя и позже открыть его через Open workflow. Чтобы повторно запустить его на новых данных, открой сохранённый рабочий процесс, выбери новые изображения или другой датасет и снова нажми Run. Сохранение не планирует запуски.
Шаг 8. Добавь вторую модель в цепочку#
Чтобы узнать не только «есть ли человек?», но и «что происходит?», добавь блок LLM, подключи к нему Gate, а затем соедини LLM с новым блоком Output, следуя схеме шаблона YOLO → VLM Monitor. Gate оценивает детекции YOLO, а модель «зрение — язык» описывает только изображения, прошедшие условие. В блоке LLM выбери модель «зрение — язык» и введи запрос, затем добавь соответствующий ключ провайдера в Settings > API Keys (в командном рабочем пространстве ключ добавляет владелец рабочего пространства). Использование языковой модели оплачивается провайдеру. Чтобы направить этап предсказания через уже развёрнутую модель, используй блок Deployment, который вызывает существующее готовое развёртывание Platform.
Шаг 9. Экспортируй рабочий процесс в Python или управляй им через API#
Нажми Python, чтобы посмотреть сгенерированный код рабочего процесса. Чтобы запустить его локально, установи пакеты ultralytics и ultralytics-platform, задай ключи провайдеров в окружении и выбери источник входных данных. Команды, управляющие рабочими процессами через код, могут использовать API Agents, доступный в Python SDK как client.agents (ultralytics-platform>=0.1.74), для просмотра списка, сохранения и удаления агентов. Чтобы запустить процесс на Platform, открой сохранённый рабочий процесс на холсте и нажми Run.
Когда стоит выбрать другой инструмент#
Agents подходит для запускаемых по запросу проверок изображений, видеоклипов и датасетов по событиям. Для других задач подойдут другие решения:
- Напиши код на Python. Для непрерывной обработки видеопотока с камеры создай конвейер с помощью пакета Ultralytics для Python; в нашем руководстве по системе охранной сигнализации показан проект оповещений на основе кода и Ultralytics YOLO26.
- Конвейеры для видео из нескольких потоков. NVIDIA описывает DeepStream как инструментарий потоковой аналитики с инфраструктурой на базе GStreamer для создания конвейеров инференса нескольких потоков и моделей на GPU NVIDIA.
- Инструменты для автоматизации общего назначения. Node-RED описывает себя как инструмент визуального программирования на основе потоков с браузерным редактором — он подходит командам, которым нужна более широкая автоматизация за пределами компьютерного зрения.
Часто задаваемые вопросы
Ultralytics Agents в Ultralytics Platform позволяет связывать модели YOLO, развёртывания Platform и модели «зрение — язык» в виде блоков на визуальном холсте. Типичный шаблон — YOLO → Gate → LLM: YOLO отбирает изображения, а модель «зрение — язык» описывает только те из них, которые прошли условие.
Ultralytics Agents объединяет модель детекции YOLO с блоком Gate, который применяет правила к числу детекций, уверенности и классу, а также с действиями Slack, вебхука и датасета. Команды собирают рабочий процесс из шаблонов без кода и позже могут экспортировать его в Python.
В Ultralytics Agents подключи блок Gate к блоку Webhook. Вебхук срабатывает только при выполнении условия и отправляет один JSON POST-запрос для каждого результата на общедоступную конечную точку HTTPS;
{output}заменяется результатом детекции.Ultralytics Agents отправляет сообщения в Slack из блока Slack, подключённого к условию, например «число людей ≥ 1». Один раз подключи Slack в Settings > Integrations, а затем используй шаблон Capture and Alert.
Ultralytics Agents сохраняет рабочие процессы под заданными именами. Открой сохранённый рабочий процесс, выбери новое изображение или датасет в качестве входных данных и нажми Run. Для запусков на отдельном развёртывании нет общих ограничений на длительность рабочего процесса и число изображений, однако ограничения существующего развёртывания и провайдера сохраняются.
Ultralytics Agents — это конструктор рабочих процессов компьютерного зрения без кода в Ultralytics Platform, в котором редактируемые шаблоны связывают детекции Ultralytics YOLO с условиями, оповещениями Slack, вебхуками и сохранением в датасет. В общей тестовой среде можно запустить небольшой рабочий процесс без создания развёртывания. Для действий Slack нужен подключённый канал Slack, а для этапов с моделью «зрение — язык» — соответствующий ключ провайдера.
Нет. Рабочие процессы запускаются, когда ты нажимаешь Run для выбранных изображений, видео или датасета; сохранение рабочего процесса не планирует его запуск. Для непрерывного наблюдения за камерой нужна отдельная реализация на основе кода или потоковой обработки.
Автор
Комментарии
Задай вопрос, поделись результатами или помоги кому-нибудь.










