diff --git a/app/client/platforms/openai.ts b/app/client/platforms/openai.ts index c6f3fc425..4cad6bf94 100644 --- a/app/client/platforms/openai.ts +++ b/app/client/platforms/openai.ts @@ -198,7 +198,8 @@ export class ChatGPTApi implements LLMApi { const isDalle3 = _isDalle3(options.config.model); const isO1OrO3 = options.config.model.startsWith("o1") || - options.config.model.startsWith("o3"); + options.config.model.startsWith("o3") || + options.config.model.startsWith("o4-mini"); if (isDalle3) { const prompt = getMessageTextContent( options.messages.slice(-1)?.pop() as any, @@ -243,7 +244,7 @@ export class ChatGPTApi implements LLMApi { } // add max_tokens to vision model - if (visionModel) { + if (visionModel && !isO1OrO3) { requestPayload["max_tokens"] = Math.max(modelConfig.max_tokens, 4000); } } diff --git a/app/constant.ts b/app/constant.ts index 422c42629..9fcea1187 100644 --- a/app/constant.ts +++ b/app/constant.ts @@ -478,6 +478,8 @@ export const VISION_MODEL_REGEXES = [ /^dall-e-3$/, // Matches exactly "dall-e-3" /glm-4v/, /vl/i, + /o3/, + /o4-mini/, ]; export const EXCLUDE_VISION_MODEL_REGEXES = [/claude-3-5-haiku-20241022/]; @@ -516,6 +518,8 @@ const openaiModels = [ "o1-mini", "o1-preview", "o3-mini", + "o3", + "o4-mini", ]; const googleModels = [