diff --git a/expose.h b/expose.h index 04791b328..212b88bc1 100644 --- a/expose.h +++ b/expose.h @@ -106,6 +106,7 @@ struct sd_load_model_inputs const int cublas_info = 0; const char * vulkan_info; const int threads; + const int quant = 0; const int debugmode = 0; }; struct sd_generation_inputs diff --git a/klite.embd b/klite.embd index 77e8f06f9..346ffdbaf 100644 --- a/klite.embd +++ b/klite.embd @@ -7,7 +7,7 @@ Just copy this single static HTML file anywhere and open it in a browser, or fro Please go to https://github.com/LostRuins/lite.koboldai.net for updates on Kobold Lite. If you are submitting a pull request for Lite, PLEASE use the above repo, not the KoboldCpp one. Kobold Lite is under the AGPL v3.0 License unless otherwise exempted. Please do not remove this line. -Current version: 117 +Current version: 118 -Concedo --> @@ -3478,7 +3478,9 @@ Current version: 117 saved_palm_key: "", //do not ever share this in save files! saved_kai_addr: "", //do not ever share this in save files! saved_oai_jailbreak: "", //customized oai system prompt + saved_oai_jailbreak2: "", //oai assistant postfix saved_oai_custommodel: "", //customized oai custom model + saved_oai_role: 0, //0=user,1=assistant,2=system saved_a1111_url: default_a1111_base, saved_xtts_url: default_xtts_base, prev_custom_endpoint_type: 0, //show a reconnect box to custom endpoint if needed. 0 is horde, otherwise its dropdown value+1 @@ -6589,6 +6591,38 @@ Current version: 117 document.getElementById("jailbreakprompttext").classList.add("hidden"); } } + function togglejailbreak2() + { + if(localsettings.saved_oai_jailbreak2=="") + { + document.getElementById("jailbreakprompttext2").value = ""; + } + else + { + document.getElementById("jailbreakprompttext2").value = localsettings.saved_oai_jailbreak2; + } + if(document.getElementById("jailbreakprompt2").checked) + { + document.getElementById("jailbreakprompttext2").classList.remove("hidden"); + }else{ + document.getElementById("jailbreakprompttext2").classList.add("hidden"); + } + } + function toggleoaichatcompl() + { + if(document.getElementById("useoaichatcompl").checked) + { + document.getElementById("useoaichatcomplbox").classList.remove("hidden"); + if(localsettings.saved_oai_role!=null) + { + document.getElementById("oairoledropdown").value = localsettings.saved_oai_role; + } + }else{ + document.getElementById("useoaichatcomplbox").classList.add("hidden"); + } + togglejailbreak(); + togglejailbreak2(); + } function select_custom_oai_model() { @@ -6619,6 +6653,7 @@ Current version: 117 } else { document.getElementById("useoaichatcompl").checked = !non_completions; } + toggleoaichatcompl(); } function oai_fetch_models() { @@ -6728,7 +6763,7 @@ Current version: 117 } oai_model_change(); - togglejailbreak(); + toggleoaichatcompl(); } else if(epchoice==2) { @@ -6847,28 +6882,22 @@ Current version: 117 { //now we get the version number, however this is optional //if it fails we can still proceed - let urls2 = [ - apply_proxy_url(tmpep + kobold_custom_version_endpoint), - ]; - Promise.all(urls2.map(url => fetch(url) - .then(response => response.json()))) + fetch(apply_proxy_url(tmpep + kobold_custom_version_endpoint)) + .then(response => response.json()) .then(values2 => { console.log(values2); - let ep_version = values2[0].result; + let ep_version = values2.result; kobold_endpoint_version = (ep_version?ep_version:""); }).catch(error => { console.log("Failed to get KAI version number: " + error); }); //also get max ctx supported - let urls3 = [ - apply_proxy_url(tmpep + kobold_custom_maxctxlen_endpoint), - ]; - Promise.all(urls3.map(url => fetch(url) - .then(response => response.json()))) + fetch(apply_proxy_url(tmpep + kobold_custom_maxctxlen_endpoint)) + .then(response => response.json()) .then(values3 => { console.log(values3); - let ep_maxctx = values3[0].value; + let ep_maxctx = values3.value; if(ep_maxctx && ep_maxctx>document.getElementById("max_context_length_slide").max) { document.getElementById("max_context_length_slide").max = ep_maxctx; @@ -6883,7 +6912,7 @@ Current version: 117 //allow kcpp version check for remote endpoints too { //for local mode, check if we are using koboldcpp, if so we can use streaming if permitted by version - fetch(tmpep + koboldcpp_version_endpoint) + fetch(apply_proxy_url(tmpep + koboldcpp_version_endpoint)) .then(x => x.json()) .then(data => { if(data && data!="" && data.version && data.version!="") @@ -6892,14 +6921,11 @@ Current version: 117 console.log("KoboldCpp Detected: " + koboldcpp_version); //also check against kcpp's max true context length - let urls4 = [ - apply_proxy_url(tmpep + koboldcpp_truemaxctxlen_endpoint), - ]; - Promise.all(urls4.map(url => fetch(url) - .then(response => response.json()))) + fetch(apply_proxy_url(tmpep + koboldcpp_truemaxctxlen_endpoint)) + .then(response => response.json()) .then(values4 => { console.log(values4); - let ep_maxctx = values4[0].value; + let ep_maxctx = values4.value; if(ep_maxctx && ep_maxctx>document.getElementById("max_context_length_slide").max) { document.getElementById("max_context_length_slide").max = ep_maxctx; @@ -6910,13 +6936,10 @@ Current version: 117 }); //and check if there's a kcpp savefile preloaded - let urls5 = [ - apply_proxy_url(tmpep + koboldcpp_preloadstory_endpoint), - ]; - Promise.all(urls5.map(url => fetch(url) - .then(response => response.json()))) + fetch(apply_proxy_url(tmpep + koboldcpp_preloadstory_endpoint)) + .then(response => response.json()) .then(values5 => { - let tmpstory = values5[0]; + let tmpstory = values5; let is_kai = !(tmpstory.prompt==null); if(is_kai) { @@ -6931,6 +6954,41 @@ Current version: 117 console.log("Failed to get preloaded story: " + error); }); + //check if image gen is supported + fetch(apply_proxy_url(tmpep + a1111_models_endpoint)) + .then(response => response.json()) + .then(values6 => { + console.log(values6); + if(values6 && values6.length>0) + { + let firstitem = values6[0]; + if(firstitem.model_name!="inactive" && firstitem.filename!=null) + { + //local image gen is available + if(localsettings.generate_images_mode==0) + { + console.log("Connect to KoboldCpp Image Gen"); + localsettings.generate_images_mode = 2; + localsettings.saved_a1111_url = tmpep; + connect_to_a1111(true); + render_gametext(true); + } + } + else + { + //hide the add img if the image server is down + if(localsettings.generate_images_mode==2 && localsettings.saved_a1111_url==tmpep) + { + localsettings.generate_images_mode = 0; + localsettings.saved_a1111_url = default_a1111_base + render_gametext(true); + } + } + } + }).catch(error => { + console.log("Failed to get local image models: " + error); + }); + }else{ console.log("Unknown KoboldCpp Check Response: " + data); } @@ -7009,6 +7067,8 @@ Current version: 117 { document.getElementById("jailbreakprompttext").value = defaultoaijailbreak; } + localsettings.saved_oai_role = document.getElementById("oairoledropdown").value; + localsettings.saved_oai_jailbreak2 = document.getElementById("jailbreakprompttext2").value; let isOpenrouter = (document.getElementById("customapidropdown").value==5); let dropdown = (isOpenrouter?document.getElementById("custom_openrouter_model"):document.getElementById("custom_oai_model")); custom_oai_model = dropdown.value.trim(); @@ -7028,7 +7088,7 @@ Current version: 117 document.getElementById("connectstatus").classList.add("color_green"); } document.getElementById("connectstatus").innerHTML = "Connected to OAI Endpoint"; - render_gametext(); + render_gametext(true); } } else if(epchoice==2) //connect to Scale Endpoint @@ -9704,18 +9764,17 @@ Current version: 117 } if (document.getElementById("useoaichatcompl").checked) { + let myrole = (localsettings.saved_oai_role==2)?"system":(localsettings.saved_oai_role==1?"assistant":"user"); + oai_payload.messages = []; targetep = (custom_oai_endpoint + oai_submit_endpoint_turbo); if (document.getElementById("jailbreakprompt") && document.getElementById("jailbreakprompt").checked && document.getElementById("jailbreakprompttext").value!="") { - oai_payload.messages = [ - { "role": "system", "content": document.getElementById("jailbreakprompttext").value }, - { "role": "user", "content": submit_payload.prompt }, - ]; + oai_payload.messages.push({ "role": "system", "content": document.getElementById("jailbreakprompttext").value }); } - else { - oai_payload.messages = [ - { "role": "user", "content": submit_payload.prompt }, - ]; + oai_payload.messages.push({ "role": myrole, "content": submit_payload.prompt }); + if (document.getElementById("jailbreakprompt2") && document.getElementById("jailbreakprompt2").checked && document.getElementById("jailbreakprompttext2").value!="") { + oai_payload.messages.push({ "role": "assistant", "content": document.getElementById("jailbreakprompttext2").value }); } + } else { //apply custom logit bias for official OAI only @@ -13355,12 +13414,28 @@ Current version: 117
Add Endpoint Version
- -
Add System Message
- +
Use ChatCompletions API
- + + +