diff --git a/docker/.env.example b/docker/.env.example index 3f99e52d..8cfa2aea 100644 --- a/docker/.env.example +++ b/docker/.env.example @@ -9,7 +9,7 @@ GID='1000' ########################################### # LLM_PROVIDER='openai' # OPEN_AI_KEY= -# OPEN_MODEL_PREF='gpt-3.5-turbo' +# OPEN_MODEL_PREF='gpt-4o' # LLM_PROVIDER='gemini' # GEMINI_API_KEY= diff --git a/server/.env.example b/server/.env.example index 8f424d82..290a0709 100644 --- a/server/.env.example +++ b/server/.env.example @@ -6,7 +6,7 @@ JWT_SECRET="my-random-string-for-seeding" # Please generate random string at lea ########################################### # LLM_PROVIDER='openai' # OPEN_AI_KEY= -# OPEN_MODEL_PREF='gpt-3.5-turbo' +# OPEN_MODEL_PREF='gpt-4o' # LLM_PROVIDER='gemini' # GEMINI_API_KEY= diff --git a/server/models/systemSettings.js b/server/models/systemSettings.js index 3c23a7d3..904c448d 100644 --- a/server/models/systemSettings.js +++ b/server/models/systemSettings.js @@ -297,7 +297,7 @@ const SystemSettings = { return { // OpenAI Keys OpenAiKey: !!process.env.OPEN_AI_KEY, - OpenAiModelPref: process.env.OPEN_MODEL_PREF || "gpt-3.5-turbo", + OpenAiModelPref: process.env.OPEN_MODEL_PREF || "gpt-4o", // Azure + OpenAI Keys AzureOpenAiEndpoint: process.env.AZURE_OPENAI_ENDPOINT, diff --git a/server/utils/AiProviders/openAi/index.js b/server/utils/AiProviders/openAi/index.js index 3a4d997c..43d7c287 100644 --- a/server/utils/AiProviders/openAi/index.js +++ b/server/utils/AiProviders/openAi/index.js @@ -11,8 +11,7 @@ class OpenAiLLM { this.openai = new OpenAIApi({ apiKey: process.env.OPEN_AI_KEY, }); - this.model = - modelPreference || process.env.OPEN_MODEL_PREF || "gpt-3.5-turbo"; + this.model = modelPreference || process.env.OPEN_MODEL_PREF || "gpt-4o"; this.limits = { history: this.promptWindowLimit() * 0.15, system: this.promptWindowLimit() * 0.15, @@ -48,6 +47,7 @@ class OpenAiLLM { case "gpt-3.5-turbo": case "gpt-3.5-turbo-1106": return 16_385; + case "gpt-4o": case "gpt-4-turbo": case "gpt-4-1106-preview": case "gpt-4-turbo-preview": diff --git a/server/utils/agents/aibitat/example/beginner-chat.js b/server/utils/agents/aibitat/example/beginner-chat.js index 865a8c2a..d81c2b71 100644 --- a/server/utils/agents/aibitat/example/beginner-chat.js +++ b/server/utils/agents/aibitat/example/beginner-chat.js @@ -11,7 +11,7 @@ const Agent = { const aibitat = new AIbitat({ provider: "openai", - model: "gpt-3.5-turbo", + model: "gpt-4o", }) .use(cli.plugin()) .function({ diff --git a/server/utils/agents/aibitat/example/blog-post-coding.js b/server/utils/agents/aibitat/example/blog-post-coding.js index 50f8d179..76846a2a 100644 --- a/server/utils/agents/aibitat/example/blog-post-coding.js +++ b/server/utils/agents/aibitat/example/blog-post-coding.js @@ -8,7 +8,7 @@ const { require("dotenv").config({ path: `../../../../.env.development` }); const aibitat = new AIbitat({ - model: "gpt-3.5-turbo", + model: "gpt-4o", }) .use(cli.plugin()) .use(fileHistory.plugin()) diff --git a/server/utils/agents/aibitat/example/websocket/websock-multi-turn-chat.js b/server/utils/agents/aibitat/example/websocket/websock-multi-turn-chat.js index 3407ef32..6277978c 100644 --- a/server/utils/agents/aibitat/example/websocket/websock-multi-turn-chat.js +++ b/server/utils/agents/aibitat/example/websocket/websock-multi-turn-chat.js @@ -69,7 +69,7 @@ async function runAIbitat(socket) { console.log(chalk.blue("Booting AIbitat class & starting agent(s)")); const aibitat = new AIbitat({ provider: "openai", - model: "gpt-3.5-turbo", + model: "gpt-4o", }) .use(websocket.plugin({ socket })) .use(webBrowsing.plugin()) diff --git a/server/utils/agents/aibitat/providers/openai.js b/server/utils/agents/aibitat/providers/openai.js index 5daa738e..3fcc46ca 100644 --- a/server/utils/agents/aibitat/providers/openai.js +++ b/server/utils/agents/aibitat/providers/openai.js @@ -13,6 +13,10 @@ class OpenAIProvider extends Provider { input: 0.03, output: 0.06, }, + "gpt-4o": { + input: 0.005, + output: 0.015, + }, "gpt-4-32k": { input: 0.06, output: 0.12, @@ -33,7 +37,7 @@ class OpenAIProvider extends Provider { apiKey: process.env.OPEN_AI_KEY, maxRetries: 3, }, - model = "gpt-3.5-turbo", + model = "gpt-4o", } = config; const client = new OpenAI(options); diff --git a/server/utils/agents/aibitat/utils/summarize.js b/server/utils/agents/aibitat/utils/summarize.js index 65297dc4..7f1852c0 100644 --- a/server/utils/agents/aibitat/utils/summarize.js +++ b/server/utils/agents/aibitat/utils/summarize.js @@ -12,7 +12,7 @@ const Provider = require("../providers/ai-provider"); const SUMMARY_MODEL = { anthropic: "claude-3-opus-20240229", // 200,000 tokens - openai: "gpt-3.5-turbo-1106", // 16,385 tokens + openai: "gpt-4o", // 128,000 tokens }; async function summarizeContent( diff --git a/server/utils/agents/index.js b/server/utils/agents/index.js index 3352718b..08ce5558 100644 --- a/server/utils/agents/index.js +++ b/server/utils/agents/index.js @@ -146,7 +146,7 @@ class AgentHandler { #providerDefault() { switch (this.provider) { case "openai": - return "gpt-3.5-turbo"; + return "gpt-4o"; case "anthropic": return "claude-3-sonnet-20240229"; case "lmstudio": @@ -258,7 +258,7 @@ class AgentHandler { ) { this.aibitat = new AIbitat({ provider: this.provider ?? "openai", - model: this.model ?? "gpt-3.5-turbo", + model: this.model ?? "gpt-4o", chats: await this.#chatHistory(20), handlerProps: { invocation: this.invocation, diff --git a/server/utils/helpers/customModels.js b/server/utils/helpers/customModels.js index 3743ffad..b7aae93b 100644 --- a/server/utils/helpers/customModels.js +++ b/server/utils/helpers/customModels.js @@ -66,6 +66,14 @@ async function openAiModels(apiKey = null) { owned_by: "openai", organization: "OpenAi", }, + { + name: "gpt-4o", + id: "gpt-4o", + object: "model", + created: 1677610602, + owned_by: "openai", + organization: "OpenAi", + }, { name: "gpt-4", id: "gpt-4",