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
This commit is contained in:
akubesti
2025-09-12 22:22:16 +07:00
parent 328b12ffbe
commit 6f367c34a8
2 changed files with 12 additions and 4 deletions

View File

@@ -121,7 +121,7 @@ export const getAvailableChatModelProviders = async () => {
apiKey: customOpenAiApiKey, apiKey: customOpenAiApiKey,
modelName: customOpenAiModelName, 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)); const isTemperatureRestricted = temperatureRestrictedModels.some(restrictedModel => customOpenAiModelName.includes(restrictedModel));
return isTemperatureRestricted ? {} : { temperature: 0.7 }; return isTemperatureRestricted ? {} : { temperature: 0.7 };
})()), })()),

View File

@@ -51,13 +51,21 @@ const openaiChatModels: Record<string, string>[] = [
key: 'gpt-5-nano', key: 'gpt-5-nano',
}, },
{ {
displayName: 'GPT 5 Chat Latest', displayName: 'GPT 5',
key: 'gpt-5-chat-latest', key: 'gpt-5',
},
{
displayName: 'GPT 5 Mini',
key: 'gpt-5-mini',
}, },
{ {
displayName: 'o1', displayName: 'o1',
key: 'o1', key: 'o1',
}, },
{
displayName: 'o3',
key: 'o3',
},
{ {
displayName: 'o3 Mini', displayName: 'o3 Mini',
key: 'o3-mini', key: 'o3-mini',
@@ -89,7 +97,7 @@ export const loadOpenAIChatModels = async () => {
openaiChatModels.forEach((model) => { openaiChatModels.forEach((model) => {
// Models that only support temperature = 1 // 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 isTemperatureRestricted = temperatureRestrictedModels.some(restrictedModel => model.key.includes(restrictedModel));
const modelConfig: any = { const modelConfig: any = {