#pragma once #include "engine/framework/core/execution_context.h" #include "engine/models/hviske_asr_v6/assets.h" #include #include namespace engine::models::hviske_asr_v6 { struct HviskeV6DecodingOptions { int64_t max_tokens = 440; int64_t num_beams = 2; float length_penalty = 1.0f; std::vector control_tokens; }; class HviskeV6Qwen3DecoderRuntime { public: HviskeV6Qwen3DecoderRuntime(std::shared_ptr assets, core::ExecutionContext & execution, assets::TensorStorageType storage); ~HviskeV6Qwen3DecoderRuntime(); std::vector generate(const std::vector & audio, const HviskeV6DecodingOptions & options); private: struct Impl; std::unique_ptr impl_; }; } // namespace engine::models::hviske_asr_v6