YOLO Vision 2026:

Выделенные эндпоинты#

Ultralytics Platform позволяет развертывать модели YOLO на выделенных эндпоинтах в 42 глобальных регионах. Каждый эндпоинт представляет собой однопользовательский сервис с масштабированием до нуля, уникальным URL-адресом и независимым мониторингом.

Ultralytics Platform Model Deploy Tab With Region Map And Table

Создать эндпоинт#

Из вкладки Deploy#

Разверни модель на ее вкладке Deploy:

  1. Перейди к своей модели
  2. Нажми на вкладку Deploy
  3. Посмотри на карту мира и таблицу регионов, которая отсортирована по измеренной задержке из твоего местоположения
  4. Нажми Deploy в строке нужного региона

Развертывание начинается немедленно без шага именования: имя создается на основе имени модели и города региона (например, yolo26n-iowa). У модели должны быть веса, иначе во вкладке вместо таблицы регионов отображается пустое состояние.

Со страницы Deployments#

Создай развертывание на глобальной странице Deploy в боковой панели:

  1. Нажми New Deployment
  2. Выберите модель из селектора моделей, в котором перечислены твои завершенные модели.
  3. Выберите регион на мини-карте или в таблице задержек.
  4. Проверьте автоматически сгенерированное имя развертывания, которое здесь можно отредактировать.
  5. Нажми Deploy Model

Ultralytics Platform New Deployment Dialog With Model Selector And Region Map

Жизненный цикл развертывания#

stateDiagram-v2
    [*] --> Creating: Deploy
    Creating --> Deploying: Service starting
    Deploying --> Ready: Service URL published
    Ready --> Stopping: Stop
    Ready --> Deploying: Replace model
    Stopping --> Stopped: Stopped
    Stopped --> Deploying: Start
    Deploying --> Stopped: Start failed
    Ready --> [*]: Delete
    Stopped --> [*]: Delete
    Creating --> Failed: Error
    Deploying --> Failed: Error
    Failed --> [*]: Delete

    classDef proc fill:#2196F3,color:#fff
    classDef out fill:#9C27B0,color:#fff
    classDef error fill:#F44336,color:#fff
    classDef extern fill:#607D8B,color:#fff
    class Creating,Deploying,Stopping proc
    class Ready out
    class Failed error
    class Stopped extern

Подключи уведомления Slack, чтобы получать сообщение, когда развертывание будет готово или не сможет запуститься.

Выбор региона#

Выбирай из 42 регионов по всему миру. Интерактивная карта регионов и таблица отображают:

  • Маркеры регионов: цветовая кодировка по задержке на градиенте от зеленого к красному (быстрее — зеленее, медленнее — краснее)
  • Развернутые регионы: выделены в таблице бейджем «Развернуто».
  • Развертывание регионов: анимированный индикатор пульсации на пине и строке таблицы.
  • Двусторонняя подсветка: наведение курсора на карту подсвечивает строку в таблице, и наоборот

Ultralytics Platform Deploy Tab Region Latency Table Sorted By Latency Таблица регионов на вкладке модели Deploy включает:

СтолбецОписание
LocationГород и страна со значком флага
ZoneИдентификатор региона
ЗадержкаИзмеренное время пинга из твоего браузера.
DistanceРасстояние от твоего приблизительного местоположения в км.
ActionsКнопка Deploy или статус "Deployed"

Таблица поддерживает поиск по городу, стране и зоне и по умолчанию отсортирована по задержке.

Диалоговое окно нового развертывания

Диалоговое окно New Deployment (со страницы глобального уровня Deploy) показывает более простую таблицу регионов только со столбцами Location, Latency и Select, где перечислены 20 самых быстрых регионов с примечанием об остальных. Используйте мини-карту, чтобы выбрать любой другой регион.

Как измеряется задержка

Твой браузер измеряет задержку до каждого из 42 регионов, результаты кэшируются на 30 минут и совместно используются во вкладке Deploy и диалоговом окне New Deployment. Используйте кнопку Rescan на вкладке модели Deploy для повторного измерения из твоей текущей сети. Расстояние вычисляется от приблизительного местоположения твоего запроса, поэтому оно является приблизительным ориентиром, а не точным значением.

Доступные регионы#

