diff --git a/api/app/clients/OpenAIClient.js b/api/app/clients/OpenAIClient.js index c6a6bcc68e..091a36919e 100644 --- a/api/app/clients/OpenAIClient.js +++ b/api/app/clients/OpenAIClient.js @@ -475,7 +475,9 @@ class OpenAIClient extends BaseClient { promptPrefix = this.augmentedPrompt + promptPrefix; } - if (promptPrefix && this.isOmni !== true) { + const noSystemModelRegex = /\b(o1-preview|o1-mini)\b/i.test(this.modelOptions.model); + + if (promptPrefix && !noSystemModelRegex) { promptPrefix = `Instructions:\n${promptPrefix.trim()}`; instructions = { role: 'system', @@ -503,7 +505,7 @@ class OpenAIClient extends BaseClient { }; /** EXPERIMENTAL */ - if (promptPrefix && this.isOmni === true) { + if (promptPrefix && noSystemModelRegex) { const lastUserMessageIndex = payload.findLastIndex((message) => message.role === 'user'); if (lastUserMessageIndex !== -1) { if (Array.isArray(payload[lastUserMessageIndex].content)) { @@ -1227,9 +1229,9 @@ ${convo} opts.baseURL = this.langchainProxy ? constructAzureURL({ - baseURL: this.langchainProxy, - azureOptions: this.azure, - }) + baseURL: this.langchainProxy, + azureOptions: this.azure, + }) : this.azureEndpoint.split(/(? { const legacyContentEndpoints = new Set([KnownEndpoints.groq, KnownEndpoints.deepseek]); -const noSystemModelRegex = [/\b(o1)\b/gi]; +const noSystemModelRegex = [/\b(o1-preview|o1-mini)\b/gi]; // const { processMemory, memoryInstructions } = require('~/server/services/Endpoints/agents/memory'); // const { getFormattedMemories } = require('~/models/Memory');