diff --git a/browser/ui/webui/settings/brave_settings_localized_strings_provider.cc b/browser/ui/webui/settings/brave_settings_localized_strings_provider.cc index 54a963d195c6..ae362fc7c940 100644 --- a/browser/ui/webui/settings/brave_settings_localized_strings_provider.cc +++ b/browser/ui/webui/settings/brave_settings_localized_strings_provider.cc @@ -593,10 +593,10 @@ void BraveAddCommonStrings(content::WebUIDataSource* html_source, {"braveLeoModelSubtitle-chat-claude-sonnet", IDS_CHAT_UI_CHAT_CLAUDE_SONNET_SUBTITLE}, {"braveLeoModelSubtitle-chat-qwen", IDS_CHAT_UI_CHAT_QWEN_SUBTITLE}, - {"braveLeoModelSubtitle-chat-near-deepseek-v3-1", - IDS_CHAT_UI_CHAT_NEAR_DEEPSEEK_V3_1_SUBTITLE}, - {"braveLeoModelSubtitle-chat-llama-4-scout", - IDS_CHAT_UI_CHAT_LLAMA_4_SCOUT_SUBTITLE}, + {"braveLeoModelSubtitle-chat-near-glm-5", + IDS_CHAT_UI_CHAT_NEAR_GLM_5_SUBTITLE}, + {"braveLeoModelSubtitle-chat-glm-4-7-flash", + IDS_CHAT_UI_CHAT_GLM_4_7_FLASH_SUBTITLE}, {"braveLeoModelSubtitle-chat-llama-4-maverick", IDS_CHAT_UI_CHAT_LLAMA_4_MAVERICK_SUBTITLE}, {"braveLeoModelSubtitle-chat-gpt-oss-20b", @@ -605,12 +605,12 @@ void BraveAddCommonStrings(content::WebUIDataSource* html_source, IDS_CHAT_UI_CHAT_GPT_OSS_120B_SUBTITLE}, {"braveLeoModelSubtitle-chat-mistral-large", IDS_CHAT_UI_CHAT_MISTRAL_LARGE_SUBTITLE}, - {"braveLeoModelSubtitle-chat-pixtral-large", - IDS_CHAT_UI_CHAT_PIXTRAL_LARGE_SUBTITLE}, + {"braveLeoModelSubtitle-chat-kimi-k2-5", + IDS_CHAT_UI_CHAT_KIMI_K2_5_SUBTITLE}, {"braveLeoModelSubtitle-chat-qwen-3-235b", IDS_CHAT_UI_CHAT_QWEN_3_235B_SUBTITLE}, - {"braveLeoModelSubtitle-chat-deepseek-v3-1", - IDS_CHAT_UI_CHAT_DEEPSEEK_V3_1_SUBTITLE}, + {"braveLeoModelSubtitle-chat-deepseek-v3-2", + IDS_CHAT_UI_CHAT_DEEPSEEK_V3_2_SUBTITLE}, {"braveLeoModelSubtitle-chat-qwen-3-coder-480b", IDS_CHAT_UI_CHAT_QWEN_3_CODER_480B_SUBTITLE}, {"braveLeoModelSubtitle-chat-claude-opus", diff --git a/components/ai_chat/core/browser/model_service.cc b/components/ai_chat/core/browser/model_service.cc index 49721460b5d9..4ad9e169c456 100644 --- a/components/ai_chat/core/browser/model_service.cc +++ b/components/ai_chat/core/browser/model_service.cc @@ -210,11 +210,11 @@ const std::vector& GetLeoModels() { models.push_back(std::move(model)); } - // Llama 4 Scout + // GLM 4.7 Flash { auto options = mojom::LeoModelOptions::New(); - options->display_maker = "Meta"; - options->name = "llama-4-scout"; + options->display_maker = "Z.ai"; + options->name = "glm-4-7-flash"; options->category = mojom::ModelCategory::CHAT; options->access = features::kFreemiumAvailable.Get() ? mojom::ModelAccess::BASIC_AND_PREMIUM @@ -223,10 +223,10 @@ const std::vector& GetLeoModels() { options->long_conversation_warning_character_limit = 9700; auto model = mojom::Model::New(); - model->key = "chat-llama-4-scout"; - model->display_name = "Llama 4 Scout"; + model->key = "chat-glm-4-7-flash"; + model->display_name = "GLM 4.7 Flash"; model->vision_support = true; - model->supports_tools = false; + model->supports_tools = true; model->is_suggested_model = false; model->is_near_model = false; model->options = @@ -331,21 +331,21 @@ const std::vector& GetLeoModels() { models.push_back(std::move(model)); } - // Pixtral Large + // Kimi K2.5 { auto options = mojom::LeoModelOptions::New(); - options->display_maker = "Mistral"; - options->name = "pixtral-large"; + options->display_maker = "Moonshot AI"; + options->name = "kimi-k2-5"; options->category = mojom::ModelCategory::CHAT; options->access = mojom::ModelAccess::PREMIUM; options->max_associated_content_length = 64000; options->long_conversation_warning_character_limit = 9700; auto model = mojom::Model::New(); - model->key = "chat-pixtral-large"; - model->display_name = "Pixtral Large"; - model->vision_support = true; - model->supports_tools = false; + model->key = "chat-kimi-k2-5"; + model->display_name = "Kimi K2.5"; + model->vision_support = false; + model->supports_tools = true; model->is_suggested_model = false; model->is_near_model = false; model->options = @@ -377,19 +377,19 @@ const std::vector& GetLeoModels() { models.push_back(std::move(model)); } - // Deepseek V3.1 + // Deepseek V3.2 { auto options = mojom::LeoModelOptions::New(); options->display_maker = "Deepseek"; - options->name = "deepseek-v3-1"; + options->name = "deepseek-v3-2"; options->category = mojom::ModelCategory::CHAT; options->access = mojom::ModelAccess::PREMIUM; options->max_associated_content_length = 64000; options->long_conversation_warning_character_limit = 9700; auto model = mojom::Model::New(); - model->key = "chat-deepseek-v3-1"; - model->display_name = "Deepseek V3.1"; + model->key = "chat-deepseek-v3-2"; + model->display_name = "Deepseek V3.2"; model->vision_support = false; model->supports_tools = false; model->is_suggested_model = false; @@ -471,19 +471,19 @@ const std::vector& GetLeoModels() { models.push_back(std::move(model)); } - // DeepSeek V3.1 (NEAR) + // GLM-5 (NEAR) if (features::IsNEARModelsEnabled()) { auto options = mojom::LeoModelOptions::New(); - options->display_maker = "DeepSeek"; - options->name = "near-deepseek-v3-1"; + options->display_maker = "Z.ai"; + options->name = "near-glm-5"; options->category = mojom::ModelCategory::CHAT; options->access = kFreemiumAccess; options->max_associated_content_length = 128000; options->long_conversation_warning_character_limit = 128000; auto model = mojom::Model::New(); - model->key = "chat-near-deepseek-v3-1"; - model->display_name = "DeepSeek V3.1"; + model->key = "chat-near-glm-5"; + model->display_name = "GLM-5"; model->vision_support = false; model->supports_tools = false; model->is_suggested_model = true; @@ -593,14 +593,19 @@ void ModelService::MigrateProfilePrefs(PrefService* profile_prefs) { if (ai_chat::features::IsAIChatEnabled()) { profile_prefs->ClearPref(prefs::kObseleteBraveChatAutoGenerateQuestions); - // Migrate old model keys to kChatAutomaticModelKey - constexpr std::array kOldModelKeys = { + // Migrate old model keys to "chat-automatic" + constexpr std::array kOldModelKeys = { // Added: June 6, 2024. Checks can be removed eventually "chat-default", // Added: May 28, 2025. Checks can be removed eventually "chat-leo-expanded", // Added: July 15, 2025. Checks can be removed eventually "chat-vision-basic", + // These 4 added Feb 26, 2026. Checks can be removed eventually + "chat-llama-4-scout", + "chat-pixtral-large", + "chat-deepseek-v3-1", + "chat-near-deepseek-v3-1", }; if (auto* default_model_value = @@ -769,15 +774,15 @@ ModelService::GetModelsWithSubtitles() { } else if (model->key == "chat-qwen") { model_with_subtitle->subtitle = l10n_util::GetStringUTF8(IDS_CHAT_UI_CHAT_QWEN_SUBTITLE); - } else if (model->key == "chat-near-deepseek-v3-1") { - model_with_subtitle->subtitle = l10n_util::GetStringUTF8( - IDS_CHAT_UI_CHAT_NEAR_DEEPSEEK_V3_1_SUBTITLE); - } else if (model->key == kChatAutomaticModelKey) { + } else if (model->key == "chat-near-glm-5") { + model_with_subtitle->subtitle = + l10n_util::GetStringUTF8(IDS_CHAT_UI_CHAT_NEAR_GLM_5_SUBTITLE); + } else if (model->key == "chat-automatic") { model_with_subtitle->subtitle = l10n_util::GetStringUTF8(IDS_CHAT_UI_CHAT_AUTOMATIC_SUBTITLE); - } else if (model->key == "chat-llama-4-scout") { + } else if (model->key == "chat-glm-4-7-flash") { model_with_subtitle->subtitle = - l10n_util::GetStringUTF8(IDS_CHAT_UI_CHAT_LLAMA_4_SCOUT_SUBTITLE); + l10n_util::GetStringUTF8(IDS_CHAT_UI_CHAT_GLM_4_7_FLASH_SUBTITLE); } else if (model->key == "chat-llama-4-maverick") { model_with_subtitle->subtitle = l10n_util::GetStringUTF8( IDS_CHAT_UI_CHAT_LLAMA_4_MAVERICK_SUBTITLE); @@ -790,15 +795,15 @@ ModelService::GetModelsWithSubtitles() { } else if (model->key == "chat-mistral-large") { model_with_subtitle->subtitle = l10n_util::GetStringUTF8(IDS_CHAT_UI_CHAT_MISTRAL_LARGE_SUBTITLE); - } else if (model->key == "chat-pixtral-large") { + } else if (model->key == "chat-kimi-k2-5") { model_with_subtitle->subtitle = - l10n_util::GetStringUTF8(IDS_CHAT_UI_CHAT_PIXTRAL_LARGE_SUBTITLE); + l10n_util::GetStringUTF8(IDS_CHAT_UI_CHAT_KIMI_K2_5_SUBTITLE); } else if (model->key == "chat-qwen-3-235b") { model_with_subtitle->subtitle = l10n_util::GetStringUTF8(IDS_CHAT_UI_CHAT_QWEN_3_235B_SUBTITLE); - } else if (model->key == "chat-deepseek-v3-1") { + } else if (model->key == "chat-deepseek-v3-2") { model_with_subtitle->subtitle = - l10n_util::GetStringUTF8(IDS_CHAT_UI_CHAT_DEEPSEEK_V3_1_SUBTITLE); + l10n_util::GetStringUTF8(IDS_CHAT_UI_CHAT_DEEPSEEK_V3_2_SUBTITLE); } else if (model->key == "chat-qwen-3-coder-480b") { model_with_subtitle->subtitle = l10n_util::GetStringUTF8( IDS_CHAT_UI_CHAT_QWEN_3_CODER_480B_SUBTITLE); diff --git a/components/ai_chat/resources/common/constants.ts b/components/ai_chat/resources/common/constants.ts index b90547ea4b26..d76b12e63058 100644 --- a/components/ai_chat/resources/common/constants.ts +++ b/components/ai_chat/resources/common/constants.ts @@ -9,21 +9,21 @@ export const IGNORE_EXTERNAL_LINK_WARNING_KEY = 'IGNORE_EXTERNAL_LINK_WARNING' const modelIcons = { 'chat-automatic': 'product-brave-leo', - 'chat-near-deepseek-v3-1': 'deepseek-color', + 'chat-near-glm-5': 'zai-color', 'chat-claude-instant': 'anthropic-color', 'chat-claude-haiku': 'anthropic-color', 'chat-claude-sonnet': 'anthropic-color', 'chat-qwen': 'qwen-color', 'chat-brave-summary': 'social-brave-release-favicon-fullheight-color', 'chat-basic': 'meta-color', - 'chat-llama-4-scout': 'meta-color', + 'chat-glm-4-7-flash': 'zai-color', 'chat-llama-4-maverick': 'meta-color', 'chat-gpt-oss-20b': 'openai-color', 'chat-gpt-oss-120b': 'openai-color', 'chat-mistral-large': 'mistral-color', - 'chat-pixtral-large': 'mistral-color', + 'chat-kimi-k2-5': 'kimi-color', 'chat-qwen-3-235b': 'qwen-color', - 'chat-deepseek-v3-1': 'deepseek-color', + 'chat-deepseek-v3-2': 'deepseek-color', 'chat-qwen-3-coder-480b': 'qwen-color', 'chat-claude-opus': 'anthropic-color', } diff --git a/components/resources/ai_chat_ui_strings.grdp b/components/resources/ai_chat_ui_strings.grdp index 239ae122570f..d1679d9976cc 100644 --- a/components/resources/ai_chat_ui_strings.grdp +++ b/components/resources/ai_chat_ui_strings.grdp @@ -99,8 +99,8 @@ Hi, I'm Leo. I'm an AI assistant by Brave. I'm powered by Qwen VL 30B, a model created by Alibaba Cloud to be performant and applicable to many use cases. Qwen is Brave-hosted through our own secure infrastructure.$1Learn more/$1 - - Hi, I'm Leo. I'm an AI assistant by Brave. I'm powered by DeepSeek V3.1, a model created by DeepSeek to be performant and applicable to many use cases. DeepSeek V3.1 is NEAR-hosted through their own verifiably private secure infrastructure.$1Learn more/$1 + + Hi, I'm Leo. I'm an AI assistant by Brave. I'm powered by GLM-5, a model created by Zhipu AI to be performant and applicable to many use cases. GLM-5 is NEAR-hosted through their own verifiably private secure infrastructure.$1Learn more/$1 Hi, I'm Leo. I'm an AI assistant by Brave. I'm powered by Claude Instant, a model created by Anthropic to power conversational and text processing tasks. Claude Instant is Brave-hosted through our own secure infrastructure.$1Learn more/$1 @@ -111,9 +111,6 @@ Hi, I'm Leo. I'm an AI assistant by Brave. I'm powered by Claude Sonnet, a model created by Anthropic to power conversational and text processing tasks. Claude Sonnet is Brave-hosted through our own secure infrastructure.$1Learn more/$1 - - Hi, I'm Leo. I'm an AI assistant by Brave. I'm powered by Llama 4 Scout, a model created by Meta to be performant and applicable to many use cases. Llama 4 Scout is Brave-hosted through our own secure infrastructure.$1Learn more/$1 - Hi, I'm Leo. I'm an AI assistant by Brave. I'm powered by Llama 4 Maverick, a model created by Meta to be performant and applicable to many use cases. Llama 4 Maverick is Brave-hosted through our own secure infrastructure.$1Learn more/$1 @@ -126,14 +123,11 @@ Hi, I'm Leo. I'm an AI assistant by Brave. I'm powered by Mistral Large, a model created by Mistral to be performant and applicable to many use cases. Mistral Large is Brave-hosted through our own secure infrastructure.$1Learn more/$1 - - Hi, I'm Leo. I'm an AI assistant by Brave. I'm powered by Pixtral Large, a model created by Mistral to be performant and applicable to many use cases. Pixtral Large is Brave-hosted through our own secure infrastructure.$1Learn more/$1 - Hi, I'm Leo. I'm an AI assistant by Brave. I'm powered by Qwen 3 235B, a model created by Alibaba Cloud to be performant and applicable to many use cases. Qwen 3 235B is Brave-hosted through our own secure infrastructure.$1Learn more/$1 - - Hi, I'm Leo. I'm an AI assistant by Brave. I'm powered by Deepseek V3.1, a model created by Deepseek to be performant and applicable to many use cases. Deepseek V3.1 is Brave-hosted through our own secure infrastructure.$1Learn more/$1 + + Hi, I'm Leo. I'm an AI assistant by Brave. I'm powered by Deepseek V3.2, a model created by Deepseek to be performant and applicable to many use cases. Deepseek V3.2 is Brave-hosted through our own secure infrastructure.$1Learn more/$1 Hi, I'm Leo. I'm an AI assistant by Brave. I'm powered by Qwen 3 Coder 480B, a model created by Alibaba Cloud to be performant and applicable to many use cases. Qwen 3 Coder 480B is Brave-hosted through our own secure infrastructure.$1Learn more/$1 @@ -141,6 +135,12 @@ Hi, I'm Leo. I'm an AI assistant by Brave. I'm powered by Claude Opus, a model created by Anthropic to power conversational and text processing tasks. Claude Opus is Brave-hosted through our own secure infrastructure.$1Learn more/$1 + + Hi, I'm Leo. I'm an AI assistant by Brave. I'm powered by GLM-4-7-Flash, a model created by Zhipu AI to be performant and applicable to many use cases. GLM-4-7-Flash is Brave-hosted through our own secure infrastructure.$1Learn more/$1 + + + Hi, I'm Leo. I'm an AI assistant by Brave. I'm powered by Kimi K2.5, a model created by Moonshot AI to be performant and applicable to many use cases. Kimi K2.5 is Brave-hosted through our own secure infrastructure.$1Learn more/$1 + Hi, I'm Leo. I'm an AI assistant by Brave. I'm powered by Brave Ocelot, a model created by Brave to summarise web pages. Brave Ocelot is Brave-hosted through our own secure infrastructure.$1Learn more/$1 @@ -582,14 +582,14 @@ Fast • Search • Vision - + Verifiably Private With NEAR AI TEE Model changes dynamically to use the best one for the task - - Search • Vision + + Fast • Search • Tools Search • Vision @@ -603,14 +603,14 @@ Search - - Search • Vision + + Search • Tools Search • Vision - - Search + + Search • Tools Search diff --git a/ui/webui/resources/BUILD.gn b/ui/webui/resources/BUILD.gn index 4adf76639def..55d2613ead54 100644 --- a/ui/webui/resources/BUILD.gn +++ b/ui/webui/resources/BUILD.gn @@ -296,6 +296,7 @@ leo_icons = [ "key-lock-off.svg", "key-lock.svg", "key.svg", + "kimi-color.svg", "launch-off.svg", "launch.svg", "leo-cursor.svg", @@ -483,6 +484,7 @@ leo_icons = [ "window-tab-new.svg", "window.svg", "windows-open.svg", + "zai-color.svg", "import-arrow.svg", "metamask-color.svg", "phantom-color.svg",