ZoneРасположение
us-central1Айова, США
us-east1Южная Каролина, США
us-east4Северная Вирджиния, США
us-east5Колумбус, США
us-south1Даллас, США
us-west1Орегон, США
us-west2Лос-Анджелес, США
us-west3Солт-Лейк-Сити, США
us-west4Лас-Вегас, США
northamerica-northeast1Монреаль, Канада
northamerica-northeast2Торонто, Канада
northamerica-south1Керетаро, Мексика
southamerica-east1Сан-Паулу, Бразилия
southamerica-west1Сантьяго, Чили

Конфигурация конечной точки#

Диалоговое окно нового развертывания#

Диалоговое окно New Deployment собирает три входных параметра:

ПолеОписание
МодельЛюбая завершенная модель в рабочем пространстве, выбранная с помощью селектора.
РегионРегион развертывания, выбранный на мини-карте или в таблице задержек.
Имя развертыванияАвтоматически генерируется после установки модели и региона и доступно для редактирования.

Ultralytics Platform New Deployment Dialog Fixed Resource Defaults Под именем находится доступная только для чтения панель Resources с бейджем Custom resources coming soon. В настоящее время ресурсы не настраиваются: каждый эндпоинт работает как одиночный экземпляр, который масштабируется до нуля в режиме простоя.

Автоматически сгенерированные имена

Имя развертывания объединяет имя модели с городом региона, например yolo26n-iowa. На вкладке модели Deploy добавляется числовой суффикс, если у этой модели уже есть развертывание в регионе (например yolo26n-iowa-2). Имена должны быть уникальными в пределах рабочего пространства — развертывание уже существующего имени возвращает ошибку вместо тихого переименования.

Вкладка Deploy (быстрое развертывание)#

Развертывание с вкладки модели Deploy использует те же фиксированные ресурсы и автоматически сгенерированное имя без шага диалогового окна. Развертывание немедленно появляется в списке Active Deployments под таблицей регионов во время его создания.

Управление конечными точками#

Режимы отображения#

Список развертываний поддерживает три режима просмотра:

РежимОписание
CardsКарточки с полной информацией, логами, примерами кода и панелью предсказаний
CompactСетка из небольших карточек с ключевыми метриками
TableТаблица с сортируемыми столбцами и поиском

Ultralytics Platform Deploy Tab Active Deployments Cards View

Карточка развертывания (режим карточек)#

Каждая карточка развертывания в режиме карточек отображает:

  • Шапка: имя, флаг региона, бейдж статуса и кнопки действий, доступные для текущего статуса — заменить и остановить в статусе Ready, запустить в статусе Stopped, удалить в любой момент.
  • URL эндпоинта: URL с возможностью копирования и ссылкой на собственную справочную документацию по API эндпоинта.
  • Метрики: количество запросов (24ч), задержка P95, частота ошибок или надпись «No traffic yet».
  • Проверка работоспособности: индикатор состояния в реальном времени с задержкой и ручным обновлением
  • Вкладки: Logs, Code и Predict
  • Нижний колонтитул: префикс ключа API, привязанный к развертыванию, и дата, когда оно стало готово.
  • Сообщение о статусе: причина сбоя в случае неудачного развертывания.

URL, метрики, проверка работоспособности и вкладки появляются только тогда, когда развертывание находится в статусе Ready. Вкладка Logs показывает последние записи логов с фильтрацией по уровню критичности (All / Errors). Вкладка Code показывает готовые к использованию примеры кода на Python, JavaScript и cURL с URL твоего эндпоинта, а также привязанный ключ API для владельцев рабочего пространства (см. Monitoring). Вкладка Predict предоставляет встроенную панель предсказаний для тестирования прямо на развертывании.

Компактный вид и вид таблицы

Компактные карточки показывают флаг, имя, город, статус и три метрики. Вид таблицы поддерживает сортировку по имени, региону, статусу, запросам, P95 и ошибкам, а также поиск по имени, региону и статусу. В обоих видах сохраняется действие удаления; запуск, остановка и замена доступны в виде карточек.

Замена модели#

Замени модель за готовым эндпоинтом без изменения его URL:

  1. Открой развертывание в режиме просмотра Cards
  2. Нажми Replace model
  3. Выбери другую завершенную модель из того же рабочего пространства
  4. При желании отредактируй имя развертывания
  5. Нажми Replace Model

Текущая модель продолжает обслуживать запросы, пока запускается замена. Как только замена готова, трафик перенаправляется на новую модель. Идентификатор развертывания, URL, регион и ключ API остаются неизменными; отображаемое имя меняется только при вводе нового. Если замена не удалась, предыдущая модель и имя остаются активными.

