| 39 | |
| 40 | void log_model_load_trace(const ModelInspection & inspection, const ILoadedVoiceModel & model) { |
| 41 | if (!engine::debug::trace_log_enabled()) { |
| 42 | return; |
| 43 | } |
| 44 | const auto & metadata = model.metadata(); |
| 45 | engine::debug::trace_log_scalar("runtime.model.family", metadata.family); |
| 46 | engine::debug::trace_log_scalar("runtime.model.variant", metadata.variant); |
| 47 | engine::debug::trace_log_scalar("runtime.model.root", inspection.model_root.string()); |
| 48 | engine::debug::trace_log_scalar("runtime.model.discovered_config_count", inspection.discovered_configs.size()); |
| 49 | engine::debug::trace_log_scalar("runtime.model.discovered_weight_count", inspection.discovered_weights.size()); |
| 50 | engine::debug::trace_log_scalar("runtime.model.task_count", model.capabilities().supported_tasks.size()); |
| 51 | engine::debug::trace_log_scalar("runtime.model.language_count", model.capabilities().languages.size()); |
| 52 | engine::debug::trace_log_scalar("runtime.model.supports_speaker_reference", model.capabilities().supports_speaker_reference); |
| 53 | engine::debug::trace_log_scalar("runtime.model.supports_style_condition", model.capabilities().supports_style_condition); |
| 54 | engine::debug::trace_log_scalar("runtime.model.supports_timestamps", model.capabilities().supports_timestamps); |
| 55 | } |
| 56 | |
| 57 | } // namespace |
| 58 | |
| 59 | void ModelRegistry::register_loader(std::shared_ptr<IVoiceModelLoader> loader) { |
| 60 | if (loader == nullptr) { |
| 61 | throw std::invalid_argument("model loader must not be null"); |