39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
# SPDX-License-Identifier: Apache-2.0
|
|
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
|
|
from collections.abc import Iterable
|
|
|
|
import torch
|
|
from transformers import AutoProcessor
|
|
|
|
from vllm.multimodal import MULTIMODAL_REGISTRY
|
|
|
|
from .qwen3_5 import Qwen3_5MoeForConditionalGeneration
|
|
from .qwen3_vl import (
|
|
Qwen3VLDummyInputsBuilder,
|
|
Qwen3VLMultiModalProcessor,
|
|
Qwen3VLProcessingInfo,
|
|
)
|
|
from .utils import AutoWeightsLoader
|
|
|
|
|
|
class InternS2PreviewProcessingInfo(Qwen3VLProcessingInfo):
|
|
def get_hf_config(self):
|
|
return self.ctx.get_hf_config()
|
|
|
|
def get_hf_processor(self, **kwargs: object) -> AutoProcessor:
|
|
return self.ctx.get_hf_processor(**kwargs)
|
|
|
|
|
|
@MULTIMODAL_REGISTRY.register_processor(
|
|
Qwen3VLMultiModalProcessor,
|
|
info=InternS2PreviewProcessingInfo,
|
|
dummy_inputs=Qwen3VLDummyInputsBuilder,
|
|
)
|
|
class InternS2PreviewForConditionalGeneration(Qwen3_5MoeForConditionalGeneration):
|
|
def load_weights(self, weights: Iterable[tuple[str, torch.Tensor]]) -> set[str]:
|
|
loader = AutoWeightsLoader(
|
|
self,
|
|
skip_prefixes=["mtp.", "model.time_series.", "time_series."],
|
|
)
|
|
return loader.load_weights(weights, mapper=self.hf_to_vllm_mapper)
|