Для замены требуется выполнение всех следующих условий, в противном случае она отклоняется:

  • Развертывание находится в статусе Ready и не имеет других выполняющихся операций жизненного цикла.
  • Модель на замену имеет веса и принадлежит тому же рабочему пространству, что и развертывание.
  • Модель на замену не является той моделью, которая уже развернута.
Одна модель на эндпоинт

Замена удаляет предыдущую модель из развертывания. Каждый эндпоинт обслуживает одну модель; создай другое развертывание, когда тебе нужны обе модели одновременно.

Статусы развертывания#

СтатусОписание
СозданиеРазвертывание настраивается
РазвертываниеЗапуск контейнера
ГотовоКонечная точка активна и принимает запросы
ОстановкаКонечная точка завершает работу
ОстановленоЭндпоинт приостановлен и недоступен
FailedОшибка развертывания (см. сообщение об ошибке)

URL конечной точки#

Каждая конечная точка имеет уникальный URL, например:

https://predict-<deployment-id>-<hash>-<region>.a.run.app

Ultralytics Platform Deployment Card Endpoint Url With Copy Button Нажмите кнопку копирования, чтобы скопировать URL. Нажмите значок документации, чтобы открыть собственную справочную документацию по API эндпоинта. Эндпоинт обслуживает следующие пути:

ПутьМетодОписание
/predictPOSTЗапуск инференса; требует ключ API развертывания.
/healthGETПроверка работоспособности, сообщающая статус сервиса и количество кэшированных моделей.
/GETСводка статуса для развернутого сервиса.
/docsGETИнтерактивная справочная документация по API, сгенерированная для этого развертывания, модели и региона.

Управление жизненным циклом#

Управляй состоянием своей конечной точки:

graph LR
    R[Ready]:::out -->|Stop| S[Stopped]:::extern
    S -->|Start| R
    R -->|Delete| D[Deleted]:::error
    S -->|Delete| D

    classDef out fill:#9C27B0,color:#fff
    classDef error fill:#F44336,color:#fff
    classDef extern fill:#607D8B,color:#fff
ДействиеОписание
ЗапускВозобновить работу остановленной конечной точки
СтопПриостановить эндпоинт
Delete (Удалить)Безвозвратно удалить конечную точку

Остановить конечную точку#

Останови эндпоинт, когда не хочешь, чтобы он принимал запросы:

  1. Нажми значок паузы на карточке развертывания
  2. Статус конечной точки изменится на "Stopping", а затем на "Stopped"

Остановленные конечные точки:

  • Не принимать запросы и не сообщать метрики или статус работоспособности.
  • Сохраняют свой URL, регион и привязанный ключ API, и их можно перезапустить в любой момент.
  • Все еще учитываются в квоте развертываний твоего плана — удалите эндпоинт, чтобы освободить его слот.

Удалить конечную точку#

Безвозвратно удали конечную точку:

  1. Нажми значок удаления (корзина) на карточке развертывания
  2. Подтверди удаление в диалоговом окне
Необратимое действие

Удаление является немедленным и окончательным — развертывания не попадают в Trash. Удаление эндпоинта удаляет его сервис и освобождает слот в квоте развертываний. Вы всегда можете создать новый эндпоинт, но он получит новый URL.

Развертывания также удаляются, когда их модель или проект удаляются навсегда, либо когда перемещенная в корзину модель или проект достигает конца своего окна хранения.

Использование конечных точек#

Аутентификация#

Каждое развертывание привязано к одному ключу API из рабочего пространства, которому принадлежит модель. Включайте его в запросы:

Authorization: Bearer YOUR_API_KEY

Эндпоинт принимает только ключ, привязанный при создании, поэтому ни один другой ключ его не откроет — даже другой активный ключ в том же рабочем пространстве. Чтобы управлять тем, какой ключ привязывается, выполняйте развертывание через API, аутентифицированный с помощью ключа владельца рабочего пространства: именно этот ключ и привязывается, и он уже у вас есть. Развертывания, созданные любым другим способом (через интерфейс Platform UI или вызов API, аутентифицированный как член команды), автоматически привязывают один из активных ключей владеющего рабочего пространства — идентифицируйте его по префиксу ключа, отображаемому в нижнем колонтитуле карточки развертывания, и запросите значение у владельца рабочего пространства, так как только владелец может просматривать значения ключей (см. API Keys). Члены команды без привязанного ключа все равно могут запускать инференс через прокси предсказаний Platform в браузере.

