From 801a5d1849fd9495bc81926eacc73c59f3f1dae8 Mon Sep 17 00:00:00 2001 From: Sagar Roy Date: Mon, 23 Mar 2026 16:59:51 +0530 Subject: [PATCH] feat: add Groq and Kilo Gateway LLM provider support --- cli/main.py | 21 ++++++++------------- tradingagents/llm_clients/validators.py | 10 ---------- 2 files changed, 8 insertions(+), 23 deletions(-) diff --git a/cli/main.py b/cli/main.py index 5b901814..713d3234 100644 --- a/cli/main.py +++ b/cli/main.py @@ -546,18 +546,19 @@ def get_user_selections(): ) selected_llm_provider, backend_url = select_llm_provider() + # Normalize provider name once for all uses (Kilo Gateway -> kilo) + normalized_provider = selected_llm_provider.lower().replace(" ", "") + if normalized_provider == "kilogateway": + normalized_provider = "kilo" + # Step 6: Thinking agents console.print( create_question_box( "Step 6: Thinking Agents", "Select your thinking agents for analysis" ) ) - # Normalize provider name for model selection (Kilo Gateway -> kilo) - provider_for_models = selected_llm_provider.lower().replace(" ", "") - if provider_for_models == "kilogateway": - provider_for_models = "kilo" - selected_shallow_thinker = select_shallow_thinking_agent(provider_for_models) - selected_deep_thinker = select_deep_thinking_agent(provider_for_models) + selected_shallow_thinker = select_shallow_thinking_agent(normalized_provider) + selected_deep_thinker = select_deep_thinking_agent(normalized_provider) # Step 7: Provider-specific thinking configuration thinking_level = None @@ -590,13 +591,7 @@ def get_user_selections(): ) anthropic_effort = ask_anthropic_effort() - # Normalize provider name for config (Kilo Gateway -> kilo, Openrouter -> openrouter) - normalized_provider = selected_llm_provider.lower().replace(" ", "") - if normalized_provider == "kilogateway": - normalized_provider = "kilo" - if normalized_provider == "openrouter": - normalized_provider = "openrouter" - + # Use already normalized provider from earlier return { "ticker": selected_ticker, "analysis_date": analysis_date, diff --git a/tradingagents/llm_clients/validators.py b/tradingagents/llm_clients/validators.py index 65fa4907..fe300f39 100644 --- a/tradingagents/llm_clients/validators.py +++ b/tradingagents/llm_clients/validators.py @@ -60,16 +60,6 @@ VALID_MODELS = { # Other models via Groq "openai/gpt-oss-120b", ], - "kilo": [ - # Kilo Gateway supports models from multiple providers - # Example models from various providers accessible via Kilo - "anthropic/claude-sonnet-4.5", - "anthropic/claude-opus-4.5", - "openai/gpt-5-mini", - "google/gemini-2.5-flash", - # Minimax models via Kilo - "minimax/minimax-m2.5:free", - ], }