From 9042068094cae60b50795754f642a21161b24f09 Mon Sep 17 00:00:00 2001 From: X-iZhang Date: Sat, 11 Jul 2026 00:51:06 +0100 Subject: [PATCH] feat(models): add support for GPT-5.6 variants and update context windows for Grok models --- EvoScientist/llm/context_window.py | 8 ++++++-- EvoScientist/llm/models.py | 9 ++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/EvoScientist/llm/context_window.py b/EvoScientist/llm/context_window.py index e1f3c95..c8bca7c 100644 --- a/EvoScientist/llm/context_window.py +++ b/EvoScientist/llm/context_window.py @@ -20,9 +20,9 @@ _KNOWN_MODEL_CONTEXT_WINDOWS: dict[str, int] = { # Qwen 3.7 closed-source tiers — Max flagship and Plus (1M). "qwen3.7-max": 1_000_000, "qwen3.7-plus": 1_000_000, - # xAI Grok — per-model windows (build-0.1: 256K, 4.3: 1M). + # xAI Grok — per-model windows (build-0.1: 256K, 4.5: 500K). "grok-build-0.1": 256_000, - "grok-4.3": 1_000_000, + "grok-4.5": 500_000, # Claude Haiku 4.5 — exception to the ``claude-`` family (200K, not 1M). "claude-haiku-4-5": 200_000, # MiniMax M3 — 1M context (M2.x variants stay at provider default ~204K). @@ -32,6 +32,8 @@ _KNOWN_MODEL_CONTEXT_WINDOWS: dict[str, int] = { # Zhipu GLM-5.2 — 1M context, an exception to the ``glm-5`` family (203K). # Matches OpenRouter ``z-ai/glm-5.2`` via split('/')[-1]. "glm-5.2": 1_000_000, + # Tencent Hunyuan HY3 — 262K context (OpenRouter ``tencent/hy3``). + "hy3": 262_000, } # Family-level fallbacks: tried only after exact-name lookup misses. @@ -40,6 +42,8 @@ _KNOWN_MODEL_CONTEXT_WINDOWS: dict[str, int] = { _KNOWN_MODEL_FAMILIES: list[tuple[str, int]] = [ # All Claude — 1M via the ``context-1m-2025-08-07`` beta header. ("claude-", 1_000_000), + # OpenAI GPT-5.6 family — sol, terra, luna variants + ("gpt-5.6", 1_050_000), # OpenAI GPT-5.5 family — base, pro, future variants ("gpt-5.5", 1_050_000), # Google Gemini 3.x family — flash, flash-lite, pro (1.05M). Excludes 2.5. diff --git a/EvoScientist/llm/models.py b/EvoScientist/llm/models.py index 9eeb1af..5484676 100644 --- a/EvoScientist/llm/models.py +++ b/EvoScientist/llm/models.py @@ -89,6 +89,9 @@ _MODEL_ENTRIES: list[tuple[str, str, str]] = [ ("claude-sonnet-4-6", "claude-sonnet-4-6", "anthropic"), ("claude-haiku-4-5", "claude-haiku-4-5", "anthropic"), # OpenAI + ("gpt-5.6-sol", "gpt-5.6-sol", "openai"), + ("gpt-5.6-terra", "gpt-5.6-terra", "openai"), + ("gpt-5.6-luna", "gpt-5.6-luna", "openai"), ("gpt-5.5-pro", "gpt-5.5-pro", "openai"), ("gpt-5.5", "gpt-5.5", "openai"), ("gpt-5.4", "gpt-5.4", "openai"), @@ -145,6 +148,9 @@ _MODEL_ENTRIES: list[tuple[str, str, str]] = [ ("claude-opus-4.8-fast", "anthropic/claude-opus-4.8-fast", "openrouter"), ("claude-sonnet-5", "anthropic/claude-sonnet-5", "openrouter"), ("claude-sonnet-4.6", "anthropic/claude-sonnet-4.6", "openrouter"), + ("gpt-5.6-sol", "openai/gpt-5.6-sol", "openrouter"), + ("gpt-5.6-terra", "openai/gpt-5.6-terra", "openrouter"), + ("gpt-5.6-luna", "openai/gpt-5.6-luna", "openrouter"), ("gpt-5.5-pro", "openai/gpt-5.5-pro", "openrouter"), ("gpt-5.5", "openai/gpt-5.5", "openrouter"), ("gpt-5.4", "openai/gpt-5.4", "openrouter"), @@ -159,7 +165,8 @@ _MODEL_ENTRIES: list[tuple[str, str, str]] = [ ("mimo-v2.5-pro", "xiaomi/mimo-v2.5-pro", "openrouter"), ("mimo-v2.5", "xiaomi/mimo-v2.5", "openrouter"), ("grok-build-0.1", "x-ai/grok-build-0.1", "openrouter"), - ("grok-4.3", "x-ai/grok-4.3", "openrouter"), + ("grok-4.5", "x-ai/grok-4.5", "openrouter"), + ("hy3", "tencent/hy3", "openrouter"), ("qwen3.7-max", "qwen/qwen3.7-max", "openrouter"), ("qwen3.7-plus", "qwen/qwen3.7-plus", "openrouter"), ("qwen3.6-flash", "qwen/qwen3.6-flash", "openrouter"),