feat(models): add support for o3 and o4-mini models in vision and logo configurations (#4963)

This commit is contained in:
Asurada 2025-04-17 02:13:53 +08:00 committed by GitHub
parent 676ac21804
commit 7ac8f480bb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -163,6 +163,8 @@ const visionAllowedModels = [
'gpt-4.5(?:-[\\w-]+)', 'gpt-4.5(?:-[\\w-]+)',
'chatgpt-4o(?:-[\\w-]+)?', 'chatgpt-4o(?:-[\\w-]+)?',
'o1(?:-[\\w-]+)?', 'o1(?:-[\\w-]+)?',
'o3(?:-[\\w-]+)?',
'o4(?:-[\\w-]+)?',
'deepseek-vl(?:[\\w-]+)?', 'deepseek-vl(?:[\\w-]+)?',
'kimi-latest', 'kimi-latest',
'gemma-3(?:-[\\w-]+)' 'gemma-3(?:-[\\w-]+)'
@ -174,6 +176,7 @@ const visionExcludedModels = [
'gpt-4-32k', 'gpt-4-32k',
'gpt-4-\\d+', 'gpt-4-\\d+',
'o1-mini', 'o1-mini',
'o3-mini',
'o1-preview', 'o1-preview',
'AIDC-AI/Marco-o1' 'AIDC-AI/Marco-o1'
] ]
@ -259,8 +262,9 @@ export function getModelLogo(modelId: string) {
jina: isLight ? JinaModelLogo : JinaModelLogoDark, jina: isLight ? JinaModelLogo : JinaModelLogoDark,
abab: isLight ? MinimaxModelLogo : MinimaxModelLogoDark, abab: isLight ? MinimaxModelLogo : MinimaxModelLogoDark,
minimax: isLight ? MinimaxModelLogo : MinimaxModelLogoDark, minimax: isLight ? MinimaxModelLogo : MinimaxModelLogoDark,
o3: isLight ? ChatGPTo1ModelLogo : ChatGPTo1ModelLogoDark,
o1: isLight ? ChatGPTo1ModelLogo : ChatGPTo1ModelLogoDark, o1: isLight ? ChatGPTo1ModelLogo : ChatGPTo1ModelLogoDark,
o3: isLight ? ChatGPTo1ModelLogo : ChatGPTo1ModelLogoDark,
o4: isLight ? ChatGPTo1ModelLogo : ChatGPTo1ModelLogoDark,
'gpt-3': isLight ? ChatGPT35ModelLogo : ChatGPT35ModelLogoDark, 'gpt-3': isLight ? ChatGPT35ModelLogo : ChatGPT35ModelLogoDark,
'gpt-4': isLight ? ChatGPT4ModelLogo : ChatGPT4ModelLogoDark, 'gpt-4': isLight ? ChatGPT4ModelLogo : ChatGPT4ModelLogoDark,
gpts: isLight ? ChatGPT4ModelLogo : ChatGPT4ModelLogoDark, gpts: isLight ? ChatGPT4ModelLogo : ChatGPT4ModelLogoDark,
@ -2204,8 +2208,9 @@ export function isVisionModel(model: Model): boolean {
} }
export function isOpenAIoSeries(model: Model): boolean { export function isOpenAIoSeries(model: Model): boolean {
return ['o1', 'o1-2024-12-17'].includes(model.id) || model.id.includes('o3') return ['o1', 'o1-2024-12-17'].includes(model.id) || model.id.includes('o3') || model.id.includes('o4')
} }
export function isOpenAIWebSearch(model: Model): boolean { export function isOpenAIWebSearch(model: Model): boolean {
return model.id.includes('gpt-4o-search-preview') || model.id.includes('gpt-4o-mini-search-preview') return model.id.includes('gpt-4o-search-preview') || model.id.includes('gpt-4o-mini-search-preview')
} }