#pragma once #include "engine/framework/core/execution_context.h" #include "engine/models/ace_step/assets.h" #include "engine/models/ace_step/types.h" #include #include namespace engine::models::ace_step { class AceStepQwen3TextEncoderRuntime { public: AceStepQwen3TextEncoderRuntime( core::ExecutionContext & execution, std::shared_ptr assets, assets::TensorStorageType weight_storage_type = assets::TensorStorageType::Native); ~AceStepQwen3TextEncoderRuntime(); AceStepTextConditioning encode(const AceStepTokenizedText & tokens) const; AceStepTextConditioning embed_tokens(const AceStepTokenizedText & tokens) const; void prepare_runtime() const; void release_runtime_graphs() const; private: class Graph; core::ExecutionContext * execution_ = nullptr; std::shared_ptr assets_; assets::TensorStorageType weight_storage_type_ = assets::TensorStorageType::Native; mutable std::unique_ptr graph_; }; } // namespace engine::models::ace_step