Skip to content

Commit 73a548c

Browse files
rahul-tuliclaude
andcommitted
fix: Add speculators Eagle detection as special case in V1 check
- Import is_speculators_eagle_config function - Add simple check for speculators Eagle models when method is not set - Minimal change that handles speculators format as a special case - Fixes issue where speculative_method was None causing V0 fallback Signed-off-by: rtuli@redhat.com 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Rahul Tuli <rtuli@redhat.com>
1 parent b7d286f commit 73a548c

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

vllm/engine/arg_utils.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
from vllm.transformers_utils.utils import check_gguf_file
4242
from vllm.utils import (STR_DUAL_CHUNK_FLASH_ATTN_VAL, FlexibleArgumentParser,
4343
GiB_bytes, get_ip, is_in_ray_actor)
44+
from vllm.transformers_utils.configs.speculators_eagle import is_speculators_eagle_config
4445

4546
# yapf: enable
4647

@@ -1416,6 +1417,8 @@ def _is_v1_supported_oracle(self, model_config: ModelConfig) -> bool:
14161417
if self.speculative_config is not None:
14171418
# This is supported but experimental (handled below).
14181419
speculative_method = self.speculative_config.get("method")
1420+
speculative_model = self.speculative_config.get("model")
1421+
14191422
if speculative_method:
14201423
if speculative_method in ("ngram", "[ngram]"):
14211424
is_ngram_enabled = True
@@ -1424,9 +1427,14 @@ def _is_v1_supported_oracle(self, model_config: ModelConfig) -> bool:
14241427
elif speculative_method in ("eagle", "eagle3", "deepseek_mtp"):
14251428
is_eagle_enabled = True
14261429
else:
1427-
speculative_model = self.speculative_config.get("model")
1428-
if speculative_model in ("ngram", "[ngram]"):
1429-
is_ngram_enabled = True
1430+
# If method is not set, try to detect from model
1431+
if speculative_model:
1432+
if speculative_model in ("ngram", "[ngram]"):
1433+
is_ngram_enabled = True
1434+
# Special case: Check if it's a speculators Eagle model
1435+
elif is_speculators_eagle_config(speculative_model):
1436+
is_eagle_enabled = True
1437+
14301438
if not (is_ngram_enabled or is_eagle_enabled or is_medusa_enabled):
14311439
# Other speculative decoding methods are not supported yet.
14321440
_raise_or_fallback(feature_name="Speculative Decoding",

0 commit comments

Comments
 (0)