main
py 99 lines 4.19 KB
Raw
1 # SPDX-License-Identifier: Apache-2.0
2 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3 """Multi-modal processors may be defined in this directory for the following
4 reasons:
5
6 - There is no processing file defined by HF Hub or Transformers library.
7 - There is a need to override the existing processor to support vLLM.
8 """
9
10 import importlib
11
12 __all__ = [
13 "BagelProcessor",
14 "CohereASRProcessor",
15 "Cosmos3EdgeProcessor",
16 "DeepseekVLV2Processor",
17 "FireRedASR2Processor",
18 "FunASRProcessor",
19 "GLM4VProcessor",
20 "Granite4VisionProcessor",
21 "H2OVLProcessor",
22 "Moondream3Processor",
23 "InternVLProcessor",
24 "IsaacProcessor",
25 "KimiAudioProcessor",
26 "KimiK25Processor",
27 "KimiK3Processor",
28 "MiMoOmniProcessor",
29 "MiniCPMOProcessor",
30 "MiniCPMVProcessor",
31 "MiniMaxM3VLImageProcessor",
32 "MiniMaxM3VLVideoProcessor",
33 "MiniMaxVLProcessor",
34 "MistralCommonPixtralProcessor",
35 "MistralCommonVoxtralProcessor",
36 "NanoNemotronVLProcessor",
37 "NemotronVLProcessor",
38 "LlamaNemotronVLEmbedProcessor",
39 "NVLMProcessor",
40 "OpenVLAProcessor",
41 "OvisProcessor",
42 "Ovis2_5Processor",
43 "Qwen3ASRProcessor",
44 "Step3VLProcessor",
45 "InklingProcessor",
46 "InklingImageProcessor",
47 "InklingAudioFeatureExtractor",
48 ]
49
50 _CLASS_TO_MODULE: dict[str, str] = {
51 "BagelProcessor": "vllm.transformers_utils.processors.bagel",
52 "CohereASRProcessor": "vllm.transformers_utils.processors.cohere_asr",
53 "Cosmos3EdgeProcessor": "vllm.transformers_utils.processors.cosmos3_edge",
54 "DeepseekVLV2Processor": "vllm.transformers_utils.processors.deepseek_vl2",
55 "FireRedASR2Processor": "vllm.transformers_utils.processors.fireredasr2",
56 "FunASRProcessor": "vllm.transformers_utils.processors.funasr",
57 "GLM4VProcessor": "vllm.transformers_utils.processors.glm4v",
58 "Granite4VisionProcessor": "vllm.transformers_utils.processors.granite4_vision",
59 "H2OVLProcessor": "vllm.transformers_utils.processors.h2ovl",
60 "InternVLProcessor": "vllm.transformers_utils.processors.internvl",
61 "IsaacProcessor": "vllm.transformers_utils.processors.isaac",
62 "KimiAudioProcessor": "vllm.transformers_utils.processors.kimi_audio",
63 "KimiK25Processor": "vllm.transformers_utils.processors.kimi_k25",
64 "KimiK3Processor": "vllm.transformers_utils.processors.kimi_k3",
65 "MiMoOmniProcessor": "vllm.transformers_utils.processors.mimo_v2_omni",
66 "MiniCPMOProcessor": "vllm.transformers_utils.processors.minicpmo",
67 "MiniCPMVProcessor": "vllm.transformers_utils.processors.minicpmv",
68 "MiniMaxM3VLImageProcessor": "vllm.transformers_utils.processors.minimax_m3",
69 "MiniMaxM3VLVideoProcessor": "vllm.transformers_utils.processors.minimax_m3",
70 "MiniMaxVLProcessor": "vllm.transformers_utils.processors.minimax_m3",
71 "MistralCommonPixtralProcessor": "vllm.transformers_utils.processors.pixtral",
72 "MistralCommonVoxtralProcessor": "vllm.transformers_utils.processors.voxtral",
73 "Moondream3Processor": "vllm.transformers_utils.processors.moondream3",
74 "NanoNemotronVLProcessor": "vllm.transformers_utils.processors.nano_nemotron_vl",
75 "NemotronVLProcessor": "vllm.transformers_utils.processors.nemotron_vl",
76 "LlamaNemotronVLEmbedProcessor": "vllm.transformers_utils.processors.nemotron_vl",
77 "NVLMProcessor": "vllm.transformers_utils.processors.nvlm_d",
78 "OpenVLAProcessor": "vllm.transformers_utils.processors.openvla",
79 "OvisProcessor": "vllm.transformers_utils.processors.ovis",
80 "Ovis2_5Processor": "vllm.transformers_utils.processors.ovis2_5",
81 "Qwen3ASRProcessor": "vllm.transformers_utils.processors.qwen3_asr",
82 "Step3VLProcessor": "vllm.transformers_utils.processors.step3_vl",
83 "InklingProcessor": "vllm.transformers_utils.processors.inkling",
84 "InklingImageProcessor": "vllm.transformers_utils.processors.inkling",
85 "InklingAudioFeatureExtractor": "vllm.transformers_utils.processors.inkling",
86 }
87
88
89 def __getattr__(name: str):
90 if name in _CLASS_TO_MODULE:
91 module_name = _CLASS_TO_MODULE[name]
92 module = importlib.import_module(module_name)
93 return getattr(module, name)
94
95 raise AttributeError(f"module 'processors' has no attribute '{name}'")
96
97
98 def __dir__():
99 return sorted(list(__all__))