From f7ac956da5f00c71d9bbdc699ac8b692476171a8 Mon Sep 17 00:00:00 2001 From: Carl-Robert Linnupuu Date: Fri, 19 Jul 2024 02:22:58 +0300 Subject: [PATCH] feat: add gpt-4o-mini model --- gradle/libs.versions.toml | 2 +- .../codegpt/settings/service/ServiceType.java | 2 +- .../chat/ui/textarea/ModelComboBoxAction.java | 4 +-- .../service/codegpt/CodeGPTAvailableModels.kt | 30 +++++++++---------- 4 files changed, 18 insertions(+), 20 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 68741c6b..6dbb4e2a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -12,7 +12,7 @@ jsoup = "1.17.2" jtokkit = "1.0.0" junit = "5.10.2" kotlin = "2.0.0" -llm-client = "0.8.8" +llm-client = "0.8.10" okio = "3.9.0" tree-sitter = "0.22.6a" diff --git a/src/main/java/ee/carlrobert/codegpt/settings/service/ServiceType.java b/src/main/java/ee/carlrobert/codegpt/settings/service/ServiceType.java index 85cbc3ef..04ed5e58 100644 --- a/src/main/java/ee/carlrobert/codegpt/settings/service/ServiceType.java +++ b/src/main/java/ee/carlrobert/codegpt/settings/service/ServiceType.java @@ -75,7 +75,7 @@ public enum ServiceType { .getState() .getChatCompletionSettings() .getModel(); - yield List.of("gpt-4o", "claude-3-opus").contains(codegptModel); + yield List.of("gpt-4o", "gpt-4o-mini", "claude-3-opus").contains(codegptModel); case OPENAI: var openaiModel = ApplicationManager.getApplication().getService(OpenAISettings.class) .getState() diff --git a/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ui/textarea/ModelComboBoxAction.java b/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ui/textarea/ModelComboBoxAction.java index 0671785e..da1a093c 100644 --- a/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ui/textarea/ModelComboBoxAction.java +++ b/src/main/java/ee/carlrobert/codegpt/toolwindow/chat/ui/textarea/ModelComboBoxAction.java @@ -98,9 +98,9 @@ public class ModelComboBoxAction extends ComboBoxAction { actionGroup.addSeparator("OpenAI"); List.of( OpenAIChatCompletionModel.GPT_4_O, + OpenAIChatCompletionModel.GPT_4_O_MINI, OpenAIChatCompletionModel.GPT_4_VISION_PREVIEW, - OpenAIChatCompletionModel.GPT_4_0125_128k, - OpenAIChatCompletionModel.GPT_3_5_0125_16k) + OpenAIChatCompletionModel.GPT_4_0125_128k) .forEach(model -> actionGroup.add(createOpenAIModelAction(model, presentation))); } if (availableProviders.contains(CUSTOM_OPENAI)) { diff --git a/src/main/kotlin/ee/carlrobert/codegpt/settings/service/codegpt/CodeGPTAvailableModels.kt b/src/main/kotlin/ee/carlrobert/codegpt/settings/service/codegpt/CodeGPTAvailableModels.kt index 65ff2160..d9ec0548 100644 --- a/src/main/kotlin/ee/carlrobert/codegpt/settings/service/codegpt/CodeGPTAvailableModels.kt +++ b/src/main/kotlin/ee/carlrobert/codegpt/settings/service/codegpt/CodeGPTAvailableModels.kt @@ -9,11 +9,13 @@ object CodeGPTAvailableModels { @JvmStatic fun getToolWindowModels(pricingPlan: PricingPlan?): List { - val anonymousModels = BASE_CHAT_MODELS + CodeGPTModel( - "Llama 3 (8B) - FREE", - "llama-3-8b", - Icons.Meta, - ANONYMOUS + val anonymousModels = listOf( + CodeGPTModel("GPT-4o", "gpt-4o", Icons.OpenAI, INDIVIDUAL), + CodeGPTModel("Claude 3.5 Sonnet", "claude-3.5-sonnet", Icons.Anthropic, INDIVIDUAL), + CodeGPTModel("Code Llama (70B)", "codellama:chat", Icons.Meta, FREE), + CodeGPTModel("DBRX", "dbrx", Icons.Databricks, INDIVIDUAL), + CodeGPTModel("GPT-4o mini - FREE", "gpt-4o-mini", Icons.OpenAI, ANONYMOUS), + CodeGPTModel("Llama 3 (8B) - FREE", "llama-3-8b", Icons.Meta, ANONYMOUS) ) if (pricingPlan == null) { return anonymousModels @@ -21,16 +23,13 @@ object CodeGPTAvailableModels { return when (pricingPlan) { ANONYMOUS -> anonymousModels - FREE -> BASE_CHAT_MODELS + listOf( - CodeGPTModel("Code Llama (70B)", "codellama:chat", Icons.Meta, FREE), + FREE -> listOf( + CodeGPTModel("GPT-4o", "gpt-4o", Icons.OpenAI, INDIVIDUAL), + CodeGPTModel("Claude 3.5 Sonnet", "claude-3.5-sonnet", Icons.Anthropic, INDIVIDUAL), + CodeGPTModel("GPT-4o mini", "gpt-4o-mini", Icons.OpenAI, ANONYMOUS), + CodeGPTModel("Llama 3 (70B)", "llama-3-70b", Icons.Meta, FREE), CodeGPTModel("Mixtral (8x22B)", "mixtral-8x22b", Icons.CodeGPTModel, FREE), - CodeGPTModel( - "DeepSeek Coder (33B)", - "deepseek-coder-33b", - Icons.CodeGPTModel, - FREE - ), - CodeGPTModel("WizardLM-2 (8x22B)", "wizardlm-2-8x22b", Icons.CodeGPTModel, FREE) + CodeGPTModel("Code Llama (70B)", "codellama:chat", Icons.Meta, FREE), ) else -> BASE_CHAT_MODELS @@ -40,10 +39,9 @@ object CodeGPTAvailableModels { @JvmStatic val BASE_CHAT_MODELS: List = listOf( CodeGPTModel("GPT-4o", "gpt-4o", Icons.OpenAI, INDIVIDUAL), - CodeGPTModel("GPT-3.5 Turbo", "gpt-3.5-turbo", Icons.OpenAI, INDIVIDUAL), + CodeGPTModel("GPT-4o mini", "gpt-4o-mini", Icons.OpenAI, ANONYMOUS), CodeGPTModel("Claude 3 Opus", "claude-3-opus", Icons.Anthropic, INDIVIDUAL), CodeGPTModel("Claude 3.5 Sonnet", "claude-3.5-sonnet", Icons.Anthropic, INDIVIDUAL), - CodeGPTModel("Claude 3 Sonnet", "claude-3-sonnet", Icons.Anthropic, INDIVIDUAL), CodeGPTModel("DBRX", "dbrx", Icons.Databricks, INDIVIDUAL), CodeGPTModel("Llama 3 (70B)", "llama-3-70b", Icons.Meta, FREE), )