diff --git a/docker/.env.example b/docker/.env.example index 3f99e52d436bb781ec9532160f94b637c8c2552d..8cfa2aea8723ecce749453ca2556f4ab7504109f 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 8f424d82a6eba6688d926f46744e6cb83999db79..290a07096fcf5fd1cad7390fffb895eb7df1d8f3 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 3c23a7d3925cfc64afbcfe2379a254238af34f4e..904c448d55bd7492dec3b91974f5b63b60f3c074 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 3a4d997ce282b639a59c71c6d1c9583331316094..43d7c287406149221e7f7a3dfdbd4554a7449aa0 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 865a8c2a643e02b55c1a2a34fa371f776f9faa69..d81c2b710f289271fa1d0a1f6cd813838ec114d3 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 50f8d179ab929b4bbbc97ca4e70eb7b88ab4ee75..76846a2a33933acda85f87650a9076d8c4cda511 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 3407ef32e86ac693ddc306d4c244a1deaf5ee0d2..6277978cc784f60331692d69ff232d17fba7c021 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 5daa738eacf56e7da8e9dccdde5b39f6aaa35d88..3fcc46ca5b824131ac15e60896805f13ded70727 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 65297dc439a5342e611606915a7fc6259fec39c0..7f1852c023514f6ab2275f7c287aa5d197317ade 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 3352718bed614f00b3eb3e7f98c09f3c37d25ea3..08ce5558ec044a10c33baaa1ffa803b08b5054c7 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 3743ffad73d2af8bb06086461e6a5171f2198386..b7aae93bef517e39ec509fcc12d6827474c947d1 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",