Files
vllm-omni/vllm_omni/model_executor/models/registry.py
T

157 lines
4.3 KiB
Python
Raw Normal View History

2026-03-04 22:52:56 +08:00
from vllm.model_executor.models.registry import (
_VLLM_MODELS,
_LazyRegisteredModel,
_ModelRegistry,
)
2025-10-24 16:49:19 +08:00
_OMNI_MODELS = {
"Qwen2_5OmniForConditionalGeneration": (
"qwen2_5_omni",
2025-10-24 16:49:19 +08:00
"qwen2_5_omni",
"Qwen2_5OmniForConditionalGeneration",
),
"Qwen2_5OmniThinkerModel": (
"qwen2_5_omni",
2025-10-24 16:49:19 +08:00
"qwen2_5_omni_thinker",
"Qwen2_5OmniThinkerForConditionalGeneration",
2025-12-19 16:42:02 +08:00
),
2025-10-24 16:49:19 +08:00
"Qwen2_5OmniTalkerModel": (
"qwen2_5_omni",
2025-10-24 16:49:19 +08:00
"qwen2_5_omni_talker",
"Qwen2_5OmniTalkerForConditionalGeneration",
2025-12-19 16:42:02 +08:00
),
2025-10-24 16:49:19 +08:00
"Qwen2_5OmniToken2WavModel": (
"qwen2_5_omni",
2025-10-24 16:49:19 +08:00
"qwen2_5_omni_token2wav",
"Qwen2_5OmniToken2WavForConditionalGenerationVLLM",
),
"Qwen2_5OmniToken2WavDiTModel": (
"qwen2_5_omni",
2025-10-24 16:49:19 +08:00
"qwen2_5_omni_token2wav",
"Qwen2_5OmniToken2WavModel",
),
"Qwen2ForCausalLM_old": ("qwen2_5_omni", "qwen2_old", "Qwen2ForCausalLM"), # need to discuss
2025-11-30 04:44:01 +08:00
# Qwen3 Omni MoE models
"Qwen3OmniMoeForConditionalGeneration": (
"qwen3_omni",
"qwen3_omni",
"Qwen3OmniMoeForConditionalGeneration",
),
"Qwen3OmniMoeThinkerForConditionalGeneration": (
"qwen3_omni",
"qwen3_omni_moe_thinker",
"Qwen3OmniMoeThinkerForConditionalGeneration",
),
"Qwen3OmniMoeTalkerForConditionalGeneration": (
"qwen3_omni",
"qwen3_omni_moe_talker",
"Qwen3OmniMoeTalkerForConditionalGeneration",
),
"Qwen3OmniMoeCode2Wav": (
"qwen3_omni",
"qwen3_omni_code2wav",
"Qwen3OmniMoeCode2Wav",
),
2026-03-05 00:54:59 +00:00
"CosyVoice3Model": (
"cosyvoice3",
"cosyvoice3",
"CosyVoice3Model",
),
2026-03-04 22:52:56 +08:00
"MammothModa2Qwen2ForCausalLM": (
"mammoth_moda2",
"mammoth_moda2",
"MammothModa2Qwen2ForCausalLM",
),
"MammothModa2ARForConditionalGeneration": (
"mammoth_moda2",
"mammoth_moda2",
"MammothModa2ARForConditionalGeneration",
),
"MammothModa2DiTPipeline": (
"mammoth_moda2",
"pipeline_mammothmoda2_dit",
"MammothModa2DiTPipeline",
),
"MammothModa2ForConditionalGeneration": (
"mammoth_moda2",
"mammoth_moda2",
"MammothModa2ForConditionalGeneration",
),
"Mammothmoda2Model": (
"mammoth_moda2",
"mammoth_moda2",
"MammothModa2ForConditionalGeneration",
),
"Qwen3TTSForConditionalGeneration": (
"qwen3_tts",
"qwen3_tts_talker",
"Qwen3TTSTalkerForConditionalGeneration",
),
"Qwen3TTSTalkerForConditionalGeneration": (
"qwen3_tts",
"qwen3_tts_talker",
"Qwen3TTSTalkerForConditionalGeneration",
),
"Qwen3TTSCode2Wav": (
"qwen3_tts",
"qwen3_tts_code2wav",
"Qwen3TTSCode2Wav",
),
## mimo_audio
"MiMoAudioModel": (
"mimo_audio",
"mimo_audio",
"MiMoAudioForConditionalGeneration",
),
"MiMoAudioLLMModel": (
"mimo_audio",
"mimo_audio_llm",
"MiMoAudioLLMForConditionalGeneration",
),
"MiMoAudioToken2WavModel": (
"mimo_audio",
"mimo_audio_code2wav",
"MiMoAudioToken2WavForConditionalGenerationVLLM",
),
## glm_image
2026-02-27 10:29:14 +08:00
"GlmImageForConditionalGeneration": (
"glm_image",
"glm_image_ar",
"GlmImageForConditionalGeneration",
),
2026-03-09 22:23:50 +08:00
"OmniBagelForConditionalGeneration": (
"bagel",
"bagel",
"OmniBagelForConditionalGeneration",
),
"HunyuanImage3ForCausalMM": (
"hunyuan_image3",
"hunyuan_image3",
"HunyuanImage3ForConditionalGeneration",
),
2025-10-24 16:49:19 +08:00
}
2026-01-22 18:09:55 +08:00
2025-10-24 16:49:19 +08:00
_VLLM_OMNI_MODELS = {
**_VLLM_MODELS,
**_OMNI_MODELS,
}
OmniModelRegistry = _ModelRegistry(
{
**{
model_arch: _LazyRegisteredModel(
module_name=f"vllm.model_executor.models.{mod_relname}",
class_name=cls_name,
)
for model_arch, (mod_relname, cls_name) in _VLLM_MODELS.items()
},
**{
model_arch: _LazyRegisteredModel(
module_name=f"vllm_omni.model_executor.models.{mod_folder}.{mod_relname}",
2025-10-24 16:49:19 +08:00
class_name=cls_name,
)
for model_arch, (mod_folder, mod_relname, cls_name) in _OMNI_MODELS.items()
2025-10-24 16:49:19 +08:00
},
}
)