fix: default reasoning effort to medium instead of high

This commit is contained in:
m4
2026-08-20 08:13:57 +08:00
parent 7605136189
commit 8764f2012f
4 changed files with 19 additions and 5 deletions
+3 -3
View File
@@ -459,7 +459,7 @@ class TestThirdPartyRouting:
call_kwargs = mock_init.call_args[1]
assert call_kwargs["model_provider"] == "openrouter"
assert call_kwargs["api_key"] == "or-key-456"
assert call_kwargs["reasoning"] == {"effort": "high", "summary": "auto"}
assert call_kwargs["reasoning"] == {"effort": "medium", "summary": "auto"}
@patch("EvoScientist.llm.models.init_chat_model")
def test_openrouter_reasoning_user_override(self, mock_init, monkeypatch):
@@ -488,7 +488,7 @@ class TestThirdPartyRouting:
get_chat_model("x-ai/grok-4.3", provider="openrouter")
call_kwargs = mock_init.call_args[1]
assert call_kwargs["reasoning"] == {"effort": "high", "summary": "auto"}
assert call_kwargs["reasoning"] == {"effort": "medium", "summary": "auto"}
# --- OpenRouter app attribution (issue #339) ---
@@ -599,7 +599,7 @@ class TestThirdPartyRouting:
call_kwargs = mock_init.call_args[1]
# Existing behavior intact.
assert call_kwargs["reasoning"] == {"effort": "high", "summary": "auto"}
assert call_kwargs["reasoning"] == {"effort": "medium", "summary": "auto"}
assert call_kwargs["model_kwargs"]["cache_control"] == {"type": "ephemeral"}
# Attribution added alongside.
assert call_kwargs["app_url"] == "https://github.com/EvoScientist/EvoScientist"
+14
View File
@@ -802,6 +802,20 @@ def test_model_reasoning_policy_can_restrict_efforts_and_enable_max() -> None:
assert parsed.reasoning_enabled_params == {"reasoning": "high"}
def test_model_reasoning_policy_defaults_to_medium_without_explicit_effort() -> None:
payload = v3_payload()
provider = next(item for item in payload["providers"] if item["adapter_id"] == "openai")
model = provider["models"][0]
model["capabilities"]["thinking"] = True
# 不设置 reasoning_policy.default_effort → 兜底应为 medium
config = EvoModelConfig.parse(payload, require_evidence=False)
parsed = config.providers[provider["provider_id"]].models[model["model_key"]]
assert parsed.supports_reasoning is True
assert parsed.reasoning_enabled_params == {"reasoning": "medium"}
def test_generic_openai_compatible_adapter_supports_standard_model_discovery() -> None:
registration = get_adapter_registry().get(
"generic-openai-compatible", "generic-openai-compatible-v1"