diff --git a/src/agents/models/default_models.py b/src/agents/models/default_models.py index 0259534ac4..3a8a122e8b 100644 --- a/src/agents/models/default_models.py +++ b/src/agents/models/default_models.py @@ -17,6 +17,16 @@ reasoning=Reasoning(effort="low"), verbosity="low", ) +_GPT_5_NONE_DEFAULT_MODEL_SETTINGS: ModelSettings = ModelSettings( + reasoning=Reasoning(effort="none"), + verbosity="low", +) + +_GPT_5_NONE_EFFORT_MODELS = {"gpt-5.1", "gpt-5.2"} + + +def _is_gpt_5_none_effort_model(model_name: str) -> bool: + return model_name in _GPT_5_NONE_EFFORT_MODELS def gpt_5_reasoning_settings_required(model_name: str) -> bool: @@ -54,5 +64,7 @@ def get_default_model_settings(model: Optional[str] = None) -> ModelSettings: """ _model = model if model is not None else get_default_model() if gpt_5_reasoning_settings_required(_model): + if _is_gpt_5_none_effort_model(_model): + return copy.deepcopy(_GPT_5_NONE_DEFAULT_MODEL_SETTINGS) return copy.deepcopy(_GPT_5_DEFAULT_MODEL_SETTINGS) return ModelSettings() diff --git a/tests/models/test_default_models.py b/tests/models/test_default_models.py index ae8abdda53..d291aac1e3 100644 --- a/tests/models/test_default_models.py +++ b/tests/models/test_default_models.py @@ -26,6 +26,30 @@ def test_default_model_env_gpt_5(): assert get_default_model_settings().reasoning.effort == "low" # type: ignore[union-attr] +@patch.dict(os.environ, {"OPENAI_DEFAULT_MODEL": "gpt-5.1"}) +def test_default_model_env_gpt_5_1(): + assert get_default_model() == "gpt-5.1" + assert is_gpt_5_default() is True + assert gpt_5_reasoning_settings_required(get_default_model()) is True + assert get_default_model_settings().reasoning.effort == "none" # type: ignore[union-attr] + + +@patch.dict(os.environ, {"OPENAI_DEFAULT_MODEL": "gpt-5.2"}) +def test_default_model_env_gpt_5_2(): + assert get_default_model() == "gpt-5.2" + assert is_gpt_5_default() is True + assert gpt_5_reasoning_settings_required(get_default_model()) is True + assert get_default_model_settings().reasoning.effort == "none" # type: ignore[union-attr] + + +@patch.dict(os.environ, {"OPENAI_DEFAULT_MODEL": "gpt-5.2-codex"}) +def test_default_model_env_gpt_5_2_codex(): + assert get_default_model() == "gpt-5.2-codex" + assert is_gpt_5_default() is True + assert gpt_5_reasoning_settings_required(get_default_model()) is True + assert get_default_model_settings().reasoning.effort == "low" # type: ignore[union-attr] + + @patch.dict(os.environ, {"OPENAI_DEFAULT_MODEL": "gpt-5-mini"}) def test_default_model_env_gpt_5_mini(): assert get_default_model() == "gpt-5-mini"