Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
2dd4e89
Decouple status.hpp from spdlog/fmt; slim down logging.hpp
atobiszei Mar 12, 2026
8c5590c
Phase 2: Remove logging.hpp from headers that don't use logging symbols
atobiszei Mar 12, 2026
dd6571e
Phase 3: Slim modelmanager.hpp - remove openvino, spdlog, sys/stat, m…
atobiszei Mar 12, 2026
7bc73c2
Phase 4: Slim modelconfig.hpp - remove fstream, set, anonymous_input_…
atobiszei Mar 12, 2026
08cd7e0
Phase 5: Introduce ServableNameChecker and MetricProvider interfaces …
atobiszei Mar 12, 2026
948229f
Add ServableType flags to servableExists for unified name collision c…
atobiszei Mar 12, 2026
1aa6003
Move PipelineFactory to unique_ptr, remove template createPipeline wr…
atobiszei Mar 13, 2026
b7d3f4e
Remove pipelineDefinitionExists, replaced by servableExists with Serv…
atobiszei Mar 13, 2026
a09dd9f
Introduce ServableDefinition hierarchy (Phase 1)
atobiszei Mar 13, 2026
a9699ee
Phase 2: Add findServableDefinition, refactor frontend resolution cas…
atobiszei Mar 13, 2026
c9e6bfb
Phase 3A: Expand SingleVersionServableDefinition, unify guards
atobiszei Mar 17, 2026
10bc0ef
Phase 3B: Remove unnecessary includes, move protobuf include to cpp
atobiszei Mar 19, 2026
1e888cf
Phase 3C: Remove transitive includes - tensorinfo from servable.hpp, …
atobiszei Mar 19, 2026
7ff32a5
Phase 3D: Remove protobuf includes from pipelinedefinition.hpp, narro…
atobiszei Mar 19, 2026
f0daff0
Phase 3E-3H: Split mediapipe targets, NodeInitializer registry, remov…
atobiszei Mar 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
273 changes: 179 additions & 94 deletions src/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,31 @@ ovms_cc_library(
name = "servable",
hdrs = ["servable.hpp"],
)
ovms_cc_library(
name = "libovms_servable_definition",
hdrs = ["servable_definition.hpp"],
)
ovms_cc_library(
name = "libovms_single_version_servable_definition",
srcs = [
"servable_definition_unload_guard.cpp",
"single_version_servable_definition.cpp",
],
hdrs = [
"servable_definition_unload_guard.hpp",
"single_version_servable_definition.hpp",
"tensorinfo_fwd.hpp",
],
deps = [
"servable",
"libovms_servable_definition",
"libovms_dags_pipelinedefinitionstatus",
"libovms_tensorinfo",
"libovmslogging",
"libovmsmodelversion",
"libovmsstatus",
],
)
cc_library(
name = "ovms_header",
hdrs = ["ovms.h"],
Expand Down Expand Up @@ -482,6 +507,120 @@ ovms_cc_library(
],
visibility = ["//visibility:public",],
)
ovms_cc_library(
name = "node_initializer",
srcs = [
"mediapipe_internal/node_initializer.cpp",
],
hdrs = [
"mediapipe_internal/node_initializer.hpp",
"mediapipe_internal/graph_side_packets.hpp",
],
deps = [
"libovmsstatus",
],
visibility = ["//visibility:public",],
)
ovms_cc_library(
name = "libovms_mediapipe",
srcs = [
"mediapipe_internal/mediapipefactory.cpp",
"mediapipe_internal/mediapipefactory.hpp",
"mediapipe_internal/mediapipegraphconfig.hpp",
"mediapipe_internal/mediapipegraphconfig.cpp",
"mediapipe_internal/mediapipegraphdefinition.cpp",
"mediapipe_internal/mediapipegraphdefinition.hpp",
"mediapipe_internal/mediapipegraphexecutor.cpp",
"mediapipe_internal/mediapipegraphexecutor.hpp",
"copyable_object_wrapper.hpp",
],
deps = select({
"//:not_disable_python": [
"//src/python:libovmspythonmodule",
],
"//:disable_python": []
}) + [
"node_initializer",
"libovmsmediapipe_utils",
"libovms_dags_pipelinedefinitionstatus",
"libovms_single_version_servable_definition",
"libovms_tensorinfo",
"libovmslogging",
"libovmsstatus",
"model_metric_reporter",
"libovmsmetrics",
"libovms_ov_utils",
"libovmsstring_utils",
"libovms_servable_name_checker",
"libovms_metric_provider",
"libovmsfilesystem",
"libovms_version",
"libovms_execution_context",
"libovmstimer",
"libovmsprofiler",
"@com_github_tencent_rapidjson//:rapidjson",
"//src/port:rapidjson_stringbuffer",
"//src/port:rapidjson_writer",
"@mediapipe//mediapipe/framework:calculator_graph",
"@mediapipe//mediapipe/framework/port:parse_text_proto",
],
visibility = ["//visibility:public",],
additional_copts = COPTS_PYTHON + COPTS_MEDIAPIPE,
alwayslink = 1,
)
ovms_cc_library(
name = "libovms_mediapipe_kfs_executor",
srcs = [
"kfs_frontend/kfs_graph_executor_impl.cpp",
"kfs_frontend/kfs_graph_executor_impl.hpp",
],
deps = select({
"//:not_disable_python": [
"//src/python:libovmspythonmodule",
],
"//:disable_python": []
}) + [
"libovms_mediapipe",
"predict_request_validation_utils",
"tfs_utils",
"libovms_kfs_utils",
"libovms_kfs_grpc_inference_service_h",
"//src/kfserving_api:kfserving_api_cpp",
"opencv_dep",
"@mediapipe//mediapipe/framework/formats:image_frame",
"@mediapipe//mediapipe/framework/formats:image_frame_opencv",
"@mediapipe//mediapipe/framework/formats:tensor",
],
visibility = ["//visibility:public",],
additional_copts = COPTS_PYTHON + COPTS_MEDIAPIPE,
alwayslink = 1,
)
ovms_cc_library(
name = "libovms_mediapipe_http_executor",
srcs = [
"http_frontend/http_graph_executor_impl.cpp",
"http_frontend/http_graph_executor_impl.hpp",
],
deps = select({
"//:not_disable_python": [
"//src/python:libovmspythonmodule",
],
"//:disable_python": []
}) + [
"libovms_mediapipe",
"httppayload",
"libhttp_async_writer_interface",
"opencv_dep",
"//src/port:rapidjson_stringbuffer",
"//src/port:rapidjson_writer",
"@mediapipe//mediapipe/framework/formats:image_frame",
"@mediapipe//mediapipe/framework/formats:image_frame_opencv",
"@mediapipe//mediapipe/framework/formats:tensor",
],
visibility = ["//visibility:public",],
additional_copts = COPTS_PYTHON + COPTS_MEDIAPIPE,
alwayslink = 1,
)
ovms_cc_library(
name = "ovms_lib",
hdrs = [
Expand All @@ -508,8 +647,6 @@ ovms_cc_library(
"dags/gatherexitnodeinputhandler.hpp",
"dags/pipelinedefinition.hpp",
"dags/pipelinedefinition.cpp",
"dags/pipelinedefinitionunloadguard.cpp",
"dags/pipelinedefinitionunloadguard.hpp",
"dags/pipeline_factory.cpp",
"dags/pipeline_factory.hpp",
"get_model_metadata_impl.cpp",
Expand Down Expand Up @@ -547,25 +684,7 @@ ovms_cc_library(
"server.hpp",
"statefulmodelinstance.cpp",
"statefulmodelinstance.hpp",
] + select({
"//:not_disable_mediapipe": [
"copyable_object_wrapper.hpp",
"mediapipe_internal/mediapipefactory.cpp",
"mediapipe_internal/mediapipefactory.hpp",
"mediapipe_internal/mediapipegraphconfig.hpp",
"mediapipe_internal/mediapipegraphconfig.cpp",
"mediapipe_internal/mediapipegraphdefinition.cpp",
"mediapipe_internal/mediapipegraphdefinition.hpp",
"mediapipe_internal/mediapipegraphexecutor.cpp",
"mediapipe_internal/mediapipegraphexecutor.hpp",
"mediapipe_internal/packettypes.hpp",
"kfs_frontend/kfs_graph_executor_impl.cpp",
"kfs_frontend/kfs_graph_executor_impl.hpp",
"http_frontend/http_graph_executor_impl.cpp",
"http_frontend/http_graph_executor_impl.hpp",
],
"//:disable_mediapipe" : [],
}),
],
deps = select({
"//:not_disable_python": [
"//src/python:libovmspythonmodule",
Expand All @@ -574,16 +693,29 @@ ovms_cc_library(
}) + select({
"//conditions:default": [],
"//:not_disable_mediapipe" : [
"libovms_mediapipe",
"libovms_mediapipe_kfs_executor",
"libovms_mediapipe_http_executor",
"@mediapipe_calculators//:mediapipe_calculators",
"@mediapipe//mediapipe/graphs/holistic_tracking:holistic_tracking_to_render_data",
"@mediapipe//mediapipe/graphs/iris_tracking:iris_tracking_cpu_deps",
"@mediapipe//mediapipe/calculators/tensor:image_to_tensor_calculator",
"@mediapipe//mediapipe/modules/holistic_landmark:holistic_landmark_cpu",
"@mediapipe//mediapipe/calculators/geti/inference:inference_calculators",
"@mediapipe//mediapipe/calculators/geti/utils:utils",
"@mediapipe//mediapipe/calculators/geti/utils:emptylabel_calculators",
"@mediapipe//mediapipe/calculators/geti/serialization:calculators",
"//src/llm:openai_completions_api_handler",
"//src/image_gen:image_gen_calculator",
"//src/audio/speech_to_text:s2t_calculator",
"//src/audio/text_to_speech:t2s_calculator",
"//src/audio:audio_utils",
"//src/image_gen:imagegen_init",
"//src/llm:openai_completions_api_handler",
"//src/embeddings:embeddingscalculator_ov",
"//src/rerank:rerankcalculator",
"//src/rerank:rerankcalculator_ov",
"//src/llm:llmcalculator",],
"//src/llm:llmcalculator",
],
}) + select({
"//:enable_drogon": [
"libdrogon_http_server",
Expand Down Expand Up @@ -682,6 +814,10 @@ ovms_cc_library(
"kfs_backend_impl",
"tfs_backend_impl",
"anonymous_input_name",
"libovms_servable_name_checker",
"libovms_metric_provider",
"libovms_servable_definition",
"libovms_single_version_servable_definition",
] + select({
"//:not_disable_cloud": [
"libovmsazurefilesystem",
Expand All @@ -694,22 +830,7 @@ ovms_cc_library(
"@windows_opencl//:opencl",
"@windows_opencl2//:opencl2",
],
})
+ select({
"//conditions:default": [
"@mediapipe_calculators//:mediapipe_calculators", # Need this dependencies here because we use ovms/src - cannot add in ovms_dependencies because we copy src directory later in Dockerfile
"@mediapipe//mediapipe/graphs/holistic_tracking:holistic_tracking_to_render_data",
"@mediapipe//mediapipe/graphs/iris_tracking:iris_tracking_cpu_deps",
"@mediapipe//mediapipe/calculators/tensor:image_to_tensor_calculator",
"@mediapipe//mediapipe/modules/holistic_landmark:holistic_landmark_cpu",
"libovmsmediapipe_utils",
"@mediapipe//mediapipe/calculators/geti/inference:inference_calculators",
"@mediapipe//mediapipe/calculators/geti/utils:utils",
"@mediapipe//mediapipe/calculators/geti/utils:emptylabel_calculators",
"@mediapipe//mediapipe/calculators/geti/serialization:calculators",
],
"//:disable_mediapipe" : [],
}),
}),
visibility = ["//visibility:public",],
additional_copts = COPTS_PYTHON + COPTS_MEDIAPIPE + COPTS_DROGON + COPTS_OV_TRACE,
additional_linkopts = select({
Expand Down Expand Up @@ -1104,40 +1225,6 @@ ovms_cc_library(
visibility = ["//visibility:public"],
)

# Unused
ovms_cc_library( # TODO split dependencies
name = "libovmshttpservermodule",
hdrs = [
"http_server.hpp",
"http_rest_api_handler.hpp",
"httpservermodule.hpp",
],
srcs = [
"http_rest_api_handler.cpp",
"http_server.cpp",
"httpservermodule.cpp",
],
deps = [
"@com_github_jupp0r_prometheus_cpp//core",
"@mediapipe//mediapipe/framework:calculator_framework",
"@tensorflow_serving//tensorflow_serving/apis:prediction_service_cc_proto",
"@tensorflow_serving//tensorflow_serving/util:threadpool_executor",
"@tensorflow_serving//tensorflow_serving/util:json_tensor",
"libovms_module",
"libovmslogging",
"libovmsprofiler",
"libovmsstatus",
"libdrogon_http_server",
"//src/kfserving_api:kfserving_api_cpp",
] + select({
"//:not_disable_python": [
"//src/python:libovmspythonmodule",
],
"//:disable_python": []
}),
visibility = ["//visibility:public"],
)

ovms_cc_library(
name = "libovmsschema",
hdrs = ["schema.hpp",],
Expand Down Expand Up @@ -1188,7 +1275,8 @@ ovms_cc_library(
name = "libovmsstatus",
hdrs = ["status.hpp",],
srcs = ["status.cpp",],
deps = ["libovmslogging"],
deps = ["libovmslogging",
"@fmtlib",],
visibility = ["//visibility:public"],
)

Expand All @@ -1203,6 +1291,20 @@ ovms_cc_library(
visibility = ["//visibility:public",],
)

ovms_cc_library(
name = "libovms_servable_name_checker",
hdrs = ["servable_name_checker.hpp",],
deps = [],
visibility = ["//visibility:public"],
)

ovms_cc_library(
name = "libovms_metric_provider",
hdrs = ["metric_provider.hpp",],
deps = [],
visibility = ["//visibility:public"],
)

ovms_cc_library( # make ovms_lib dependent, use share doptions
name = "libovmsstring_utils",
hdrs = ["stringutils.hpp",],
Expand Down Expand Up @@ -1718,6 +1820,7 @@ ovms_cc_library(
hdrs = ["modelversionstatus.hpp",],
srcs = ["modelversionstatus.cpp",],
deps = [
"@fmtlib",
"libovmslogging",
"libovmsmodelversion",
],
Expand Down Expand Up @@ -1772,12 +1875,12 @@ ovms_cc_library(
name = "nodeinfo",
hdrs = ["dags/nodeinfo.hpp",],
deps = [
"@fmtlib",
"libovms_threadsafequeue",
"libovmsmodelversion",
"libovms_tensorinfo",
"node_library",
"libovms_dags_aliases",
"libovmslogging",
],
visibility = ["//visibility:public"],
)
Expand All @@ -1797,25 +1900,7 @@ ovms_cc_library(
deps = [
"libovmsstatus",
"@com_github_grpc_grpc//:grpc++",
"libovmslogging",
],
visibility = ["//visibility:public"],
)
ovms_cc_library(
# TODO needs further splitting
name = "libovms_dags_pipelinedefinition",
hdrs = ["dags/pipelinedefinition.hpp",],
srcs = ["dags/pipelinedefinition.cpp",],
deps = [
"@com_github_tencent_rapidjson//:rapidjson",
"libovms_kfs_utils",
"tfs_utils",
"libovms_dags_aliases",
"nodeinfo",
"libovms_dags_pipelinedefinitionstatus",
"libovms_tensorinfo",
"notifyreceiver",
"libovmsmodelversion",
"@fmtlib",
],
visibility = ["//visibility:public"],
)
Expand Down
5 changes: 4 additions & 1 deletion src/audio/speech_to_text/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ ovms_cc_library(

ovms_cc_library(
name = "s2t_calculator",
srcs = ["s2t_calculator.cc"],
srcs = ["s2t_calculator.cc",
"stt_node_initializer.cpp"],
deps = [
"@mediapipe//mediapipe/framework:calculator_framework",
"//src:httppayload",
Expand All @@ -39,6 +40,8 @@ ovms_cc_library(
"//third_party:genai",
"//src/audio:audio_utils",
"//src:libmodelconfigjsonparser",
"//src:node_initializer",
"//src:libovmsstring_utils",
],
visibility = ["//visibility:public"],
alwayslink = 1,
Expand Down
Loading