95 lines
3.9 KiB
Python
95 lines
3.9 KiB
Python
# SPDX-License-Identifier: Apache-2.0
|
|
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
|
|
"""
|
|
Multi-modal processors may be defined in this directory for the following
|
|
reasons:
|
|
|
|
- There is no processing file defined by HF Hub or Transformers library.
|
|
- There is a need to override the existing processor to support vLLM.
|
|
"""
|
|
|
|
import importlib
|
|
|
|
__all__ = [
|
|
"BagelProcessor",
|
|
"CheersProcessor",
|
|
"CohereASRProcessor",
|
|
"DeepseekVLV2Processor",
|
|
"FireRedASR2Processor",
|
|
"FireRedLIDProcessor",
|
|
"FunASRProcessor",
|
|
"GLM4VProcessor",
|
|
"Granite4VisionProcessor",
|
|
"H2OVLProcessor",
|
|
"Moondream3Processor",
|
|
"InternVLProcessor",
|
|
"IsaacProcessor",
|
|
"KimiAudioProcessor",
|
|
"KimiK25Processor",
|
|
"MiMoOmniProcessor",
|
|
"MiniCPMOProcessor",
|
|
"MiniCPMVProcessor",
|
|
"MiniMaxM3VLImageProcessor",
|
|
"MiniMaxM3VLVideoProcessor",
|
|
"MiniMaxVLProcessor",
|
|
"MistralCommonPixtralProcessor",
|
|
"MistralCommonVoxtralProcessor",
|
|
"NanoNemotronVLProcessor",
|
|
"NemotronVLProcessor",
|
|
"LlamaNemotronVLEmbedProcessor",
|
|
"NVLMProcessor",
|
|
"OpenVLAProcessor",
|
|
"OvisProcessor",
|
|
"Ovis2_5Processor",
|
|
"Qwen3ASRProcessor",
|
|
"Step3VLProcessor",
|
|
]
|
|
|
|
_CLASS_TO_MODULE: dict[str, str] = {
|
|
"BagelProcessor": "vllm.transformers_utils.processors.bagel",
|
|
"CheersProcessor": "vllm.transformers_utils.processors.cheers",
|
|
"CohereASRProcessor": "vllm.transformers_utils.processors.cohere_asr",
|
|
"DeepseekVLV2Processor": "vllm.transformers_utils.processors.deepseek_vl2",
|
|
"FireRedASR2Processor": "vllm.transformers_utils.processors.fireredasr2",
|
|
"FireRedLIDProcessor": "vllm.transformers_utils.processors.fireredlid",
|
|
"FunASRProcessor": "vllm.transformers_utils.processors.funasr",
|
|
"GLM4VProcessor": "vllm.transformers_utils.processors.glm4v",
|
|
"Granite4VisionProcessor": "vllm.transformers_utils.processors.granite4_vision",
|
|
"H2OVLProcessor": "vllm.transformers_utils.processors.h2ovl",
|
|
"InternVLProcessor": "vllm.transformers_utils.processors.internvl",
|
|
"IsaacProcessor": "vllm.transformers_utils.processors.isaac",
|
|
"KimiAudioProcessor": "vllm.transformers_utils.processors.kimi_audio",
|
|
"KimiK25Processor": "vllm.transformers_utils.processors.kimi_k25",
|
|
"MiMoOmniProcessor": "vllm.transformers_utils.processors.mimo_v2_omni",
|
|
"MiniCPMOProcessor": "vllm.transformers_utils.processors.minicpmo",
|
|
"MiniCPMVProcessor": "vllm.transformers_utils.processors.minicpmv",
|
|
"MiniMaxM3VLImageProcessor": "vllm.transformers_utils.processors.minimax_m3",
|
|
"MiniMaxM3VLVideoProcessor": "vllm.transformers_utils.processors.minimax_m3",
|
|
"MiniMaxVLProcessor": "vllm.transformers_utils.processors.minimax_m3",
|
|
"MistralCommonPixtralProcessor": "vllm.transformers_utils.processors.pixtral",
|
|
"MistralCommonVoxtralProcessor": "vllm.transformers_utils.processors.voxtral",
|
|
"Moondream3Processor": "vllm.transformers_utils.processors.moondream3",
|
|
"NanoNemotronVLProcessor": "vllm.transformers_utils.processors.nano_nemotron_vl",
|
|
"NemotronVLProcessor": "vllm.transformers_utils.processors.nemotron_vl",
|
|
"LlamaNemotronVLEmbedProcessor": "vllm.transformers_utils.processors.nemotron_vl",
|
|
"NVLMProcessor": "vllm.transformers_utils.processors.nvlm_d",
|
|
"OpenVLAProcessor": "vllm.transformers_utils.processors.openvla",
|
|
"OvisProcessor": "vllm.transformers_utils.processors.ovis",
|
|
"Ovis2_5Processor": "vllm.transformers_utils.processors.ovis2_5",
|
|
"Qwen3ASRProcessor": "vllm.transformers_utils.processors.qwen3_asr",
|
|
"Step3VLProcessor": "vllm.transformers_utils.processors.step3_vl",
|
|
}
|
|
|
|
|
|
def __getattr__(name: str):
|
|
if name in _CLASS_TO_MODULE:
|
|
module_name = _CLASS_TO_MODULE[name]
|
|
module = importlib.import_module(module_name)
|
|
return getattr(module, name)
|
|
|
|
raise AttributeError(f"module 'processors' has no attribute '{name}'")
|
|
|
|
|
|
def __dir__():
|
|
return sorted(list(__all__))
|