From 64b62290d7173c150ba2b264c8aeaabf6dd2b72f Mon Sep 17 00:00:00 2001 From: Timothy Carambat <rambat1010@gmail.com> Date: Mon, 13 May 2024 14:31:49 -0700 Subject: [PATCH] Set gpt-4o as default for OpenAI (#1391) --- docker/.env.example | 2 +- server/.env.example | 2 +- server/models/systemSettings.js | 2 +- server/utils/AiProviders/openAi/index.js | 4 ++-- server/utils/agents/aibitat/example/beginner-chat.js | 2 +- server/utils/agents/aibitat/example/blog-post-coding.js | 2 +- .../aibitat/example/websocket/websock-multi-turn-chat.js | 2 +- server/utils/agents/aibitat/providers/openai.js | 6 +++++- server/utils/agents/aibitat/utils/summarize.js | 2 +- server/utils/agents/index.js | 4 ++-- server/utils/helpers/customModels.js | 8 ++++++++ 11 files changed, 24 insertions(+), 12 deletions(-) diff --git a/docker/.env.example b/docker/.env.example index 3f99e52d4..8cfa2aea8 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 8f424d82a..290a07096 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 3c23a7d39..904c448d5 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 3a4d997ce..43d7c2874 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 865a8c2a6..d81c2b710 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 50f8d179a..76846a2a3 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 3407ef32e..6277978cc 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 5daa738ea..3fcc46ca5 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 65297dc43..7f1852c02 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 3352718be..08ce5558e 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 3743ffad7..b7aae93be 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", -- GitLab