feat: 支持 OpenAI 新模型 o3 与 o4-mini,并适配新参数

This commit is contained in:
Jasper Hu 2025-04-18 20:36:07 +01:00
parent 11b37c15bd
commit 2d7229d2b8
2 changed files with 7 additions and 2 deletions

View File

@ -198,7 +198,8 @@ export class ChatGPTApi implements LLMApi {
const isDalle3 = _isDalle3(options.config.model); const isDalle3 = _isDalle3(options.config.model);
const isO1OrO3 = const isO1OrO3 =
options.config.model.startsWith("o1") || options.config.model.startsWith("o1") ||
options.config.model.startsWith("o3"); options.config.model.startsWith("o3") ||
options.config.model.startsWith("o4-mini");
if (isDalle3) { if (isDalle3) {
const prompt = getMessageTextContent( const prompt = getMessageTextContent(
options.messages.slice(-1)?.pop() as any, options.messages.slice(-1)?.pop() as any,
@ -243,7 +244,7 @@ export class ChatGPTApi implements LLMApi {
} }
// add max_tokens to vision model // add max_tokens to vision model
if (visionModel) { if (visionModel && !isO1OrO3) {
requestPayload["max_tokens"] = Math.max(modelConfig.max_tokens, 4000); requestPayload["max_tokens"] = Math.max(modelConfig.max_tokens, 4000);
} }
} }

View File

@ -478,6 +478,8 @@ export const VISION_MODEL_REGEXES = [
/^dall-e-3$/, // Matches exactly "dall-e-3" /^dall-e-3$/, // Matches exactly "dall-e-3"
/glm-4v/, /glm-4v/,
/vl/i, /vl/i,
/o3/,
/o4-mini/,
]; ];
export const EXCLUDE_VISION_MODEL_REGEXES = [/claude-3-5-haiku-20241022/]; export const EXCLUDE_VISION_MODEL_REGEXES = [/claude-3-5-haiku-20241022/];
@ -516,6 +518,8 @@ const openaiModels = [
"o1-mini", "o1-mini",
"o1-preview", "o1-preview",
"o3-mini", "o3-mini",
"o3",
"o4-mini",
]; ];
const googleModels = [ const googleModels = [