@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / f3732bd931
Fork 0

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. "