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 10, 12:45 UTC
[Model] Enable LoRA support for tower and connector in DotsOCR (#31825)
Signed-off-by: ShaanveerS <shaanver.singh@gmail.com>
ShaanveerS committed
Jan 8, 2026 at 07:50 UTC
9572f74f1509e138988bf8288291f1f217f101ae
2 files changed
+9
-1
docs/models/supported_models.md
+1
-1
@@ -371,7 +371,7 @@ th {
371
| `DeepseekV2ForCausalLM` | DeepSeek-V2 | `deepseek-ai/DeepSeek-V2`, `deepseek-ai/DeepSeek-V2-Chat`, etc. | ✅︎ | ✅︎ |
372
| `DeepseekV3ForCausalLM` | DeepSeek-V3 | `deepseek-ai/DeepSeek-V3`, `deepseek-ai/DeepSeek-R1`, `deepseek-ai/DeepSeek-V3.1`, etc. | ✅︎ | ✅︎ |
373
| `Dots1ForCausalLM` | dots.llm1 | `rednote-hilab/dots.llm1.base`, `rednote-hilab/dots.llm1.inst`, etc. | | ✅︎ |
374
-| `DotsOCRForCausalLM` | dots_ocr | `rednote-hilab/dots.ocr` | | ✅︎ |
374
+| `DotsOCRForCausalLM` | dots_ocr | `rednote-hilab/dots.ocr` | ✅︎ | ✅︎ |
375
| `Ernie4_5ForCausalLM` | Ernie4.5 | `baidu/ERNIE-4.5-0.3B-PT`, etc. | ✅︎ | ✅︎ |
376
| `Ernie4_5_MoeForCausalLM` | Ernie4.5MoE | `baidu/ERNIE-4.5-21B-A3B-PT`, `baidu/ERNIE-4.5-300B-A47B-PT`, etc. |✅︎| ✅︎ |
377
| `ExaoneForCausalLM` | EXAONE-3 | `LGAI-EXAONE/EXAONE-3.0-7.8B-Instruct`, etc. | ✅︎ | ✅︎ |
vllm/model_executor/models/dots_ocr.py
+8
@@ -765,6 +765,14 @@ class DotsOCRForCausalLM(nn.Module, SupportsMultiModal, SupportsPP, SupportsLoRA
765
def get_language_model(self) -> torch.nn.Module:
766
return self.language_model
767
768
+ def get_num_mm_encoder_tokens(self, num_image_tokens: int) -> int:
769
+ merge_size = self.vision_tower.spatial_merge_size
770
+ return num_image_tokens * (merge_size**2)
771
+
772
+ def get_num_mm_connector_tokens(self, num_vision_tokens: int) -> int:
773
+ merge_size = self.vision_tower.spatial_merge_size
774
+ return num_vision_tokens // (merge_size**2)
775
+
776
def embed_multimodal(self, **kwargs: object) -> MultiModalEmbeddings:
777
image_input = self._parse_and_validate_image_input(**kwargs)
778
if image_input is None: