From 6f367c34a89fd7523b568ef9b994ae3fbc6ccc26 Mon Sep 17 00:00:00 2001 From: akubesti Date: Fri, 12 Sep 2025 22:22:16 +0700 Subject: [PATCH] feat: add gpt-5, gpt-5-mini, o3 models and remove gpt-5-chat-latest - Add new OpenAI models: gpt-5, gpt-5-mini, and o3 series - Fix temperature parameter handling for o3 models - Update models list to ensure compatibility --- src/lib/providers/index.ts | 2 +- src/lib/providers/openai.ts | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/lib/providers/index.ts b/src/lib/providers/index.ts index 3b3815f..00ba60f 100644 --- a/src/lib/providers/index.ts +++ b/src/lib/providers/index.ts @@ -121,7 +121,7 @@ export const getAvailableChatModelProviders = async () => { apiKey: customOpenAiApiKey, modelName: customOpenAiModelName, ...((() => { - const temperatureRestrictedModels = ['gpt-5-nano', 'o1', 'o3-mini', 'o4-mini']; + const temperatureRestrictedModels = ['gpt-5-nano','gpt-5','gpt-5-mini','o1', 'o3', 'o3-mini', 'o4-mini']; const isTemperatureRestricted = temperatureRestrictedModels.some(restrictedModel => customOpenAiModelName.includes(restrictedModel)); return isTemperatureRestricted ? {} : { temperature: 0.7 }; })()), diff --git a/src/lib/providers/openai.ts b/src/lib/providers/openai.ts index c15b35b..828f0d8 100644 --- a/src/lib/providers/openai.ts +++ b/src/lib/providers/openai.ts @@ -51,13 +51,21 @@ const openaiChatModels: Record[] = [ key: 'gpt-5-nano', }, { - displayName: 'GPT 5 Chat Latest', - key: 'gpt-5-chat-latest', + displayName: 'GPT 5', + key: 'gpt-5', + }, + { + displayName: 'GPT 5 Mini', + key: 'gpt-5-mini', }, { displayName: 'o1', key: 'o1', }, + { + displayName: 'o3', + key: 'o3', + }, { displayName: 'o3 Mini', key: 'o3-mini', @@ -89,7 +97,7 @@ export const loadOpenAIChatModels = async () => { openaiChatModels.forEach((model) => { // Models that only support temperature = 1 - const temperatureRestrictedModels = ['gpt-5-nano', 'o1', 'o3-mini', 'o4-mini']; + const temperatureRestrictedModels = ['gpt-5-nano','gpt-5','gpt-5-mini','o1', 'o3', 'o3-mini', 'o4-mini']; const isTemperatureRestricted = temperatureRestrictedModels.some(restrictedModel => model.key.includes(restrictedModel)); const modelConfig: any = {