fix(config): use auto tool choice for dialectic defaults (#630)

This commit is contained in:
banteg 2026-04-29 21:19:44 +04:00 committed by GitHub
parent 03a2374ea1
commit 94ade07c12
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 13 additions and 6 deletions

View File

@ -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

View File

@ -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"

View File

@ -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(),

View File

@ -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