Skip to content

Commit 8c28f22

Browse files
authored
Fix error for grok-4/grok-3-mini not supporting the stop parameter (#1766)
1 parent e106fce commit 8c28f22

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

src/smolagents/models.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -368,8 +368,11 @@ def supports_stop_parameter(model_id: str) -> bool:
368368
bool: True if the model supports the stop parameter, False otherwise
369369
"""
370370
model_name = model_id.split("/")[-1]
371-
# o3, o4-mini, and the gpt-5 series (including versioned variants, o3-2025-04-16) don't support stop parameter
372-
pattern = r"^(o3[-\d]*|o4-mini[-\d]*|gpt-5(-mini|-nano)?[-\d]*)$"
371+
# o3, o4-mini, grok-3-mini, grok-4, grok-code-fast and the gpt-5 series (including versioned variants, o3-2025-04-16) don't support stop parameter
372+
openai_model_pattern = r"(o3[-\d]*|o4-mini[-\d]*|gpt-5(-mini|-nano)?[-\d]*)"
373+
grok_model_pattern = r"([a-zA-Z]+\.)?(grok-3-mini|grok-4|grok-code-fast)(-[A-Za-z0-9]*)?"
374+
pattern = rf"^({openai_model_pattern}|{grok_model_pattern})$"
375+
373376
return not re.match(pattern, model_name)
374377

375378

tests/test_models.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -754,6 +754,13 @@ def test_flatten_messages_as_text_for_all_models(
754754
# Unsupported base models
755755
("o3", False),
756756
("o4-mini", False),
757+
("gpt-5", False),
758+
("gpt-5-mini", False),
759+
("gpt-5-nano", False),
760+
("grok-4", False),
761+
("grok-4-latest", False),
762+
("grok-3-mini", False),
763+
("grok-code-fast-1", False),
757764
# Unsupported versioned models
758765
("o3-2025-04-16", False),
759766
("o4-mini-2025-04-16", False),
@@ -762,12 +769,16 @@ def test_flatten_messages_as_text_for_all_models(
762769
("openai/o4-mini", False),
763770
("openai/o3-2025-04-16", False),
764771
("openai/o4-mini-2025-04-16", False),
772+
("oci/xai.grok-4", False),
773+
("oci/xai.grok-3-mini", False),
765774
# Supported models
766775
("o3-mini", True), # Different from o3
767776
("o3-mini-2025-01-31", True), # Different from o3
768777
("o4", True), # Different from o4-mini
769778
("o4-turbo", True), # Different from o4-mini
770779
("gpt-4", True),
780+
("gpt-5-turbo", True), # Different from gpt-5
781+
("grok-3", True), # Different from grok-3-mini
771782
("claude-3-5-sonnet", True),
772783
("mistral-large", True),
773784
# Supported models with path prefixes

0 commit comments

Comments
 (0)