diff --git a/.env.template b/.env.template index 123af642..2b11a80c 100644 --- a/.env.template +++ b/.env.template @@ -142,11 +142,11 @@ LLM_OPENAI_API_KEY=your-api-key-here # DIALECTIC_LEVELS__minimal__MODEL_CONFIG__MODEL=gpt-5.4-mini # DIALECTIC_LEVELS__minimal__MAX_TOOL_ITERATIONS=1 # DIALECTIC_LEVELS__minimal__MAX_OUTPUT_TOKENS=250 -# DIALECTIC_LEVELS__minimal__TOOL_CHOICE=any +# DIALECTIC_LEVELS__minimal__TOOL_CHOICE=auto # DIALECTIC_LEVELS__low__MODEL_CONFIG__TRANSPORT=openai # DIALECTIC_LEVELS__low__MODEL_CONFIG__MODEL=gpt-5.4-mini # DIALECTIC_LEVELS__low__MAX_TOOL_ITERATIONS=5 -# DIALECTIC_LEVELS__low__TOOL_CHOICE=any +# DIALECTIC_LEVELS__low__TOOL_CHOICE=auto # DIALECTIC_LEVELS__medium__MODEL_CONFIG__TRANSPORT=openai # DIALECTIC_LEVELS__medium__MODEL_CONFIG__MODEL=gpt-5.4-mini # DIALECTIC_LEVELS__medium__MAX_TOOL_ITERATIONS=2 diff --git a/config.toml.example b/config.toml.example index 236f3402..4c90e27c 100644 --- a/config.toml.example +++ b/config.toml.example @@ -131,7 +131,7 @@ SESSION_HISTORY_MAX_TOKENS = 4096 [dialectic.levels.minimal] MAX_TOOL_ITERATIONS = 1 MAX_OUTPUT_TOKENS = 250 -TOOL_CHOICE = "any" +TOOL_CHOICE = "auto" [dialectic.levels.minimal.model_config] transport = "openai" @@ -139,7 +139,7 @@ model = "gpt-5.4-mini" [dialectic.levels.low] MAX_TOOL_ITERATIONS = 5 -TOOL_CHOICE = "any" +TOOL_CHOICE = "auto" [dialectic.levels.low.model_config] transport = "openai" diff --git a/src/config.py b/src/config.py index cae0c5de..1703b5cd 100644 --- a/src/config.py +++ b/src/config.py @@ -837,12 +837,12 @@ def _default_dialectic_levels() -> dict[ReasoningLevel, DialecticLevelSettings]: MODEL_CONFIG=_default_model_config(), MAX_TOOL_ITERATIONS=1, MAX_OUTPUT_TOKENS=250, - TOOL_CHOICE="any", + TOOL_CHOICE="auto", ), "low": DialecticLevelSettings( MODEL_CONFIG=_default_model_config(), MAX_TOOL_ITERATIONS=5, - TOOL_CHOICE="any", + TOOL_CHOICE="auto", ), "medium": DialecticLevelSettings( MODEL_CONFIG=_default_model_config(), diff --git a/tests/llm/test_model_config.py b/tests/llm/test_model_config.py index 20d4aa7c..0f0664ff 100644 --- a/tests/llm/test_model_config.py +++ b/tests/llm/test_model_config.py @@ -300,6 +300,9 @@ def test_config_toml_example_uses_nested_model_config_sections() -> None: minimal_level = DialecticLevelSettings.model_validate( config_data["dialectic"]["levels"]["minimal"] ) + low_level = DialecticLevelSettings.model_validate( + config_data["dialectic"]["levels"]["low"] + ) max_level = DialecticLevelSettings.model_validate( config_data["dialectic"]["levels"]["max"] ) @@ -331,6 +334,8 @@ def test_config_toml_example_uses_nested_model_config_sections() -> None: assert deriver_config.thinking_budget_tokens is None assert minimal_level.MODEL_CONFIG.model == "gpt-5.4-mini" assert minimal_level.MODEL_CONFIG.transport == "openai" + assert minimal_level.TOOL_CHOICE == "auto" + assert low_level.TOOL_CHOICE == "auto" assert max_level.MODEL_CONFIG.model == "gpt-5.4-mini" assert max_level.MODEL_CONFIG.transport == "openai" assert max_level.MODEL_CONFIG.thinking_budget_tokens is None @@ -350,6 +355,8 @@ def test_env_template_uses_nested_model_config_keys() -> None: assert "EMBEDDING_VECTOR_DIMENSIONS" in env_template assert "DERIVER_MODEL_CONFIG__MODEL" in env_template assert "DIALECTIC_LEVELS__minimal__MODEL_CONFIG__MODEL" in env_template + assert "DIALECTIC_LEVELS__minimal__TOOL_CHOICE=auto" in env_template + assert "DIALECTIC_LEVELS__low__TOOL_CHOICE=auto" in env_template assert "SUMMARY_MODEL_CONFIG__MODEL" in env_template assert "DREAM_DEDUCTION_MODEL_CONFIG__MODEL" in env_template