mirror of
https://github.com/TauricResearch/TradingAgents.git
synced 2026-09-19 11:15:24 +03:00
feat(llm): add Claude Sonnet 5 and Fable 5 to the catalog
- refresh the Anthropic lineup to the current GA set (Fable 5, Opus 4.8, Sonnet 5, Opus 4.7, Haiku 4.5) - extend the effort gate to single-number Claude 5 IDs (claude-sonnet-5, claude-fable-5) so their effort setting is honored
This commit is contained in:
@@ -11,16 +11,17 @@ _PASSTHROUGH_KWARGS = (
|
||||
"callbacks", "http_client", "http_async_client", "effort",
|
||||
)
|
||||
|
||||
# Anthropic's extended-thinking ``effort`` parameter is accepted by Opus 4.5+
|
||||
# and Sonnet 4.6+ only. Sonnet 4.5 and any Haiku version 400 with
|
||||
# ``"This model does not support the effort parameter"`` (#831). The per-family
|
||||
# minimum version below is forward-compatible: future ``claude-{opus,sonnet}-X-Y``
|
||||
# releases inherit support automatically, while Sonnet 4.5 and Haiku stay excluded.
|
||||
# Anthropic's extended-thinking ``effort`` parameter is accepted by Opus 4.5+,
|
||||
# Sonnet 4.6+, and the Claude 5 family (Sonnet 5, Fable 5). Sonnet 4.5 and any
|
||||
# Haiku version 400 with ``"This model does not support the effort parameter"``
|
||||
# (#831). Versions may be dotted (``opus-4-8``) or single-number (``sonnet-5``,
|
||||
# ``fable-5``); the per-family minimum below is forward-compatible.
|
||||
_EFFORT_EXACT = {
|
||||
"claude-mythos-preview", # non-standard preview name; effort-capable
|
||||
"claude-mythos-5", # Fable 5 twin (Project Glasswing); effort-capable
|
||||
}
|
||||
_EFFORT_MODEL = re.compile(r"^claude-(opus|sonnet)-(\d+)-(\d+)$")
|
||||
_EFFORT_MIN_VERSION = {"opus": (4, 5), "sonnet": (4, 6)}
|
||||
_EFFORT_MODEL = re.compile(r"^claude-(opus|sonnet|fable)-(\d+)(?:-(\d+))?$")
|
||||
_EFFORT_MIN_VERSION = {"opus": (4, 5), "sonnet": (4, 6), "fable": (5, 0)}
|
||||
|
||||
|
||||
def _supports_effort(model: str) -> bool:
|
||||
@@ -31,7 +32,9 @@ def _supports_effort(model: str) -> bool:
|
||||
match = _EFFORT_MODEL.match(model_lc)
|
||||
if not match:
|
||||
return False
|
||||
family, major, minor = match.group(1), int(match.group(2)), int(match.group(3))
|
||||
family = match.group(1)
|
||||
major = int(match.group(2))
|
||||
minor = int(match.group(3)) if match.group(3) else 0
|
||||
return (major, minor) >= _EFFORT_MIN_VERSION[family]
|
||||
|
||||
|
||||
|
||||
@@ -94,14 +94,14 @@ MODEL_OPTIONS: ProviderModeOptions = {
|
||||
},
|
||||
"anthropic": {
|
||||
"quick": [
|
||||
("Claude Sonnet 4.6 - Best speed and intelligence balance", "claude-sonnet-4-6"),
|
||||
("Claude Sonnet 5 - Best speed and intelligence balance", "claude-sonnet-5"),
|
||||
("Claude Haiku 4.5 - Fastest with near-frontier intelligence", "claude-haiku-4-5"),
|
||||
],
|
||||
"deep": [
|
||||
("Claude Opus 4.8 - Latest frontier, agentic coding and reasoning", "claude-opus-4-8"),
|
||||
("Claude Fable 5 - Most capable, long-running agents", "claude-fable-5"),
|
||||
("Claude Opus 4.8 - Frontier agentic coding and reasoning", "claude-opus-4-8"),
|
||||
("Claude Sonnet 5 - Near-frontier intelligence at Sonnet cost", "claude-sonnet-5"),
|
||||
("Claude Opus 4.7 - Previous frontier, long-running agents", "claude-opus-4-7"),
|
||||
("Claude Opus 4.6 - Frontier intelligence, agents and coding", "claude-opus-4-6"),
|
||||
("Claude Sonnet 4.6 - Best speed and intelligence balance", "claude-sonnet-4-6"),
|
||||
],
|
||||
},
|
||||
"google": {
|
||||
|
||||
Reference in New Issue
Block a user