From 15f9d60dd422f395537eeb5252bd1ee7b9ff9c72 Mon Sep 17 00:00:00 2001 From: Yueqian Lin <70319226+linyueqian@users.noreply.github.com> Date: Sat, 21 Mar 2026 10:18:10 -0400 Subject: [PATCH] [Bugfix] Fix Fish Speech and CosyVoice3 online serving - missing is_comprehension and broken model detection (#2058) Signed-off-by: linyueqian --- vllm_omni/entrypoints/openai/serving_speech.py | 3 ++- vllm_omni/model_executor/stage_configs/cosyvoice3.yaml | 1 + vllm_omni/model_executor/stage_configs/fish_speech_s2_pro.yaml | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/vllm_omni/entrypoints/openai/serving_speech.py b/vllm_omni/entrypoints/openai/serving_speech.py index 5ece2e750..2906288d5 100644 --- a/vllm_omni/entrypoints/openai/serving_speech.py +++ b/vllm_omni/entrypoints/openai/serving_speech.py @@ -144,7 +144,8 @@ class OmniOpenAIServingSpeech(OpenAIServing, AudioMixin): self._tts_stage = self._find_tts_stage() self._is_tts = self._tts_stage is not None self._is_fish_speech = ( - self._tts_stage is not None and getattr(self._tts_stage, "model_stage", None) == "fish_speech_slow_ar" + self._tts_stage is not None + and getattr(getattr(self._tts_stage, "engine_args", None), "model_stage", None) == "fish_speech_slow_ar" ) self._fish_speech_tokenizer = None diff --git a/vllm_omni/model_executor/stage_configs/cosyvoice3.yaml b/vllm_omni/model_executor/stage_configs/cosyvoice3.yaml index cbf2193de..13b6ff55b 100644 --- a/vllm_omni/model_executor/stage_configs/cosyvoice3.yaml +++ b/vllm_omni/model_executor/stage_configs/cosyvoice3.yaml @@ -5,6 +5,7 @@ stage_args: - stage_id: 0 + is_comprehension: true runtime: devices: 0 engine_args: diff --git a/vllm_omni/model_executor/stage_configs/fish_speech_s2_pro.yaml b/vllm_omni/model_executor/stage_configs/fish_speech_s2_pro.yaml index 9b37972f1..10e9f0eab 100644 --- a/vllm_omni/model_executor/stage_configs/fish_speech_s2_pro.yaml +++ b/vllm_omni/model_executor/stage_configs/fish_speech_s2_pro.yaml @@ -2,6 +2,7 @@ async_chunk: true stage_args: - stage_id: 0 stage_type: llm + is_comprehension: true runtime: devices: "0" max_batch_size: 16