From 905ed2c8fcecb4113e813e291700261c161416b0 Mon Sep 17 00:00:00 2001 From: AI Christianson Date: Wed, 12 Feb 2025 15:55:47 -0500 Subject: [PATCH] improve expert model auto detection --- ra_aid/__main__.py | 21 +++++++++++++++------ ra_aid/models_params.py | 2 +- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/ra_aid/__main__.py b/ra_aid/__main__.py index e63adc0..9a8a850 100644 --- a/ra_aid/__main__.py +++ b/ra_aid/__main__.py @@ -116,9 +116,9 @@ Examples: parser.add_argument( "--expert-provider", type=str, - default="openai", + default=None, choices=VALID_PROVIDERS, - help="The LLM provider to use for expert knowledge queries (default: openai)", + help="The LLM provider to use for expert knowledge queries", ) parser.add_argument( "--expert-model", @@ -218,10 +218,19 @@ Examples: # Handle expert provider/model defaults if not parsed_args.expert_provider: - # If no expert provider specified, use main provider instead of defaulting to - # to any particular model since we do not know if we have access to any other model. - parsed_args.expert_provider = parsed_args.provider - parsed_args.expert_model = parsed_args.model + # Check for OpenAI API key first + if os.environ.get("OPENAI_API_KEY"): + parsed_args.expert_provider = "openai" + parsed_args.expert_model = None # Will be auto-selected + # If no OpenAI key but DeepSeek key exists, use DeepSeek + elif os.environ.get("DEEPSEEK_API_KEY"): + parsed_args.expert_provider = "deepseek" + parsed_args.expert_model = "deepseek-reasoner" + else: + # Fall back to main provider if neither is available + parsed_args.expert_provider = parsed_args.provider + parsed_args.expert_model = parsed_args.model + # Validate temperature range if provided if parsed_args.temperature is not None and not ( diff --git a/ra_aid/models_params.py b/ra_aid/models_params.py index 6d4e375..21e04ae 100644 --- a/ra_aid/models_params.py +++ b/ra_aid/models_params.py @@ -270,7 +270,7 @@ models_params = { "claude-3-5-sonnet-20241022": { "token_limit": 200000, "supports_temperature": True, - "default_temperature": DEFAULT_TEMPERATURE, + "default_temperature": 1.0, }, "claude-3-5-haiku-latest": { "token_limit": 200000,