[Bugfix][UT]Fix EagleMiniCPMForCausalLM meet TypeError (#48452)

Signed-off-by: Lai, Yejing <yejing.lai@intel.com>

Yejing Lai committed Jul 13, 2026 at 12:37 UTC 8c5dafcd0986b75602e509c8d3bf7e59451b4181
2 files changed +11 -3
tests/models/registry.py
+1 -1
@@ -1513,7 +1513,7 @@ _SPECULATIVE_DECODING_EXAMPLE_MODELS = {
1513 tokenizer="meta-llama/Llama-4-Scout-17B-16E-Instruct",
1514 ),
1515 "EagleMiniCPMForCausalLM": _HfExamplesInfo(
1516 - "openbmb/MiniCPM-1B-sft-bf16",
1516 + "openbmb/MiniCPM-2B-sft-bf16",
1517 trust_remote_code=True,
1518 speculative_model="openbmb/MiniCPM-2B-sft-bf16",
1519 speculative_method="eagle",
vllm/model_executor/models/minicpm_eagle.py
+10 -2
@@ -70,6 +70,9 @@ class EagleMiniCPMDecoderLayer(nn.Module):
70 self.quant_config = quant_config
71 self.hidden_size = config.hidden_size
72 self.max_position_embeddings = getattr(config, "max_position_embeddings", 8192)
73 + self.mup_denominator = getattr(
74 + config, "mup_denominator", config.num_hidden_layers
75 + )
76 self.prefix = prefix
77 self._init_attn_block()
78 self._init_ffn_block()
@@ -125,7 +128,7 @@ class EagleMiniCPMDecoderLayer(nn.Module):
128 hidden_states=hidden_states,
129 )
130 hidden_states = residual + hidden_states * (
128 - self.config.scale_depth / math.sqrt(self.config.mup_denominator)
131 + self.config.scale_depth / math.sqrt(self.mup_denominator)
132 )
133
134 # Fully Connected
@@ -133,7 +136,7 @@ class EagleMiniCPMDecoderLayer(nn.Module):
136 hidden_states = self.post_attention_layernorm(hidden_states)
137 hidden_states = self.mlp(hidden_states)
138 hidden_states = residual + hidden_states * (
136 - self.config.scale_depth / math.sqrt(self.config.mup_denominator)
139 + self.config.scale_depth / math.sqrt(self.mup_denominator)
140 )
141
142 return hidden_states, None
@@ -360,7 +363,12 @@ class EagleMiniCPMForCausalLM(nn.Module, SupportsLoRA, SupportsPP, SupportsEagle
363 input_ids: torch.Tensor,
364 positions: torch.Tensor,
365 hidden_states: torch.Tensor,
366 + inputs_embeds: torch.Tensor | None = None,
367 ) -> tuple[torch.Tensor, torch.Tensor]:
368 + if inputs_embeds is not None:
369 + raise NotImplementedError(
370 + f"{type(self).__name__} does not support multimodal inputs yet."
371 + )
372 hidden_states, hidden_states2 = self.model(input_ids, positions, hidden_states)
373 hidden_states = hidden_states / self.scale_width
374 hidden_states2 = hidden_states2 / self.scale_width