v.5.126.0#
Changes
-
SDK has been updated to version 5.31.2.
- Deepfake estimator has been updated to version 9. The algorithm's accuracy has been improved.
- The
numThreadsparameter now creates exactlynumThreadsthreads (previously it wasnumThreads - 1).
-
A new request
create restreamhas been added, allowing you to launch an HLS restream of any video stream via a link without creating a 'stream' entity.This speeds up stream setup and testing by allowing you to immediately obtain a link and playback token.
-
The
get facesquery parameterssortandorderhave been added to customize the sorting of data in the response body.The
sortparameter can take the values create_time,external_id,user_data,face_id, ornone(disables sorting). The default value isface_idif a filter byface_idsis specified; otherwise, it iscreate_time.The
orderparameter specifies the sort order:ascfor ascending,descfor descending (default isdesc). Sorting byuser_datais performed lexicographically (alphabetically). -
The
agent_groupsparameter has been added to the registration request.This setting allows you to control how flows are distributed among agents. If one or more groups are specified in this parameter, the agent will only process flows from these groups. You can specify a group using
group_idorgroup_name. -
The
LUNA_VIDEO_AGENT_GROUPSparameter has been added to the Video Agent service. It allows you to specify a stream group for the agent. Only streams from the specified group will be processed.You can also specify groups in the Luna-Video-Agent container using environment variables:
VL_SETTINGS.LUNA_VIDEO_AGENT_GROUPS.GROUP_NAMES=[my_greate_group_1,my_greate_group_2] -
The
PIN_THREADSsetting has been removed from theLUNA_REMOTE_SDK_RUNTIME_SETTINGS,LUNA_LAMBDA_AGENT_UNIT_RUNTIME_SETTINGS, andLUNA_VIDEO_AGENT_RUNTIME_SETTINGSsections. The setting is no longer used. -
The
order_columnparameter has been added to theget streamsrequest.This parameter allows you to sort streams by the
namefield. Previously, sorting was only possible by thecreate_timefield.The
orderparameter specifies the sort order:ascfor ascending,descfor descending (default isdesc). -
Support for custom meta information (meta) has been added for objects.
When creating an object, you can now pass custom data as a set of
X-Luna-Meta-<key>headers, where<key>is the name of the metadata field, and the header value is its contents (in JSON format).Example:
X-Luna-Meta-user_info: {"temperature": 36.6}To retrieve stored metadata, use the
with_meta=1query parameter in the get object request. In this case, the metadata will also be returned in the response via theX-Luna-Meta-*request headers. -
The Video Agent service now immediately sends a report to the Video Manager service for streams whose processing has completed or been interrupted due to an error.
Previously, such reports were sent periodically.
See the Video Agent developer guide for more details.
-
New settings have been added to the
LUNA_LAMBDA_AGENT_UNIT_RUNTIME_SETTINGSparameter group:PROGRAM_CACHE_SIZE— limits the number of cached elements, which speeds up work with a large number of tasks;DEFAULT_GPU_DEVICE— allows you to select the default GPU device (relevant for systems with multiple GPUs);CPU_HIGH_WATERMARKandGPU_HIGH_WATERMARK— set the maximum memory size for the CPU and GPU;
For more information, see the SDK documentation.
-
The Video Agent service now supports setting the SDK logging level by passing the
LUNA_SDK_RUNTIME_LOG_LEVELandLUNA_SDK_LOG_LEVELenvironment variables to the container. -
The Lambda service can now collect and store metrics in Prometheus format as time series, allowing you to monitor the behavior and health of your lambdas.
A standard set of metrics is available, as with other LUNA PLATFORM services: total number of requests (
request_count_total), total number of errors (errors_count_total), and a histogram of request execution times (requests). See Export metrics in Prometheus format.To get metrics for a specific lambda, the
get lambda metricsquery has been added.To collect metrics, you must:
- Launch and configure the Prometheus service to collect metrics from
/lambda_metrics. - Enable metrics collection in the
LUNA_SERVICE_METRICSLambda service settings group. - In
LUNA_LAMBDA_METRICS_SETTINGSset theoriginparameter to the current Prometheus IP address.
For more information, see the Lambda section of the developer guide.
- Launch and configure the Prometheus service to collect metrics from
-
The ability to enable/disable lambda upon user request has been added.
This allows Kubernetes cluster resources to be freed up when lambdas are not in use, without deleting their data. Furthermore, starting a disabled lambda is quick, without the need to rebuild the Docker image.
A new parameter,
alive, has been added, which displays the current lambda state:0(disabled) or1(enabled). This parameter is returned in the response when requesting lambda information via get lambda, and also in the list of lambdas via get lambdas.To manage lambda state, use the switch lambda request.
Note: Using lambda in a disabled state via the "/lambdas/{lambda_id}/proxy" resource is not available.
For more information, see the Lambda section of the developer guide.
Fixed errors
-
Fixed an issue where the path was incorrectly registered in Prometheus metrics for requests with invalid HTTP methods (status code 405).
Previously, when accessing an existing route with an unsupported method, the metrics would display the value "{unknown_route}." For example, when making a DELETE request to
/version:{path="DELETE:{unknown_route}",service="luna-api",status_code="405"}Now the metrics correctly indicate the specific path and request method:
{path="DELETE:/version",service="luna-api",status_code="405"} -
Fixed an issue with sending SDK functionality monitoring data to the Video Agent service.
-
Fixed an issue where the Remote SDK service would stop estimating new photos due to incorrect VRAM allocation.
LUNA Vector Search Module
- Starting with this build, a new LUNA Vector Search Module (LVSM) module is available for LUNA PLATFORM 5, expanding the platform's capabilities by leveraging the Qdrant vector database.
LUNA Vector Search Module is a module for creating vector collections based on custom sets of LUNA PLATFORM 5 descriptors, designed for flexible and high-performance event matching. LVSM allows you to:
- Organize fast and flexible searches across billions of vectors (descriptors) using the Qdrant vector database.
- Create collections with automatic data synchronization from LUNA PLATFORM (synchronization only includes adding and deleting events), supporting filtering based on parameters (e.g.,
account_id,create_time). - Integrate with the existing LUNA PLATFORM infrastructure via the Python Matcher Proxy plugin system.
To implement these tasks, the module uses the Qdrant vector database, which provides:
- Built-in sharding—a horizontal scaling mechanism that ensures even load distribution and fault tolerance by automatically distributing data across shards.
- GPU indexing—expands the applicability of vector search to tasks with large data volumes and high performance requirements.
- Advanced search filters (including time intervals and GPS coordinates) with post-filtering—the ability to apply additional filters to search results.
LUNA Vector Search Module is provided as a separate distribution containing an administrator's guide with information about the module's operation, installation instructions (manual and with Docker Compose), OpenAPI specifications, and startup scripts.
For more information, see the LUNA Vector Search Module administrator's guide.