@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 6dcb07f676
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 12, 01:00 UTC

support qwen3-vl handle requests with embeddings (#30037)

Signed-off-by: taoyun <1069423820@qq.com> Signed-off-by: Cyrus Leung <cyrus.tl.leung@gmail.com> Co-authored-by: Cyrus Leung <cyrus.tl.leung@gmail.com>

Tao Yun committed Dec 5, 2025 at 01:34 UTC 6dcb07f676ae473703b4ab69ef15d93f51d24ce8
2 files changed +7 -2
docs/features/multimodal_inputs.md
+2
@@ -443,6 +443,8 @@ For Qwen2-VL and MiniCPM-V, we accept additional parameters alongside the embedd
443 print(generated_text)
444 ```
445
446 +For Qwen3-VL, the `image_embeds` should contain both the base image embedding and deepstack features.
447 +
448 #### Audio Embeddings
449
450 You can pass pre-computed audio embeddings similar to image embeddings:
vllm/model_executor/models/qwen3_vl.py
+5 -2
@@ -103,7 +103,7 @@ from .qwen2_5_vl import (
103 Qwen2_5_VLVideoInputs,
104 Qwen2_5_VLVideoPixelInputs,
105 )
106 -from .qwen2_vl import Qwen2VLProcessingInfo
106 +from .qwen2_vl import Qwen2VLMultiModalDataParser, Qwen2VLProcessingInfo
107 from .qwen3 import Qwen3ForCausalLM, Qwen3Model
108 from .utils import (
109 AutoWeightsLoader,
@@ -884,7 +884,10 @@ class Qwen3VLDummyInputsBuilder(BaseDummyInputsBuilder[Qwen3VLProcessingInfo]):
884
885 class Qwen3VLMultiModalProcessor(BaseMultiModalProcessor[Qwen3VLProcessingInfo]):
886 def _get_data_parser(self) -> MultiModalDataParser:
887 - return MultiModalDataParser(video_needs_metadata=True)
887 + return Qwen2VLMultiModalDataParser(
888 + self.info.get_hf_config().vision_config.spatial_merge_size,
889 + video_needs_metadata=True,
890 + )
891
892 def _call_hf_processor(
893 self,