Fix duplicate HunyuanVL image boundary tokens (#49691)
Co-authored-by: Jiazhi Mi <jiazhimi@tencent.com>
Mi Jiazhi committed
Jul 31, 2026 at 15:20 UTC
3ee2bd13211e830b1b170d146d551c253801d3d1
1 file changed
+10
-3
vllm/model_executor/models/hunyuan_vision.py
+10
-3
@@ -698,9 +698,12 @@ class HunYuanVLDummyInputsBuilder(BaseDummyInputsBuilder[HunYuanVLProcessingInfo
698
num_images = mm_counts.get("image", 0)
699
700
hf_processor = self.info.get_hf_processor(typ=HunYuanVLProcessor)
701
- image_token: str = hf_processor.image_token
701
+ image_placeholder = (
702
+ f"{hf_processor.image_start_token}{hf_processor.image_token}"
703
+ f"{hf_processor.image_end_token}"
704
+ )
705
703
- return image_token * num_images
706
+ return image_placeholder * num_images
707
708
def get_dummy_mm_data(
709
self,
@@ -779,7 +782,11 @@ class HunYuanVLMultiModalProcessor(BaseMultiModalProcessor[HunYuanVLProcessingIn
782
return [
783
PromptReplacement(
784
modality=modality,
782
- target=[token_ids[modality]],
785
+ target=[
786
+ token_ids[f"{modality}_start"],
787
+ token_ids[modality],
788
+ token_ids[f"{modality}_end"],
789
+ ],
790
replacement=partial(get_replacement_hunyuan_vl, modality=modality),
791
)
792
for modality in ("image",)