From b0765bee17a901f710a0bf4b9490d2c8e795b0a0 Mon Sep 17 00:00:00 2001 From: Harry Mellor <19981378+hmellor@users.noreply.github.com> Date: Tue, 5 May 2026 12:11:21 +0100 Subject: [PATCH] Fix DeepSeek-OCR for Transformers v4 (#41460) Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com> --- .../configs/deepseek_vl2.py | 23 +++++++------------ 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/vllm/transformers_utils/configs/deepseek_vl2.py b/vllm/transformers_utils/configs/deepseek_vl2.py index 03f24319e2..3d3e20fea8 100644 --- a/vllm/transformers_utils/configs/deepseek_vl2.py +++ b/vllm/transformers_utils/configs/deepseek_vl2.py @@ -101,7 +101,6 @@ else: class DeepseekVLV2Config(PretrainedConfig): model_type = "deepseek_vl_v2" - architectures: list[str] | None = None tile_tag: str = "2D" global_view_pos: str = "head" @@ -114,17 +113,11 @@ class DeepseekVLV2Config(PretrainedConfig): candidate_resolutions: tuple[tuple[int, int]] = ((384, 384),), **kwargs, ): - if "architectures" not in kwargs: - kwargs["architectures"] = ["DeepseekVLV2ForCausalLM"] + architectures = kwargs.setdefault("architectures", ["DeepseekVLV2ForCausalLM"]) - vision_config = kwargs.pop("vision_config", {}) - self.vision_config = VisionEncoderConfig(**vision_config) - - projector_config = kwargs.pop("projector_config", {}) - self.projector_config = MlpProjectorConfig(**projector_config) - - language_config = kwargs.pop("language_config", {}) - self.text_config = DeepseekVLV2TextConfig(**language_config) + self.vision_config = VisionEncoderConfig(**kwargs.pop("vision_config", {})) + self.projector_config = MlpProjectorConfig(**kwargs.pop("projector_config", {})) + self.text_config = DeepseekVLV2TextConfig(**kwargs.pop("language_config", {})) self.tile_tag = tile_tag self.global_view_pos = global_view_pos @@ -132,8 +125,8 @@ class DeepseekVLV2Config(PretrainedConfig): self.vocab_size = self.text_config.vocab_size # update model_type for OCR models - if "DeepseekOCRForCausalLM" in kwargs["architectures"]: - self.model_type = "deepseek_ocr" - elif "DeepseekOCR2ForCausalLM" in kwargs["architectures"]: - self.model_type = "deepseek_ocr2" + if "DeepseekOCRForCausalLM" in architectures: + kwargs["model_type"] = "deepseek_ocr" + elif "DeepseekOCR2ForCausalLM" in architectures: + kwargs["model_type"] = "deepseek_ocr2" super().__init__(**kwargs)