From c8efdbd671473d534d7c464e86158427ef22441c Mon Sep 17 00:00:00 2001 From: yuefeng Wu <33725817+ChefWu551@users.noreply.github.com> Date: Thu, 23 Apr 2026 21:54:56 +0800 Subject: [PATCH] [BugFix]: Fix Qwen3-TTS code2wav fails when enforce_eager: false (#2868) Signed-off-by: wuyuefeng <565948592@qq.com> --- .../models/qwen3_tts/qwen3_tts_code2wav.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/vllm_omni/model_executor/models/qwen3_tts/qwen3_tts_code2wav.py b/vllm_omni/model_executor/models/qwen3_tts/qwen3_tts_code2wav.py index 79f0f4a8d..ad9f30a2a 100644 --- a/vllm_omni/model_executor/models/qwen3_tts/qwen3_tts_code2wav.py +++ b/vllm_omni/model_executor/models/qwen3_tts/qwen3_tts_code2wav.py @@ -324,12 +324,18 @@ class Qwen3TTSCode2Wav(nn.Module): multimodal_outputs={"model_outputs": audios, "sr": srs}, ) - def make_omni_output(self, model_outputs: torch.Tensor | OmniOutput, **kwargs: Any) -> OmniOutput: + def make_omni_output(self, model_outputs: torch.Tensor | OmniOutput | tuple, **kwargs: Any) -> OmniOutput: if isinstance(model_outputs, OmniOutput): return model_outputs + if isinstance(model_outputs, tuple) and len(model_outputs) == len(OmniOutput._fields): + return OmniOutput(*model_outputs) + if not (isinstance(model_outputs, tuple) and len(model_outputs) == 2): - raise TypeError(f"Qwen3TTSCode2Wav expected (audio_tensor, sr) outputs, got {type(model_outputs)}") + raise TypeError( + "Qwen3TTSCode2Wav expected OmniOutput, OmniOutput tuple, " + f"or (audio_tensor, sr) outputs, got {type(model_outputs)}" + ) audio_tensor, sr = model_outputs return OmniOutput(