From 0939250f07ec37f95b725d8e7a8b8026505aee2f Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Fri, 8 Aug 2025 11:15:29 -0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A3=EF=B8=8F=20fix:=20Remove=20Title?= =?UTF-8?q?=20Tokens=20Limit=20for=20GPT-5=20Models=20(#8948)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 🛣️ fix: Remove Title Tokens Limit for GPT-5 Models * 🛣️ fix: Remove max_completion_tokens from modelKwargs when maxTokens is disabled * chore: Add test-image* to .gitignore for CI/CD data --- .gitignore | 3 +++ api/server/controllers/agents/client.js | 15 ++++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 461eef9d2..38b9bbc9e 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,9 @@ pids *.seed .git +# CI/CD data +test-image* + # Directory for instrumented libs generated by jscoverage/JSCover lib-cov diff --git a/api/server/controllers/agents/client.js b/api/server/controllers/agents/client.js index 7a6d0cce1..4f4b84d53 100644 --- a/api/server/controllers/agents/client.js +++ b/api/server/controllers/agents/client.js @@ -1122,17 +1122,14 @@ class AgentClient extends BaseClient { clientOptions.configuration = options.configOptions; } - // Ensure maxTokens is set for non-o1 models - if (!/\b(o\d)\b/i.test(clientOptions.model) && !clientOptions.maxTokens) { + const shouldRemoveMaxTokens = /\b(o\d|gpt-[5-9])\b/i.test(clientOptions.model); + if (shouldRemoveMaxTokens && clientOptions.maxTokens != null) { + delete clientOptions.maxTokens; + } else if (!shouldRemoveMaxTokens && !clientOptions.maxTokens) { clientOptions.maxTokens = 75; - } else if (/\b(o\d)\b/i.test(clientOptions.model) && clientOptions.maxTokens != null) { - delete clientOptions.maxTokens; } - - if (/\bgpt-[5-9]\b/i.test(clientOptions.model) && clientOptions.maxTokens != null) { - clientOptions.modelKwargs = clientOptions.modelKwargs ?? {}; - clientOptions.modelKwargs.max_completion_tokens = clientOptions.maxTokens; - delete clientOptions.maxTokens; + if (shouldRemoveMaxTokens && clientOptions?.modelKwargs?.max_completion_tokens != null) { + delete clientOptions.modelKwargs.max_completion_tokens; } clientOptions = Object.assign(