From c45b8dc56fe72380e2475cbb1300c825a5f207dd Mon Sep 17 00:00:00 2001 From: Concedo <39025047+LostRuins@users.noreply.github.com> Date: Thu, 10 Jul 2025 17:39:08 +0800 Subject: [PATCH] fix for gemma3n --- gpttype_adapter.cpp | 5 +++ klite.embd | 83 ++++++++++++++++++++++++++------------------- model_adapter.cpp | 4 +++ model_adapter.h | 1 + 4 files changed, 58 insertions(+), 35 deletions(-) diff --git a/gpttype_adapter.cpp b/gpttype_adapter.cpp index 0419027bb..eabc7d0c4 100644 --- a/gpttype_adapter.cpp +++ b/gpttype_adapter.cpp @@ -2287,6 +2287,11 @@ ModelLoadResult gpttype_load_model(const load_model_inputs inputs, FileFormat in } //handle override tensor std::string tensoroverrides = inputs.override_tensors; + if(file_format_meta.model_architecture==GGUFArch::ARCH_GEMMA3N) + { + std::string forced = "per_layer_token_embd.weight=CPU"; //this tensor on gpu is problematic on unsloth q4_0 + tensoroverrides = (tensoroverrides=="" ? forced: (forced+","+tensoroverrides)); + } if(tensoroverrides!="" && ggml_backend_dev_count()>1) { printf("Handling Override Tensors for backends: "); diff --git a/klite.embd b/klite.embd index 1801bc185..a556364e4 100644 --- a/klite.embd +++ b/klite.embd @@ -6221,7 +6221,9 @@ Current version indicated by LITEVER below. .then((data) => { if(data.data && data.data.length > 0) { - onDone(data.data); //probe failed + let dropdown = get_custom_ep_model_dropdown("2"); + update_oai_model_list(data,dropdown); + onDone(data.data); //probe success } else { @@ -10488,6 +10490,36 @@ Current version indicated by LITEVER below. }); }); } + function update_oai_model_list(data, dropdown) + { + let isOpenrouter = (document.getElementById("customapidropdown").value==3); + var lastOption = dropdown.lastElementChild; + for (var i = dropdown.options.length - 1; i >= 0; i--) { + var option = dropdown.options[i]; + dropdown.remove(option); + } + let selidx = 0; + let sortedarr = []; + for(var i = 0; i < data.data.length; i++) { + var opt = data.data[i]; + sortedarr.push(opt.id); + } + sortedarr.sort(); + for(var i=0;i 0) { - var lastOption = dropdown.lastElementChild; - for (var i = dropdown.options.length - 1; i >= 0; i--) { - var option = dropdown.options[i]; - dropdown.remove(option); - } - let selidx = 0; - let sortedarr = []; - for(var i = 0; i < data.data.length; i++) { - var opt = data.data[i]; - sortedarr.push(opt.id); - } - sortedarr.sort(); - for(var i=0;i
0
-
1
+
100
@@ -25478,8 +25488,11 @@ Current version indicated by LITEVER below.