diff --git a/OpenCL.dll b/OpenCL.dll
new file mode 100644
index 000000000..16281318b
Binary files /dev/null and b/OpenCL.dll differ
diff --git a/klite.embd b/klite.embd
index faa34116b..78e224558 100644
--- a/klite.embd
+++ b/klite.embd
@@ -12,7 +12,7 @@ Current version: 95
@@ -3015,12 +3015,17 @@ Current version: 95
msgbox("Error while submitting prompt: Server appears to be busy.");
}
},
- abort(e) {
- retry_preserve_last = true;
+ abort(error) {
+
console.error('Error:', error);
clear_poll_flags();
render_gametext();
- msgbox("Error while submitting prompt: " + error);
+
+ if(error.name!="AbortError") //aborts are silent. slightly diff logic
+ {
+ msgbox("Error while submitting prompt: " + error);
+ retry_preserve_last = true;
+ }
},
}));
})
@@ -3276,6 +3281,7 @@ Current version: 95
saved_kai_addr: "", //do not ever share this in save files!
saved_oai_jailbreak: "", //customized oai system prompt
saved_oai_custommodel: "", //customized oai custom model
+ prev_custom_endpoint_type: 0, //show a reconnect box to custom endpoint if needed. 0 is horde, otherwise its dropdown value+1
autoscroll: true, //automatically scroll to bottom on render
trimsentences: true, //trim to last punctuation
@@ -3509,6 +3515,16 @@ Current version: 95
import_compressed_story(loadedstorycompressed,true); //use the same compressed format as shared stories and import it
import_props_into_object(localsettings,loadedsettings);
console.log("Loaded local settings and story");
+
+ //offer to reconnect
+ let pending_eptype = localsettings.prev_custom_endpoint_type;
+ if(!localflag && pending_eptype>0)
+ {
+ msgboxYesNo("Reconnect to previous custom endpoint?","Custom Endpoint Reconnect",()=>{
+ document.getElementById("customapidropdown").value = (pending_eptype - 1).toString();
+ display_custom_endpoint();
+ },null);
+ }
}
if(loadedsettings && !loadedsettings.persist_session)
{
@@ -9941,14 +9957,14 @@ Current version: 95
{
whorun = "
You're using the Spellbook by Scale AI API";
}
- else if(custom_palm_key!="")
- {
- whorun = "
You're using the PaLM API";
- }
else if(custom_claude_key!="")
{
whorun = "
You're using the Claude API";
}
+ else if(custom_palm_key!="")
+ {
+ whorun = "
You're using the PaLM API";
+ }
else {
whorun = "
There are " + selected_models.reduce((s, a) => s + a.count, 0) + " volunteer(s) running selected models with a total queue length of "+ selected_models.reduce((s, a) => s + a.queued, 0) + " tokens";
}
@@ -10400,9 +10416,39 @@ Current version: 95
}
}
+ function update_prev_custom_endpoint_type()
+ {
+ localsettings.prev_custom_endpoint_type = 0;
+ if (custom_kobold_endpoint != "") {
+ localsettings.prev_custom_endpoint_type = 1;
+ }
+ else if(custom_oai_key!="")
+ {
+ localsettings.prev_custom_endpoint_type = 2;
+ if(custom_oai_endpoint.toLowerCase().includes("openrouter.ai"))
+ {
+ localsettings.prev_custom_endpoint_type = 6;
+ }
+ }
+ else if(custom_scale_key!="")
+ {
+ localsettings.prev_custom_endpoint_type = 3;
+ }
+ else if(custom_claude_key!="")
+ {
+ localsettings.prev_custom_endpoint_type = 4;
+ }
+ else if(custom_palm_key!="")
+ {
+ localsettings.prev_custom_endpoint_type = 5;
+ }
+
+ }
+
function autosave() {
//autosave
try {
+ update_prev_custom_endpoint_type();
localStorage.setItem(STORAGE_PREFIX + "settings", JSON.stringify(localsettings));
if (localsettings.persist_session) {
let compressedstory = generate_compressed_story(true, true, true);
diff --git a/make_old_pyinstaller.bat b/make_old_pyinstaller.bat
index 871ee5951..52ab7ad11 100644
--- a/make_old_pyinstaller.bat
+++ b/make_old_pyinstaller.bat
@@ -1,4 +1,4 @@
echo This file is only for my own usage, please do not use it. I am lazy.
set PATH=d:\\MainApplications\\KoboldAIGPT\\KoboldAI-Horde-Bridge\\python;d:\\MainApplications\\KoboldAIGPT\\KoboldAI-Horde-Bridge\\python\\Scripts;%PATH%
-PyInstaller --noconfirm --onefile --clean --console --collect-all customtkinter --icon "./niko.ico" --add-data "./winclinfo.exe;." --add-data "./klite.embd;." --add-data "./kcpp_docs.embd;." --add-data "./koboldcpp_default.dll;." --add-data "./koboldcpp_openblas.dll;." --add-data "./koboldcpp_failsafe.dll;." --add-data "./koboldcpp_noavx2.dll;." --add-data "./libopenblas.dll;." --add-data "./koboldcpp_clblast.dll;." --add-data "./koboldcpp_clblast_noavx2.dll;." --add-data "./clblast.dll;." --add-data "./rwkv_vocab.embd;." --add-data "./rwkv_world_vocab.embd;." "./koboldcpp.py" -n "koboldcpp_nocuda.exe"
\ No newline at end of file
+PyInstaller --noconfirm --onefile --clean --console --collect-all customtkinter --icon "./niko.ico" --add-data "./winclinfo.exe;." --add-data "./OpenCL.dll;." --add-data "./klite.embd;." --add-data "./kcpp_docs.embd;." --add-data "./koboldcpp_default.dll;." --add-data "./koboldcpp_openblas.dll;." --add-data "./koboldcpp_failsafe.dll;." --add-data "./koboldcpp_noavx2.dll;." --add-data "./libopenblas.dll;." --add-data "./koboldcpp_clblast.dll;." --add-data "./koboldcpp_clblast_noavx2.dll;." --add-data "./clblast.dll;." --add-data "./rwkv_vocab.embd;." --add-data "./rwkv_world_vocab.embd;." "./koboldcpp.py" -n "koboldcpp_nocuda.exe"
\ No newline at end of file
diff --git a/make_old_pyinstaller_cuda.bat b/make_old_pyinstaller_cuda.bat
index 08c81754d..549cae40d 100644
--- a/make_old_pyinstaller_cuda.bat
+++ b/make_old_pyinstaller_cuda.bat
@@ -1,4 +1,4 @@
echo This file is only for my own usage, please do not use it. I am lazy.
set PATH=d:\\MainApplications\\KoboldAIGPT\\KoboldAI-Horde-Bridge\\python;d:\\MainApplications\\KoboldAIGPT\\KoboldAI-Horde-Bridge\\python\\Scripts;%PATH%
-PyInstaller --noconfirm --onefile --clean --console --collect-all customtkinter --icon "./nikogreen.ico" --add-data "./winclinfo.exe;." --add-data "./klite.embd;." --add-data "./kcpp_docs.embd;." --add-data "./koboldcpp_default.dll;." --add-data "./koboldcpp_openblas.dll;." --add-data "./koboldcpp_failsafe.dll;." --add-data "./koboldcpp_noavx2.dll;." --add-data "./libopenblas.dll;." --add-data "./koboldcpp_clblast.dll;." --add-data "./koboldcpp_clblast_noavx2.dll;." --add-data "./clblast.dll;." --add-data "./koboldcpp_cublas.dll;." --add-data "./cublas64_11.dll;." --add-data "./cublasLt64_11.dll;." --add-data "./cudart64_110.dll;." --add-data "./msvcp140.dll;." --add-data "./vcruntime140.dll;." --add-data "./vcruntime140_1.dll;." --add-data "./rwkv_vocab.embd;." --add-data "./rwkv_world_vocab.embd;." "./koboldcpp.py" -n "koboldcpp.exe"
\ No newline at end of file
+PyInstaller --noconfirm --onefile --clean --console --collect-all customtkinter --icon "./nikogreen.ico" --add-data "./winclinfo.exe;." --add-data "./OpenCL.dll;." --add-data "./klite.embd;." --add-data "./kcpp_docs.embd;." --add-data "./koboldcpp_default.dll;." --add-data "./koboldcpp_openblas.dll;." --add-data "./koboldcpp_failsafe.dll;." --add-data "./koboldcpp_noavx2.dll;." --add-data "./libopenblas.dll;." --add-data "./koboldcpp_clblast.dll;." --add-data "./koboldcpp_clblast_noavx2.dll;." --add-data "./clblast.dll;." --add-data "./koboldcpp_cublas.dll;." --add-data "./cublas64_11.dll;." --add-data "./cublasLt64_11.dll;." --add-data "./cudart64_110.dll;." --add-data "./msvcp140.dll;." --add-data "./vcruntime140.dll;." --add-data "./vcruntime140_1.dll;." --add-data "./rwkv_vocab.embd;." --add-data "./rwkv_world_vocab.embd;." "./koboldcpp.py" -n "koboldcpp.exe"
\ No newline at end of file
diff --git a/make_pyinstaller.bat b/make_pyinstaller.bat
index 16d0a6c9d..3d9d5d44d 100644
--- a/make_pyinstaller.bat
+++ b/make_pyinstaller.bat
@@ -1 +1 @@
-PyInstaller --noconfirm --onefile --clean --console --collect-all customtkinter --icon "./niko.ico" --add-data "./winclinfo.exe;." --add-data "./klite.embd;." --add-data "./kcpp_docs.embd;." --add-data "./koboldcpp_default.dll;." --add-data "./koboldcpp_openblas.dll;." --add-data "./koboldcpp_failsafe.dll;." --add-data "./koboldcpp_noavx2.dll;." --add-data "./libopenblas.dll;." --add-data "./koboldcpp_clblast.dll;." --add-data "./koboldcpp_clblast_noavx2.dll;." --add-data "./clblast.dll;." --add-data "./rwkv_vocab.embd;." --add-data "./rwkv_world_vocab.embd;." "./koboldcpp.py" -n "koboldcpp.exe"
\ No newline at end of file
+PyInstaller --noconfirm --onefile --clean --console --collect-all customtkinter --icon "./niko.ico" --add-data "./winclinfo.exe;." --add-data "./OpenCL.dll;." --add-data "./klite.embd;." --add-data "./kcpp_docs.embd;." --add-data "./koboldcpp_default.dll;." --add-data "./koboldcpp_openblas.dll;." --add-data "./koboldcpp_failsafe.dll;." --add-data "./koboldcpp_noavx2.dll;." --add-data "./libopenblas.dll;." --add-data "./koboldcpp_clblast.dll;." --add-data "./koboldcpp_clblast_noavx2.dll;." --add-data "./clblast.dll;." --add-data "./rwkv_vocab.embd;." --add-data "./rwkv_world_vocab.embd;." "./koboldcpp.py" -n "koboldcpp.exe"
\ No newline at end of file
diff --git a/make_pyinstaller_hybrid_henk.bat b/make_pyinstaller_hybrid_henk.bat
index eb0a89bd0..3da36c6db 100644
--- a/make_pyinstaller_hybrid_henk.bat
+++ b/make_pyinstaller_hybrid_henk.bat
@@ -2,4 +2,4 @@ cd /d "%~dp0"
copy "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\bin\cudart64_110.dll" .\ /Y
copy "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\bin\cublasLt64_11.dll" .\ /Y
copy "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\bin\cublas64_11.dll" .\ /Y
-PyInstaller --noconfirm --onefile --collect-all customtkinter --clean --console --icon ".\niko.ico" --add-data "./winclinfo.exe;." --add-data "./klite.embd;." --add-data "./kcpp_docs.embd;." --add-data "./koboldcpp_default.dll;." --add-data "./koboldcpp_openblas.dll;." --add-data "./koboldcpp_failsafe.dll;." --add-data "./koboldcpp_noavx2.dll;." --add-data "./libopenblas.dll;." --add-data "./koboldcpp_clblast.dll;." --add-data "./koboldcpp_clblast_noavx2.dll;." --add-data "./clblast.dll;." --add-data "./koboldcpp_cublas.dll;." --add-data "./cudart64_110.dll;." --add-data "./cublasLt64_11.dll;." --add-data "./cublas64_11.dll;." --add-data "./rwkv_vocab.embd;." --add-data "C:/Windows/System32/msvcp140.dll;." --add-data "C:/Windows/System32/vcruntime140_1.dll;." "./koboldcpp.py" -n "koboldcpp.exe"
\ No newline at end of file
+PyInstaller --noconfirm --onefile --collect-all customtkinter --clean --console --icon ".\niko.ico" --add-data "./winclinfo.exe;." --add-data "./OpenCL.dll;." --add-data "./klite.embd;." --add-data "./kcpp_docs.embd;." --add-data "./koboldcpp_default.dll;." --add-data "./koboldcpp_openblas.dll;." --add-data "./koboldcpp_failsafe.dll;." --add-data "./koboldcpp_noavx2.dll;." --add-data "./libopenblas.dll;." --add-data "./koboldcpp_clblast.dll;." --add-data "./koboldcpp_clblast_noavx2.dll;." --add-data "./clblast.dll;." --add-data "./koboldcpp_cublas.dll;." --add-data "./cudart64_110.dll;." --add-data "./cublasLt64_11.dll;." --add-data "./cublas64_11.dll;." --add-data "./rwkv_vocab.embd;." --add-data "C:/Windows/System32/msvcp140.dll;." --add-data "C:/Windows/System32/vcruntime140_1.dll;." "./koboldcpp.py" -n "koboldcpp.exe"
\ No newline at end of file