From d95d65076292df5cfb4d06ed0bdba7496825c499 Mon Sep 17 00:00:00 2001 From: Raushan Turganbay Date: Fri, 23 Jan 2026 14:34:48 +0100 Subject: [PATCH] [Bugfix] Fix getting vision features in Transformer Multimodal backend (#32933) Signed-off-by: raushan --- vllm/model_executor/models/transformers/multimodal.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/vllm/model_executor/models/transformers/multimodal.py b/vllm/model_executor/models/transformers/multimodal.py index 68c90992e1..f765d945c0 100644 --- a/vllm/model_executor/models/transformers/multimodal.py +++ b/vllm/model_executor/models/transformers/multimodal.py @@ -376,6 +376,15 @@ class MultiModalMixin(SupportsMultiModal, SupportsMRoPE): pixel_values, **kwargs ) + # Transformers `v5`, `self.get_image_features` returns a tuple + # containing the features and optionally attentions/hidden_states + # After v5 is settled, we can enable qwen3-vl with several outputs + # from `self.get_image_features` + if isinstance(vision_embeddings, tuple): + vision_embeddings = vision_embeddings[0] + elif isinstance(vision_embeddings, dict): + vision_embeddings = vision_embeddings.pooler_output + if isinstance(vision_embeddings, torch.Tensor): if vision_embeddings.ndim == 2: vision_embeddings = vision_embeddings.unsqueeze(0)