Удаление привязанного ключа не блокирует эндпоинт

Удаление или деактивация привязанного ключа API не отменяет прямой доступ к эндпоинту — любой, у кого есть строка ключа, по-прежнему может вызвать URL эндпоинта. Что действительно перестает работать, так это прокси предсказаний Platform, который проверяет ключ в реальном времени и сообщает, что он больше недоступен. Чтобы полностью отменить доступ, остановите или удалите развертывание; после ротации ключей создайте эндпоинт заново, чтобы он привязал новый ключ.

Прямые запросы к эндпоинту#

Отправляйте производственные запросы напрямую на URL, указанный на карточке развертывания. Эти запросы не проходят через ограничитель частоты запросов Platform API, поэтому лимит предсказаний в 20 запросов в минуту не применяется. У эндпоинта по-прежнему есть собственный предел емкости:

  • Один экземпляр обслуживает каждый эндпоинт, обрабатывая ограниченное количество запросов одновременно.
  • Запросы, которые не могут быть обслужены оперативно, возвращают 429 с заголовокм Retry-After.
  • Один запрос может выполняться до 1 часа, что позволяет завершить инференс видео.
  • Ответы размером более 1 КБ сжимаются с помощью gzip, а междоменные запросы из браузера разрешены.

Пример запроса#

import requests

# Deployment endpoint
url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"

# Headers with your deployment API key
headers = {"Authorization": "Bearer YOUR_API_KEY"}

# Inference parameters
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}

# Send image for inference
with open("image.jpg", "rb") as f:
    response = requests.post(url, headers=headers, data=data, files={"file": f})

print(response.json())

Параметры запроса#

ПараметрТипПо умолчаниюДиапазонОписание
fileфайл--Файл изображения или видео (обязательно, если не задано source)
conffloat0.250.01 – 1.0Минимальный порог достоверности
ioufloat0.70.0 – 0.95Порог NMS IoU
imgszint64032 – 1280Размер входного изображения в пикселях
normalizeboolfalse-Возвращать координаты рамки в диапазоне 0–1
decimalsint50 – 10Десятичная точность для значений координат
bitsint88, 12, 16Квантование карты глубин, только для моделей глубины
sourcestring--URL изображения или строка base64 (альтернатива file)

См. раздел Depth responses, чтобы узнать, как bits изменяет возвращаемую карту глубин и как ее декодировать.

Видео-вывод

Выделенные эндпоинты принимают как изображения, так и видео через параметр file.

  • Форматы изображений (до 100 МБ): AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WEBP
  • Форматы видео (до 100 МБ): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV

Каждый кадр видео обрабатывается по отдельности, и результаты возвращаются для каждого кадра. Вы также можете передать публичный URL изображения или изображение, закодированное в base64, через параметр source вместо file. Слишком большие загрузки отклоняются с ошибкой 413.

Формат ответа#

То же самое, что и совместной инференс с полями для конкретной задачи.

FAQ#

  • Лимиты эндпоинтов зависят от тарифного плана:

    • Free: до 3 развертываний
    • Pro: до 10 развертываний
    • Enterprise: неограниченное количество развертываний

    Каждая модель по-прежнему может быть развернута в нескольких регионах в рамках квоты твоего плана. Квота учитывается для рабочего пространства, которому принадлежит модель, поэтому члены команды, развертывающие общую модель, расходуют лимит владельца. При достижении лимита возвращается ошибка с просьбой сначала удалить существующее развертывание.

  • Нет, регионы фиксированы. Чтобы изменить регион:

    1. Удали существующий эндпоинт
    2. Создай новый эндпоинт в нужном регионе

    Новый эндпоинт получает новый URL. Чтобы изменить только модель за эндпоинтом, используйте замену модели, которая сохраняет URL.

  • Для глобального покрытия:

    1. Разверни модель в нескольких регионах
    2. Используй балансировщик нагрузки или DNS-маршрутизацию
    3. Направляй пользователей к ближайшему эндпоинту
  • Время холодного старта зависит от модели и от того, масштабировался ли эндпоинт до нуля; Platform дает простаивающему эндпоинту дополнительное время на запуск перед сообщением о его неработоспособности. Запуск проверки работоспособности с карточки развертывания перед всплеском трафика разогревает экземпляр.

  • Нет. Каждое развертывание обслуживает трафик по сгенерированному URL эндпоинта, указанному на его карточке развертывания, который остается стабильным в течение всего жизненного цикла развертывания, включая замены моделей.

Комментарии