Перейти к содержанию

v.5.126.0#

Изменения

  • SDK обновлён до версии 5.31.2.

    • DeepfakeEstimator обновлён до версии 9. Повышена точность работы алгоритма.
    • Параметр numThreads — теперь создаёт ровно numThreads потоков (ранее было numThreads - 1).
  • Добавлен новый запрос create restream, позволяющий запускать HLS-ретрансляцию любого видеопотока по ссылке без создания сущности 'поток'.

    Это ускоряет настройку и тестирование потоков, позволяя сразу получать ссылку и токен для воспроизведения.

  • В запрос get faces добавлены query-параметры sort и order, позволяющие настроить сортировку данных в теле ответа.

    Параметр sort может принимать значения create_time, external_id, user_data, face_id или none (отключает сортировку). Значение по умолчанию - face_id, если задан фильтр по face_ids, в остальных случаях - create_time.

    Параметр order задает порядок сортировки: asc — по возрастанию, desc — по убыванию (по умолчанию desc). Сортировка по user_data выполняется лексикографически (по алфавиту).

  • Добавлен параметр agent_groups в запрос registration request.

    Настройка позволяет управлять распределением потоков по агентам. Если в параметре указана одна или несколько групп, то агент будет обрабатывать только потоки из этих групп. Возможно указание группы через group_id или group_name.

  • Параметр LUNA_VIDEO_AGENT_GROUPS был добавлен для сервиса Video Agent. Он позволяет указывать группу потоков для агента. Только потоки из указанной группы будут обработаны.

    Возможно так же задавать группы в контейнере Luna-Video-Agent через переменные окружения:

    VL_SETTINGS.LUNA_VIDEO_AGENT_GROUPS.GROUP_NAMES=[my_greate_group_1,my_greate_group_2]

  • Настройка PIN_THREADS удалена из разделов LUNA_REMOTE_SDK_RUNTIME_SETTINGS, LUNA_LAMBDA_AGENT_UNIT_RUNTIME_SETTINGS, LUNA_VIDEO_AGENT_RUNTIME_SETTINGS. Настройка более не используется.

  • В запрос get streams добавлен параметр order_column.

    Он позволяет выполнять сортировку потоков по полю name. Ранее была доступна сортировка только по полю create_time.

    Параметр order задает порядок сортировки: asc — по возрастанию, desc — по убыванию (по умолчанию desc).

  • Добавлена поддержка пользовательской метаинформации (meta) для объектов.

    Теперь при создании объекта можно передавать пользовательские данные в виде набора заголовков X-Luna-Meta-<ключ>, где <ключ> — имя поля метаинформации, а значение заголовка — его содержимое (в формате JSON).

    Пример: X-Luna-Meta-user_info: {"temperature": 36.6}

    Для получения сохраненной метаинформации нужно в запросе на получение объекта использовать query-параметр with_meta=1 — в этом случае метаданные вернутся в ответе также через заголовки запроса X-Luna-Meta-*.

  • Сервис Video Agent теперь сразу отправляет отчет в сервис Video Manager для потоков, обработка которых завершилась или прервалась из-за ошибки.

    Раньше такие отчеты отправлялись периодически.

    См. подробную информацию в руководстве разработчика сервиса Video Agent.

  • В группу параметров LUNA_LAMBDA_AGENT_UNIT_RUNTIME_SETTINGS добавлены новые настройки:

    • PROGRAM_CACHE_SIZE — ограничивает количество кэшируемых элементов, что ускоряет работу при большом числе задач;
    • DEFAULT_GPU_DEVICE — позволяет выбрать GPU-устройство по умолчанию (актуально для систем с несколькими GPU);
    • CPU_HIGH_WATERMARK и GPU_HIGH_WATERMARK — задают максимальный объём памяти для CPU и GPU.

    Для подробной информации см. документацию SDK.

  • В сервис Video Agent добавлена ​​возможность задать уровень логирования SDK, передав в контейнер переменные окружения LUNA_SDK_RUNTIME_LOG_LEVEL и LUNA_SDK_LOG_LEVEL.

  • Теперь сервис Lambda может собирать и сохранять метрики в формате Prometheus в виде временных рядов, что позволяет отслеживать поведение и состояние пользовательских лямбд.

    Доступен стандартный набор метрик, как и для других сервисов LUNA PLATFORM: общее количество запросов (request_count_total), общее количество ошибок (errors_count_total) и гистограмма длительности выполнения запросов (requests). См. Экспорт метрик в формате Prometheus.

    Для получения метрик конкретной lambda добавлен запрос get lambda metrics.

    Для сбора метрик необходимо:

    • запустить и настроить сервис Prometheus для сбора метрик с /lambda_metrics;
    • включить сбор метрик в группе настроек LUNA_SERVICE_METRICS сервиса Lambda;
    • в LUNA_LAMBDA_METRICS_SETTINGS установить параметр origin на актуальный IP-адрес Prometheus.

    См. подробную информацию в разделе Lambda руководства разработчика.

  • Добавлена возможность включения/отключения lambda по запросу пользователя.

    Это позволяет освободить ресурсы кластера Kubernetes, когда какие-то из лямбд не используются, без удаления их данных. При этом запуск отключённой лямбды происходит быстро, без необходимости повторной сборки Docker-образа.

    Добавлен новый параметр alive, который отображает текущее состояние lambda: 0 (выключена) или 1 (включена). Этот параметр возвращается в ответе при запросе информации о лямбде через get lambda, а также в списке лямбд через get lambdas.

    Для управления состоянием lambda необходимо использовать запрос switch lambda.

    Примечание. Использование lambda в отключенном состоянии через ресурс /lambdas/{lambda_id}/proxy недоступно.

    См. подробную информацию в разделе Lambda руководства разработчика.

