From 04913bdaf3c7b46e05270e0faa3502ccc07c5c00 Mon Sep 17 00:00:00 2001 From: AI Christianson Date: Mon, 24 Feb 2025 14:35:09 -0500 Subject: [PATCH] fix bug where model selection on anthropic was always using default --- ra_aid/__main__.py | 6 +++--- ra_aid/models_params.py | 6 ++++++ tests/ra_aid/test_default_provider.py | 9 ++++++++- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/ra_aid/__main__.py b/ra_aid/__main__.py index fa3142f..c4f487e 100644 --- a/ra_aid/__main__.py +++ b/ra_aid/__main__.py @@ -49,7 +49,7 @@ def launch_webui(host: str, port: int): def parse_arguments(args=None): - ANTHROPIC_DEFAULT_MODEL = "claude-3-5-sonnet-20241022" + ANTHROPIC_DEFAULT_MODEL = "claude-3-7-sonnet-20250219" OPENAI_DEFAULT_MODEL = "gpt-4o" parser = argparse.ArgumentParser( @@ -224,8 +224,8 @@ Examples: if parsed_args.provider == "openai": parsed_args.model = parsed_args.model or OPENAI_DEFAULT_MODEL elif parsed_args.provider == "anthropic": - # Always use default model for Anthropic - parsed_args.model = ANTHROPIC_DEFAULT_MODEL + # Use default model for Anthropic only if not specified + parsed_args.model = parsed_args.model or ANTHROPIC_DEFAULT_MODEL elif not parsed_args.model and not parsed_args.research_only: # Require model for other providers unless in research mode parser.error( diff --git a/ra_aid/models_params.py b/ra_aid/models_params.py index 6b9465c..65f0133 100644 --- a/ra_aid/models_params.py +++ b/ra_aid/models_params.py @@ -936,6 +936,12 @@ models_params = { "default_temperature": 1.0, "latency_coefficient": DEFAULT_BASE_LATENCY, }, + "claude-3-7-sonnet-20250219": { + "token_limit": 200000, + "supports_temperature": True, + "default_temperature": 1.0, + "latency_coefficient": DEFAULT_BASE_LATENCY, + }, "claude-3-5-haiku-latest": { "token_limit": 200000, "supports_temperature": True, diff --git a/tests/ra_aid/test_default_provider.py b/tests/ra_aid/test_default_provider.py index a4ddfa9..09aeb73 100644 --- a/tests/ra_aid/test_default_provider.py +++ b/tests/ra_aid/test_default_provider.py @@ -45,7 +45,14 @@ def test_default_anthropic_provider(clean_env, monkeypatch): """Test that Anthropic is the default provider when no environment variables are set.""" args = parse_arguments(["-m", "test message"]) assert args.provider == "anthropic" - assert args.model == "claude-3-5-sonnet-20241022" + assert args.model == "claude-3-7-sonnet-20250219" # Updated to match current default + + +def test_respects_user_specified_anthropic_model(clean_env): + """Test that user-specified Anthropic models are respected.""" + args = parse_arguments(["-m", "test message", "--provider", "anthropic", "--model", "claude-3-5-sonnet-20241022"]) + assert args.provider == "anthropic" + assert args.model == "claude-3-5-sonnet-20241022" # Should not be overridden TEST_CASES = [