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 6, 12:00 UTC
[Misc] Clean up model registry (#37457)
Signed-off-by: DarkLight1337 <tlleungac@connect.ust.hk>
Cyrus Leung committed
Mar 19, 2026 at 02:24 UTC
f3732bd9313a48da57e409c04898646783a6141c
1 file changed
+45
-46
vllm/model_executor/models/registry.py
+45
-46
@@ -124,8 +124,8 @@ _TEXT_GENERATION_MODELS = {
124
"GPTNeoXForCausalLM": ("gpt_neox", "GPTNeoXForCausalLM"),
125
"GraniteForCausalLM": ("granite", "GraniteForCausalLM"),
126
"GraniteMoeForCausalLM": ("granitemoe", "GraniteMoeForCausalLM"),
127
- "GraniteMoeHybridForCausalLM": ("granitemoehybrid", "GraniteMoeHybridForCausalLM"), # noqa: E501
128
- "GraniteMoeSharedForCausalLM": ("granitemoeshared", "GraniteMoeSharedForCausalLM"), # noqa: E501
127
+ "GraniteMoeHybridForCausalLM": ("granitemoehybrid", "GraniteMoeHybridForCausalLM"),
128
+ "GraniteMoeSharedForCausalLM": ("granitemoeshared", "GraniteMoeSharedForCausalLM"),
129
"GritLM": ("gritlm", "GritLM"),
130
"Grok1ModelForCausalLM": ("grok1", "GrokForCausalLM"),
131
"Grok1ForCausalLM": ("grok1", "GrokForCausalLM"),
@@ -143,7 +143,7 @@ _TEXT_GENERATION_MODELS = {
143
"JAISLMHeadModel": ("jais", "JAISLMHeadModel"),
144
"Jais2ForCausalLM": ("jais2", "Jais2ForCausalLM"),
145
"JambaForCausalLM": ("jamba", "JambaForCausalLM"),
146
- "KimiLinearForCausalLM": ("kimi_linear", "KimiLinearForCausalLM"), # noqa: E501
146
+ "KimiLinearForCausalLM": ("kimi_linear", "KimiLinearForCausalLM"),
147
"Lfm2ForCausalLM": ("lfm2", "Lfm2ForCausalLM"),
148
"Lfm2MoeForCausalLM": ("lfm2_moe", "Lfm2MoeForCausalLM"),
149
"LlamaForCausalLM": ("llama", "LlamaForCausalLM"),
@@ -249,17 +249,14 @@ _EMBEDDING_MODELS = {
249
# [Multimodal]
250
"CLIPModel": ("clip", "CLIPEmbeddingModel"),
251
"ColPaliForRetrieval": ("colpali", "ColPaliModel"),
252
+ "LlamaNemotronVLModel": ("nemotron_vl", "LlamaNemotronVLForEmbedding"),
253
"LlavaNextForConditionalGeneration": (
254
"llava_next",
255
"LlavaNextForConditionalGeneration",
256
),
257
"Phi3VForCausalLM": ("phi3v", "Phi3VForCausalLM"),
257
- "Qwen2VLForConditionalGeneration": ("qwen2_vl", "Qwen2VLForConditionalGeneration"), # noqa: E501
258
+ "Qwen2VLForConditionalGeneration": ("qwen2_vl", "Qwen2VLForConditionalGeneration"),
259
"SiglipModel": ("siglip", "SiglipEmbeddingModel"),
259
- "LlamaNemotronVLModel": (
260
- "nemotron_vl",
261
- "LlamaNemotronVLForEmbedding",
262
- ),
260
# Technically Terratorch models work on images, both in
261
# input and output. I am adding it here because it piggy-backs on embedding
262
# models for the time being.
@@ -304,7 +301,7 @@ _SEQUENCE_CLASSIFICATION_MODELS = {
301
"bert_with_rope",
302
"GteNewForSequenceClassification",
303
),
307
- "JambaForSequenceClassification": ("jamba", "JambaForSequenceClassification"), # noqa: E501
304
+ "JambaForSequenceClassification": ("jamba", "JambaForSequenceClassification"),
305
"LlamaBidirectionalForSequenceClassification": (
306
"llama",
307
"LlamaBidirectionalForSequenceClassification",
@@ -368,13 +365,13 @@ _MULTIMODAL_MODELS = {
365
"fireredasr2",
366
"FireRedASR2ForConditionalGeneration",
367
),
371
- "FunASRForConditionalGeneration": ("funasr", "FunASRForConditionalGeneration"), # noqa: E501
368
+ "FunASRForConditionalGeneration": ("funasr", "FunASRForConditionalGeneration"),
369
"FunAudioChatForConditionalGeneration": (
370
"funaudiochat",
371
"FunAudioChatForConditionalGeneration",
372
),
373
"FuyuForCausalLM": ("fuyu", "FuyuForCausalLM"),
377
- "Gemma3ForConditionalGeneration": ("gemma3_mm", "Gemma3ForConditionalGeneration"), # noqa: E501
374
+ "Gemma3ForConditionalGeneration": ("gemma3_mm", "Gemma3ForConditionalGeneration"),
375
"Gemma3nForConditionalGeneration": (
376
"gemma3n_mm",
377
"Gemma3nForConditionalGeneration",
@@ -383,7 +380,7 @@ _MULTIMODAL_MODELS = {
380
"GLM4VForCausalLM": ("glm4v", "GLM4VForCausalLM"),
381
"Glm4vForConditionalGeneration": ("glm4_1v", "Glm4vForConditionalGeneration"),
382
"Glm4vMoeForConditionalGeneration": ("glm4_1v", "Glm4vMoeForConditionalGeneration"),
386
- "GlmOcrForConditionalGeneration": ("glm_ocr", "GlmOcrForConditionalGeneration"), # noqa: E501
383
+ "GlmOcrForConditionalGeneration": ("glm_ocr", "GlmOcrForConditionalGeneration"),
384
"GraniteSpeechForConditionalGeneration": (
385
"granite_speech",
386
"GraniteSpeechForConditionalGeneration",
@@ -393,13 +390,7 @@ _MULTIMODAL_MODELS = {
390
"hunyuan_vision",
391
"HunYuanVLForConditionalGeneration",
392
),
396
- "StepVLForConditionalGeneration": ("step_vl", "StepVLForConditionalGeneration"),
393
"InternVLChatModel": ("internvl", "InternVLChatModel"),
398
- "NemotronH_Nano_VL_V2": ("nano_nemotron_vl", "NemotronH_Nano_VL_V2"),
399
- "OpenCUAForConditionalGeneration": (
400
- "opencua",
401
- "OpenCUAForConditionalGeneration",
402
- ),
394
"InternS1ForConditionalGeneration": (
395
"interns1",
396
"InternS1ForConditionalGeneration",
@@ -417,24 +408,22 @@ _MULTIMODAL_MODELS = {
408
"Idefics3ForConditionalGeneration",
409
),
410
"IsaacForConditionalGeneration": ("isaac", "IsaacForConditionalGeneration"),
420
- "SmolVLMForConditionalGeneration": ("smolvlm", "SmolVLMForConditionalGeneration"), # noqa: E501
411
"KananaVForConditionalGeneration": ("kanana_v", "KananaVForConditionalGeneration"),
412
"KeyeForConditionalGeneration": ("keye", "KeyeForConditionalGeneration"),
413
"KeyeVL1_5ForConditionalGeneration": (
414
"keye_vl1_5",
415
"KeyeVL1_5ForConditionalGeneration",
416
),
427
- "RForConditionalGeneration": ("rvl", "RForConditionalGeneration"),
428
- "KimiVLForConditionalGeneration": ("kimi_vl", "KimiVLForConditionalGeneration"), # noqa: E501
429
- "KimiK25ForConditionalGeneration": ("kimi_k25", "KimiK25ForConditionalGeneration"), # noqa: E501
430
- "MoonshotKimiaForCausalLM": ("kimi_audio", "KimiAudioForConditionalGeneration"), # noqa: E501
417
+ "KimiVLForConditionalGeneration": ("kimi_vl", "KimiVLForConditionalGeneration"),
418
+ "KimiK25ForConditionalGeneration": ("kimi_k25", "KimiK25ForConditionalGeneration"),
419
+ "MoonshotKimiaForCausalLM": ("kimi_audio", "KimiAudioForConditionalGeneration"),
420
"LightOnOCRForConditionalGeneration": (
421
"lightonocr",
422
"LightOnOCRForConditionalGeneration",
423
),
424
"Lfm2VlForConditionalGeneration": ("lfm2_vl", "Lfm2VLForConditionalGeneration"),
425
+ "Llama4ForConditionalGeneration": ("mllama4", "Llama4ForConditionalGeneration"),
426
"Llama_Nemotron_Nano_VL": ("nemotron_vl", "LlamaNemotronVLChatModel"),
437
- "Llama4ForConditionalGeneration": ("mllama4", "Llama4ForConditionalGeneration"), # noqa: E501
427
"LlavaForConditionalGeneration": ("llava", "LlavaForConditionalGeneration"),
428
"LlavaNextForConditionalGeneration": (
429
"llava_next",
@@ -448,7 +437,7 @@ _MULTIMODAL_MODELS = {
437
"llava_onevision",
438
"LlavaOnevisionForConditionalGeneration",
439
),
451
- "MantisForConditionalGeneration": ("llava", "MantisForConditionalGeneration"), # noqa: E501
440
+ "MantisForConditionalGeneration": ("llava", "MantisForConditionalGeneration"),
441
"MiDashengLMModel": ("midashenglm", "MiDashengLMModel"),
442
"MiniMaxVL01ForConditionalGeneration": (
443
"minimax_vl_01",
@@ -462,7 +451,9 @@ _MULTIMODAL_MODELS = {
451
),
452
"MolmoForCausalLM": ("molmo", "MolmoForCausalLM"),
453
"Molmo2ForConditionalGeneration": ("molmo2", "Molmo2ForConditionalGeneration"),
454
+ "NemotronH_Nano_VL_V2": ("nano_nemotron_vl", "NemotronH_Nano_VL_V2"),
455
"NVLM_D": ("nvlm_d", "NVLM_D_Model"),
456
+ "OpenCUAForConditionalGeneration": ("opencua", "OpenCUAForConditionalGeneration"),
457
"OpenPanguVLForConditionalGeneration": (
458
"openpangu_vl",
459
"OpenPanguVLForConditionalGeneration",
@@ -481,9 +472,9 @@ _MULTIMODAL_MODELS = {
472
),
473
"Phi3VForCausalLM": ("phi3v", "Phi3VForCausalLM"),
474
"Phi4MMForCausalLM": ("phi4mm", "Phi4MMForCausalLM"),
484
- "PixtralForConditionalGeneration": ("pixtral", "PixtralForConditionalGeneration"), # noqa: E501
485
- "QwenVLForConditionalGeneration": ("qwen_vl", "QwenVLForConditionalGeneration"), # noqa: E501
486
- "Qwen2VLForConditionalGeneration": ("qwen2_vl", "Qwen2VLForConditionalGeneration"), # noqa: E501
475
+ "PixtralForConditionalGeneration": ("pixtral", "PixtralForConditionalGeneration"),
476
+ "QwenVLForConditionalGeneration": ("qwen_vl", "QwenVLForConditionalGeneration"),
477
+ "Qwen2VLForConditionalGeneration": ("qwen2_vl", "Qwen2VLForConditionalGeneration"),
478
"Qwen2_5_VLForConditionalGeneration": (
479
"qwen2_5_vl",
480
"Qwen2_5_VLForConditionalGeneration",
@@ -508,33 +499,30 @@ _MULTIMODAL_MODELS = {
499
"qwen3_asr",
500
"Qwen3ASRForConditionalGeneration",
501
),
511
- "Qwen3ASRRealtimeGeneration": (
512
- "qwen3_asr_realtime",
513
- "Qwen3ASRRealtimeGeneration",
514
- ),
515
- "Qwen3VLForConditionalGeneration": ("qwen3_vl", "Qwen3VLForConditionalGeneration"), # noqa: E501
502
+ "Qwen3ASRRealtimeGeneration": ("qwen3_asr_realtime", "Qwen3ASRRealtimeGeneration"),
503
+ "Qwen3VLForConditionalGeneration": ("qwen3_vl", "Qwen3VLForConditionalGeneration"),
504
"Qwen3VLMoeForConditionalGeneration": (
505
"qwen3_vl_moe",
506
"Qwen3VLMoeForConditionalGeneration",
507
),
520
- "Qwen3_5ForConditionalGeneration": (
521
- "qwen3_5",
522
- "Qwen3_5ForConditionalGeneration",
523
- ),
508
+ "Qwen3_5ForConditionalGeneration": ("qwen3_5", "Qwen3_5ForConditionalGeneration"),
509
"Qwen3_5MoeForConditionalGeneration": (
510
"qwen3_5",
511
"Qwen3_5MoeForConditionalGeneration",
512
),
513
+ "RForConditionalGeneration": ("rvl", "RForConditionalGeneration"),
514
"SkyworkR1VChatModel": ("skyworkr1v", "SkyworkR1VChatModel"),
529
- "Step3VLForConditionalGeneration": ("step3_vl", "Step3VLForConditionalGeneration"), # noqa: E501
530
- "TarsierForConditionalGeneration": ("tarsier", "TarsierForConditionalGeneration"), # noqa: E501
515
+ "SmolVLMForConditionalGeneration": ("smolvlm", "SmolVLMForConditionalGeneration"),
516
+ "StepVLForConditionalGeneration": ("step_vl", "StepVLForConditionalGeneration"),
517
+ "Step3VLForConditionalGeneration": ("step3_vl", "Step3VLForConditionalGeneration"),
518
+ "TarsierForConditionalGeneration": ("tarsier", "TarsierForConditionalGeneration"),
519
"Tarsier2ForConditionalGeneration": (
520
"qwen2_vl",
521
"Tarsier2ForConditionalGeneration",
522
),
523
"UltravoxModel": ("ultravox", "UltravoxModel"),
536
- "VoxtralForConditionalGeneration": ("voxtral", "VoxtralForConditionalGeneration"), # noqa: E501
537
- "VoxtralRealtimeGeneration": ("voxtral_realtime", "VoxtralRealtimeGeneration"), # noqa: E501
524
+ "VoxtralForConditionalGeneration": ("voxtral", "VoxtralForConditionalGeneration"),
525
+ "VoxtralRealtimeGeneration": ("voxtral_realtime", "VoxtralRealtimeGeneration"),
526
# [Encoder-decoder]
527
"CohereASRForConditionalGeneration": (
528
"cohere_asr",
@@ -544,7 +532,7 @@ _MULTIMODAL_MODELS = {
532
"nemotron_parse",
533
"NemotronParseForConditionalGeneration",
534
),
547
- "WhisperForConditionalGeneration": ("whisper", "WhisperForConditionalGeneration"), # noqa: E501
535
+ "WhisperForConditionalGeneration": ("whisper", "WhisperForConditionalGeneration"),
536
}
537
538
_SPECULATIVE_DECODING_MODELS = {
@@ -654,14 +642,17 @@ _PREVIOUSLY_SUPPORTED_MODELS = {
642
"Phi4MultimodalForCausalLM": "0.12.0",
643
# encoder-decoder models except whisper
644
# have been removed for V0 deprecation.
657
- "BartModel": "0.10.2",
658
- "BartForConditionalGeneration": "0.10.2",
645
"DonutForConditionalGeneration": "0.10.2",
660
- "Florence2ForConditionalGeneration": "0.10.2",
661
- "MBartForConditionalGeneration": "0.10.2",
646
"MllamaForConditionalGeneration": "0.10.2",
647
}
648
649
+_OOT_SUPPORTED_MODELS = {
650
+ "BartModel": "https://github.com/vllm-project/bart-plugin",
651
+ "BartForConditionalGeneration": "https://github.com/vllm-project/bart-plugin",
652
+ "Florence2ForConditionalGeneration": "https://github.com/vllm-project/bart-plugin",
653
+ "MBartForConditionalGeneration": "https://github.com/vllm-project/bart-plugin",
654
+}
655
+
656
657
@dataclass(frozen=True)
658
class _ModelInfo:
@@ -958,6 +949,14 @@ class _ModelRegistry:
949
"Please use an older version of vLLM if you want to "
950
"use this model architecture."
951
)
952
+ if arch in _OOT_SUPPORTED_MODELS:
953
+ plugin_url = _OOT_SUPPORTED_MODELS[arch]
954
+
955
+ raise ValueError(
956
+ f"Model architecture {arch} is not supported in-tree anymore. "
957
+ f"Please install the plugin at {plugin_url} if you want to "
958
+ "use this model architecture."
959
+ )
960
961
raise ValueError(
962
f"Model architectures {architectures} are not supported for now. "