feat(models): add gpt-5.4 and gpt-5.4-pro model definitions (#3424)

* feat(models): add gpt-5.4 and gpt-5.4-pro model definitions

* fix(providers): update test for gpt-5.4-pro missing verbosity support
This commit is contained in:
Waleed
2026-03-05 11:59:52 -08:00
committed by GitHub
parent 0a6a2ee694
commit cc38ecaf12
2 changed files with 57 additions and 1 deletions

View File

@@ -122,6 +122,40 @@ export const PROVIDER_DEFINITIONS: Record<string, ProviderDefinition> = {
},
contextWindow: 128000,
},
{
id: 'gpt-5.4',
pricing: {
input: 2.5,
cachedInput: 0.25,
output: 15.0,
updatedAt: '2026-03-05',
},
capabilities: {
reasoningEffort: {
values: ['none', 'low', 'medium', 'high', 'xhigh'],
},
verbosity: {
values: ['low', 'medium', 'high'],
},
maxOutputTokens: 128000,
},
contextWindow: 1050000,
},
{
id: 'gpt-5.4-pro',
pricing: {
input: 30.0,
output: 180.0,
updatedAt: '2026-03-05',
},
capabilities: {
reasoningEffort: {
values: ['medium', 'high', 'xhigh'],
},
maxOutputTokens: 128000,
},
contextWindow: 1050000,
},
{
id: 'gpt-5.2',
pricing: {
@@ -493,6 +527,25 @@ export const PROVIDER_DEFINITIONS: Record<string, ProviderDefinition> = {
},
contextWindow: 128000,
},
{
id: 'azure/gpt-5.4',
pricing: {
input: 2.5,
cachedInput: 0.25,
output: 15.0,
updatedAt: '2026-03-05',
},
capabilities: {
reasoningEffort: {
values: ['none', 'low', 'medium', 'high', 'xhigh'],
},
verbosity: {
values: ['low', 'medium', 'high'],
},
maxOutputTokens: 128000,
},
contextWindow: 1050000,
},
{
id: 'azure/gpt-5.2',
pricing: {

View File

@@ -523,13 +523,16 @@ describe('Model Capabilities', () => {
it.concurrent('should have GPT-5 models in both reasoning effort and verbosity arrays', () => {
const gpt5ModelsWithReasoningEffort = MODELS_WITH_REASONING_EFFORT.filter(
(m) => m.includes('gpt-5') && !m.includes('chat-latest')
(m) => m.includes('gpt-5') && !m.includes('chat-latest') && !m.includes('gpt-5.4-pro')
)
const gpt5ModelsWithVerbosity = MODELS_WITH_VERBOSITY.filter(
(m) => m.includes('gpt-5') && !m.includes('chat-latest')
)
expect(gpt5ModelsWithReasoningEffort.sort()).toEqual(gpt5ModelsWithVerbosity.sort())
expect(MODELS_WITH_REASONING_EFFORT).toContain('gpt-5.4-pro')
expect(MODELS_WITH_VERBOSITY).not.toContain('gpt-5.4-pro')
expect(MODELS_WITH_REASONING_EFFORT).toContain('o1')
expect(MODELS_WITH_VERBOSITY).not.toContain('o1')
})