Supported architectures

The table below lists every Hugging Face architecture that modelbuilder.builder.create_model() can convert, together with the builder class that handles it. It is generated automatically at documentation build time by parsing the dispatch chain of create_model (see modelbuilder.architectures.list_supported_architectures()), so it is always in sync with the code.

The architecture name is the value of config.architectures[0] in the Hugging Face config.json. To convert a model of a given family, point -m or -i at a checkpoint whose config declares that architecture.

49 architectures are currently supported.

Architecture

Builder

ChatGLMForConditionalGeneration

modelbuilder.builders.chatglm.ChatGLMModel

ChatGLMModel

modelbuilder.builders.chatglm.ChatGLMModel

DeepseekV3ForCausalLM

modelbuilder.builders.deepseek.DeepSeekV3Model

DeepseekV4ForCausalLM

modelbuilder.builders.deepseek.DeepSeekV3Model

Ernie4_5ForCausalLM

modelbuilder.builders.ernie.ErnieModel

Gemma2ForCausalLM

modelbuilder.builders.gemma.Gemma2Model

Gemma3ForCausalLM

modelbuilder.builders.gemma.Gemma3Model

Gemma3ForConditionalGeneration

modelbuilder.builders.gemma.Gemma3Model

Gemma4ForCausalLM

modelbuilder.builders.gemma.Gemma4Model

Gemma4ForConditionalGeneration

modelbuilder.builders.gemma.Gemma4Model

GemmaForCausalLM

modelbuilder.builders.gemma.GemmaModel

GPT2LMHeadModel

modelbuilder.builders.gpt2.GPT2Model

GptOssForCausalLM

modelbuilder.builders.gptoss.GPTOSSModel

GraniteForCausalLM

modelbuilder.builders.granite.GraniteModel

HunYuanDenseV1ForCausalLM

modelbuilder.builders.hunyuan.HunyuanDenseV1Model

InternLM2ForCausalLM

modelbuilder.builders.internlm.InternLM2Model

Lfm2ForCausalLM

modelbuilder.builders.lfm2.LFM2Model

LlamaForCausalLM

modelbuilder.builders.llama.LlamaModel

MageFlowForCausalLM

modelbuilder.builders.mageflow.MageFlowModel

Ministral3ForCausalLM

modelbuilder.builders.mistral.Ministral3TextModel

Mistral3ForConditionalGeneration

modelbuilder.builders.mistral.Ministral3ConditionalGenerationModel

MistralForCausalLM

modelbuilder.builders.mistral.MistralModel

MistralNeMoForCausalLM

modelbuilder.builders.mistral.MistralNeMoModel

MixtralForCausalLM

modelbuilder.builders.mistral.MixtralModel

NemotronForCausalLM

modelbuilder.builders.nemotron.NemotronModel

NemotronHForCausalLM

modelbuilder.builders.nemotron.NemotronHModel

Olmo2ForCausalLM

modelbuilder.builders.olmo.OLMo2Model

Olmo3ForCausalLM

modelbuilder.builders.olmo.OLMo3Model

OlmoForCausalLM

modelbuilder.builders.olmo.OLMoModel

Phi3ForCausalLM

modelbuilder.builders.phi.Phi3MiniModel

Phi3SmallForCausalLM

modelbuilder.builders.phi.Phi3SmallModel

Phi3VForCausalLM

modelbuilder.builders.phi.Phi3VModel

Phi4MMForCausalLM

modelbuilder.builders.phi.Phi4MMModel

Phi4MultimodalForCausalLM

modelbuilder.builders.phi.Phi4MultimodalConditionalGenerationModel

PhiForCausalLM

modelbuilder.builders.phi.PhiModel

PhiMoEForCausalLM

modelbuilder.builders.phi.Phi3MoELongRoPEModel

Qwen2_5_VLForConditionalGeneration

modelbuilder.builders.qwen.Qwen25VLTextModel

Qwen2_5OmniForConditionalGeneration

modelbuilder.builders.qwen.Qwen25OmniConditionalGenerationModel

Qwen2_5OmniThinkerForConditionalGeneration

modelbuilder.builders.qwen.Qwen25OmniConditionalGenerationModel

Qwen2ForCausalLM

modelbuilder.builders.qwen.QwenModel

Qwen3_5ForCausalLM

modelbuilder.builders.qwen.Qwen35CausalLMModel

Qwen3_5ForConditionalGeneration

modelbuilder.builders.qwen.Qwen35TextModel

Qwen3_5MoeForCausalLM

modelbuilder.builders.qwen.Qwen35MoeCausalLMModel

Qwen3_5MoeForConditionalGeneration

modelbuilder.builders.qwen.Qwen35MoeTextModel

Qwen3ForCausalLM

modelbuilder.builders.qwen.Qwen3Model

Qwen3VLForConditionalGeneration

modelbuilder.builders.qwen.Qwen3VLTextModel

SmolLM3ForCausalLM

modelbuilder.builders.smollm.SmolLM3Model

VideoChatFlashQwenForCausalLM

modelbuilder.builders.qwen.VideoChatFlashQwenModel

WhisperForConditionalGeneration

modelbuilder.builders.whisper.WhisperModel

Adding a new architecture

Support for a new family is added by:

  1. implementing a Model subclass in modelbuilder/builders/ (usually subclassing an existing builder and overriding the few pieces that differ);

  2. adding an elif config.architectures[0] == "<Name>ForCausalLM": branch to create_model() that instantiates the builder;

  3. adding a fast test under tests/fast that converts a tiny random-weight model and checks the discrepancies.

Once the branch is added, this page picks up the new architecture automatically.