Исправленные ошибки

  • Исправлена некорректная регистрация пути в метриках Prometheus для запросов с недопустимыми HTTP-методами (код состояния 405).

    Ранее при обращении к существующему маршруту с неподдерживаемым методом в метриках отображалось значение "{unknown_route}". Например, при выполнении запроса DELETE к /version:

    {path="DELETE:{unknown_route}",service="luna-api",status_code="405"}

    Теперь в метриках корректно указывается конкретный путь и метод запроса:

    {path="DELETE:/version",service="luna-api",status_code="405"}

  • Исправлена неработающая отправка данных мониторинга функционала SDK в сервисе Video Agent.

  • Исправлена проблема при которой сервис Remote SDK переставал выполнять эстимацию на новых фотоизображениях из-за некорректного выделения VRAM.

LUNA Vector Search Module

  • Начиная с этой сборки для LUNA PLATFORM 5 доступен новый модуль LUNA Vector Search Module (LVSM), расширяющий возможности платформы за счёт использования векторной базы данных Qdrant.

    LUNA Vector Search Module — это модуль для создания векторных коллекций на основе пользовательских наборов дескрипторов LUNA PLATFORM 5, предназначенный для организации гибкого и высокопроизводительного матчинга по событиям. LVSM позволяет:

    • Организовывать быстрый и гибкий поиск по миллиардам векторов (дескрипторов) с использованием векторной базы данных Qdrant.
    • Создавать коллекции с автоматической синхронизацией данных из LUNA PLATFORM (синхронизация включает только добавление и удаление событий), поддерживая фильтрацию с учетом параметров (например, account_id, create_time).
    • Интегрироваться с существующей инфраструктурой LUNA PLATFORM через систему плагинов Python Matcher Proxy.

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

    • Встроенное шардирование — механизм горизонтального масштабирования, обеспечивающий равномерное распределение нагрузки и отказоустойчивость за счет автоматического распределения данных между шардами.
    • Построение индексов на GPU — расширяет область применения векторного поиска на задачи с большими объемами данных и требованиями к производительности.
    • Расширенные фильтры при поиске (включая временные промежутки и GPS-координаты) с возможностью постфильтрации — применения дополнительных фильтров к результатам поиска.

    LUNA Vector Search Module поставляется в качестве отдельного дистрибутива, содержащего руководство администратора с информацией о работе модуля, инструкции по установке (ручной и с помощью Docker Compose), спецификации OpenAPI и скрипты запуска.

    Для дополнительной информации см. руководство администратора LUNA Vector Search Module.