Skip to content

Commit eacda32

Browse files
emag165cursoragentfengju0213
authored
fix(backend): default max_tokens for Anthropic model validation (#1549)
Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: emag165 <emag165@users.noreply.github.com> Co-authored-by: Sun Tao <2605127667@qq.com>
1 parent 53ef106 commit eacda32

2 files changed

Lines changed: 13 additions & 5 deletions

File tree

backend/app/agent/agent_model.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -136,11 +136,11 @@ def agent_model(
136136
)
137137
model_platform_enum = None
138138

139-
if (
140-
effective_config["model_platform"].lower() == "anthropic"
141-
and model_config.get("cache_control") is None
142-
):
143-
model_config["cache_control"] = "5m"
139+
if effective_config["model_platform"].lower() == "anthropic":
140+
if model_config.get("cache_control") is None:
141+
model_config["cache_control"] = "5m"
142+
if model_config.get("max_tokens") is None:
143+
model_config["max_tokens"] = 64000
144144

145145
model = ModelFactory.create(
146146
model_platform=effective_config["model_platform"],

backend/app/component/model_validation.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,10 @@ def create_agent(
227227
raise ValueError(f"Invalid model_type: {model_type}")
228228
if platform is None:
229229
raise ValueError(f"Invalid model_platform: {model_platform}")
230+
if str(platform).lower() == "anthropic":
231+
model_config_dict = dict(model_config_dict or {})
232+
if model_config_dict.get("max_tokens") is None:
233+
model_config_dict["max_tokens"] = 4096
230234
model = ModelFactory.create(
231235
model_platform=platform,
232236
model_type=mtype,
@@ -326,6 +330,10 @@ def validate_model_with_details(
326330
"Creating model",
327331
extra={"platform": model_platform, "model_type": model_type},
328332
)
333+
if str(model_platform).lower() == "anthropic":
334+
model_config_dict = dict(model_config_dict or {})
335+
if model_config_dict.get("max_tokens") is None:
336+
model_config_dict["max_tokens"] = 4096
329337
model = ModelFactory.create(
330338
model_platform=model_platform,
331339
model_type=model_type,

0 commit comments

Comments
 (0)