From 333a2707bee03861e8c6312158602858a740b961 Mon Sep 17 00:00:00 2001 From: raushan Date: Fri, 23 Jan 2026 12:05:24 +0100 Subject: [PATCH 1/2] get_image_feats Signed-off-by: raushan --- vllm/model_executor/models/transformers/multimodal.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/vllm/model_executor/models/transformers/multimodal.py b/vllm/model_executor/models/transformers/multimodal.py index 68c90992e190..4ba69a3b3bae 100644 --- a/vllm/model_executor/models/transformers/multimodal.py +++ b/vllm/model_executor/models/transformers/multimodal.py @@ -376,6 +376,13 @@ def embed_multimodal(self, **kwargs): 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] + if isinstance(vision_embeddings, torch.Tensor): if vision_embeddings.ndim == 2: vision_embeddings = vision_embeddings.unsqueeze(0) From 93dbc7c38bb4cd2de59c73f3f41ad34fed61bc04 Mon Sep 17 00:00:00 2001 From: raushan Date: Fri, 23 Jan 2026 12:14:25 +0100 Subject: [PATCH 2/2] can be dict by default sometimes Signed-off-by: raushan --- vllm/model_executor/models/transformers/multimodal.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vllm/model_executor/models/transformers/multimodal.py b/vllm/model_executor/models/transformers/multimodal.py index 4ba69a3b3bae..f765d945c0e3 100644 --- a/vllm/model_executor/models/transformers/multimodal.py +++ b/vllm/model_executor/models/transformers/multimodal.py @@ -382,6 +382,8 @@ def embed_multimodal(self, **kwargs): # 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: