fix: validate_max_tokens

This commit is contained in:
keenborder786 2025-07-11 06:01:43 +05:00
parent c91fc04f03
commit a04c1c76e6

View File

@ -1305,11 +1305,17 @@ class ChatAnthropic(BaseChatModel):
def validate_max_tokens(cls, values: dict[str, Any]) -> Any:
"""Validate max_tokens."""
if values.get("max_tokens") is None and values.get("model"):
if "claude-opus-4" in values.get("model"):
if "claude-opus-4" in values.get("model", ""):
values["max_tokens"] = 32000
elif values.get("model") in ["claude-sonnet-4", "claude-3-7-sonnet"]:
elif (
"claude-sonnet-4" in values.get("model", "")
or "claude-3-7-sonnet" in values.get("model", "")
):
values["max_tokens"] = 64000
elif values.get("model") in ["claude-3-5-sonnet", "claude-3-5-haiku"]:
elif (
"claude-3-5-sonnet" in values.get("model", "")
or "claude-3-5-haiku" in values.get("model", "")
):
values["max_tokens"] = 8192
# leaves us with "claude-3-5-opus", "claude-3-haiku"
else: