mirror of
https://github.com/LostRuins/koboldcpp.git
synced 2025-09-10 17:14:36 +00:00
updated lite
This commit is contained in:
parent
6d6d79f359
commit
1bcbd2e21b
2 changed files with 90 additions and 18 deletions
106
klite.embd
106
klite.embd
|
@ -4860,12 +4860,16 @@ Current version: 114
|
||||||
try {
|
try {
|
||||||
let new_loaded_storyobj = JSON.parse(text);
|
let new_loaded_storyobj = JSON.parse(text);
|
||||||
//we don't want to fiddle with the file as its very complex. only handle the parts we are interested in, and just leave the rest untouched.
|
//we don't want to fiddle with the file as its very complex. only handle the parts we are interested in, and just leave the rest untouched.
|
||||||
if (new_loaded_storyobj.prompt == null) {
|
if (new_loaded_storyobj.prompt != null && !new_loaded_storyobj.scenarioVersion) {
|
||||||
//quick sanity check. if prompt does not exist, this is not a KAI save.
|
//quick sanity check. if prompt does not exist, this is not a KAI save.
|
||||||
|
kai_json_load(new_loaded_storyobj,false);
|
||||||
|
if (selectedFilename && selectedFilename != "") {
|
||||||
|
last_known_filename = selectedFilename;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
//check for tavernai fields
|
//check for tavernai fields
|
||||||
if (new_loaded_storyobj.name != null || new_loaded_storyobj.description != null ||
|
if (!new_loaded_storyobj.scenarioVersion && (new_loaded_storyobj.name != null || new_loaded_storyobj.description != null ||
|
||||||
new_loaded_storyobj.personality != null || new_loaded_storyobj.spec=="chara_card_v2") {
|
new_loaded_storyobj.personality != null || new_loaded_storyobj.spec=="chara_card_v2")) {
|
||||||
load_tavern_obj(new_loaded_storyobj);
|
load_tavern_obj(new_loaded_storyobj);
|
||||||
}
|
}
|
||||||
else if (new_loaded_storyobj.char_name != null || new_loaded_storyobj.char_persona != null) {
|
else if (new_loaded_storyobj.char_name != null || new_loaded_storyobj.char_persona != null) {
|
||||||
|
@ -4876,14 +4880,17 @@ Current version: 114
|
||||||
{
|
{
|
||||||
kai_json_load(new_loaded_storyobj,false);
|
kai_json_load(new_loaded_storyobj,false);
|
||||||
}
|
}
|
||||||
|
else if(new_loaded_storyobj.scenarioVersion>1 && new_loaded_storyobj.scenarioVersion<10)
|
||||||
|
{
|
||||||
|
nai_json_load(new_loaded_storyobj);
|
||||||
|
}
|
||||||
|
else if(new_loaded_storyobj.lorebookVersion>1 && new_loaded_storyobj.lorebookVersion<10)
|
||||||
|
{
|
||||||
|
current_wi = load_nai_wi(new_loaded_storyobj);
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
msgbox("Could not load selected json file. Does not appear to be a KoboldAI story or compatible format.");
|
msgbox("Could not load selected json file. Does not appear to be a KoboldAI story or compatible format.");
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
kai_json_load(new_loaded_storyobj,false);
|
|
||||||
if (selectedFilename && selectedFilename != "") {
|
|
||||||
last_known_filename = selectedFilename;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
|
@ -5282,6 +5289,7 @@ Current version: 114
|
||||||
}
|
}
|
||||||
function load_ooba_obj(obj)
|
function load_ooba_obj(obj)
|
||||||
{
|
{
|
||||||
|
console.log("Loading ooba obj");
|
||||||
let chatopponent = obj.char_name?obj.char_name:defaultchatopponent;
|
let chatopponent = obj.char_name?obj.char_name:defaultchatopponent;
|
||||||
let myname = ((localsettings.chatname && localsettings.chatname!="")?localsettings.chatname:"You");
|
let myname = ((localsettings.chatname && localsettings.chatname!="")?localsettings.chatname:"You");
|
||||||
let memory = obj.char_persona?("Persona: "+obj.char_persona):"";
|
let memory = obj.char_persona?("Persona: "+obj.char_persona):"";
|
||||||
|
@ -5306,6 +5314,53 @@ Current version: 114
|
||||||
localsettings.gui_type_chat = 2;
|
localsettings.gui_type_chat = 2;
|
||||||
render_gametext(true);
|
render_gametext(true);
|
||||||
}
|
}
|
||||||
|
function nai_json_load(obj)
|
||||||
|
{
|
||||||
|
console.log("Loading nai obj");
|
||||||
|
restart_new_game(false);
|
||||||
|
if(obj.prompt!="")
|
||||||
|
{
|
||||||
|
gametext_arr.push(obj.prompt);
|
||||||
|
}
|
||||||
|
current_memory = "";
|
||||||
|
if(obj.context && obj.context.length>0)
|
||||||
|
{
|
||||||
|
for(let i=0;i<obj.context.length;++i)
|
||||||
|
{
|
||||||
|
current_memory += obj.context[i].text + "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(obj.lorebook)
|
||||||
|
{
|
||||||
|
current_wi = load_nai_wi(obj.lorebook);
|
||||||
|
}
|
||||||
|
render_gametext(true);
|
||||||
|
}
|
||||||
|
function load_nai_wi(obj)
|
||||||
|
{
|
||||||
|
console.log("Loading nai wi");
|
||||||
|
let loadedwi = [];
|
||||||
|
for (let i=0;i<obj.entries.length;++i) {
|
||||||
|
var itm = obj.entries[i];
|
||||||
|
var key = "";
|
||||||
|
if(itm.keys && itm.keys.length>0)
|
||||||
|
{
|
||||||
|
key = itm.keys[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
let nwi = {
|
||||||
|
"key": key,
|
||||||
|
"keysecondary": "",
|
||||||
|
"content": itm.text,
|
||||||
|
"comment": "",
|
||||||
|
"folder": null,
|
||||||
|
"selective": false,
|
||||||
|
"constant": false
|
||||||
|
};
|
||||||
|
loadedwi.push(nwi);
|
||||||
|
}
|
||||||
|
return loadedwi;
|
||||||
|
}
|
||||||
|
|
||||||
function get_aetherroom_scenario()
|
function get_aetherroom_scenario()
|
||||||
{
|
{
|
||||||
|
@ -7998,7 +8053,7 @@ Current version: 114
|
||||||
localsettings.max_length = cleannum(localsettings.max_length, 1, (localsettings.max_context_length-1));
|
localsettings.max_length = cleannum(localsettings.max_length, 1, (localsettings.max_context_length-1));
|
||||||
localsettings.temperature = cleannum(localsettings.temperature, 0.01, 5);
|
localsettings.temperature = cleannum(localsettings.temperature, 0.01, 5);
|
||||||
localsettings.rep_pen = cleannum(localsettings.rep_pen, 0.1, 5);
|
localsettings.rep_pen = cleannum(localsettings.rep_pen, 0.1, 5);
|
||||||
localsettings.rep_pen_range = cleannum(localsettings.rep_pen_range, 0, 8192);
|
localsettings.rep_pen_range = cleannum(localsettings.rep_pen_range, 0, localsettings.max_context_length);
|
||||||
localsettings.rep_pen_slope = cleannum(localsettings.rep_pen_slope, 0, 20);
|
localsettings.rep_pen_slope = cleannum(localsettings.rep_pen_slope, 0, 20);
|
||||||
localsettings.top_p = cleannum(localsettings.top_p, 0.002, 1);
|
localsettings.top_p = cleannum(localsettings.top_p, 0.002, 1);
|
||||||
localsettings.min_p = cleannum(localsettings.min_p, 0.0, 1);
|
localsettings.min_p = cleannum(localsettings.min_p, 0.0, 1);
|
||||||
|
@ -8419,7 +8474,7 @@ Current version: 114
|
||||||
|
|
||||||
function reset_all_settings()
|
function reset_all_settings()
|
||||||
{
|
{
|
||||||
msgboxYesNo("Reset ALL settings to their defaults? This will also reset your aesthetic UI and your current story! Your saved endpoints and API keys will be unaffected.","Confirm Reset All Settings",()=>{
|
msgboxYesNo("Reset ALL settings to their defaults? This will also reset your aesthetic UI and your current story!","Confirm Reset All Settings",()=>{
|
||||||
localsettings = JSON.parse(JSON.stringify(defaultsettings));
|
localsettings = JSON.parse(JSON.stringify(defaultsettings));
|
||||||
let ns = new AestheticInstructUISettings();
|
let ns = new AestheticInstructUISettings();
|
||||||
aestheticInstructUISettings = deepCopyAestheticSettings(ns);
|
aestheticInstructUISettings = deepCopyAestheticSettings(ns);
|
||||||
|
@ -8783,6 +8838,18 @@ Current version: 114
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function test_tts()
|
||||||
|
{
|
||||||
|
inputBox("Enter phrase to speak.","Test TTS","","Input text to speak", ()=>{
|
||||||
|
let userinput = getInputBoxValue();
|
||||||
|
userinput = userinput.trim();
|
||||||
|
let ssval = document.getElementById("ttsselect").value;
|
||||||
|
if (userinput != null && userinput!="" && ssval > 0) {
|
||||||
|
tts_speak(userinput,ssval);
|
||||||
|
}
|
||||||
|
},false);
|
||||||
|
}
|
||||||
|
|
||||||
function toggle_tts_mode()
|
function toggle_tts_mode()
|
||||||
{
|
{
|
||||||
if(document.getElementById("ttsselect").value==XTTS_ID)
|
if(document.getElementById("ttsselect").value==XTTS_ID)
|
||||||
|
@ -8813,12 +8880,17 @@ Current version: 114
|
||||||
}
|
}
|
||||||
},false);
|
},false);
|
||||||
}
|
}
|
||||||
function tts_speak(text)
|
function tts_speak(text, speech_synth_override=null)
|
||||||
{
|
{
|
||||||
if(!text || text=="" || text.trim()=="")
|
if(!text || text=="" || text.trim()=="")
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
let ssval = localsettings.speech_synth;
|
||||||
|
if(speech_synth_override!=null)
|
||||||
|
{
|
||||||
|
ssval = speech_synth_override;
|
||||||
|
}
|
||||||
if(localsettings.narrate_only_dialog)
|
if(localsettings.narrate_only_dialog)
|
||||||
{
|
{
|
||||||
// Remove text within asterisks and the asterisks, then trim
|
// Remove text within asterisks and the asterisks, then trim
|
||||||
|
@ -8841,7 +8913,7 @@ Current version: 114
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(localsettings.speech_synth==XTTS_ID) //xtts api server
|
if(ssval==XTTS_ID) //xtts api server
|
||||||
{
|
{
|
||||||
if(xtts_is_connected)
|
if(xtts_is_connected)
|
||||||
{
|
{
|
||||||
|
@ -8877,7 +8949,7 @@ Current version: 114
|
||||||
{
|
{
|
||||||
if ('speechSynthesis' in window) {
|
if ('speechSynthesis' in window) {
|
||||||
let utterance = new window.SpeechSynthesisUtterance(text);
|
let utterance = new window.SpeechSynthesisUtterance(text);
|
||||||
utterance.voice = window.speechSynthesis.getVoices()[localsettings.speech_synth - 1];
|
utterance.voice = window.speechSynthesis.getVoices()[ssval - 1];
|
||||||
window.speechSynthesis.speak(utterance);
|
window.speechSynthesis.speak(utterance);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9794,7 +9866,8 @@ Current version: 114
|
||||||
{
|
{
|
||||||
if(localsettings.opmode==1)
|
if(localsettings.opmode==1)
|
||||||
{
|
{
|
||||||
submit_payload.prompt = submit_payload.prompt + " \n ASSISTANT: Here is a continuation of the story: \nASSISTANT:";
|
submit_payload.prompt = submit_payload.prompt + " \nASSISTANT: Here is a direct partial continuation of the story without repeating it: \nASSISTANT:";
|
||||||
|
submit_payload.params.max_length += 100; //add length
|
||||||
}
|
}
|
||||||
|
|
||||||
urlbase = default_gemini_base;
|
urlbase = default_gemini_base;
|
||||||
|
@ -13738,8 +13811,9 @@ Current version: 114
|
||||||
<div class="settingitem">
|
<div class="settingitem">
|
||||||
<div class="settinglabel">
|
<div class="settinglabel">
|
||||||
<div class="justifyleft settingsmall">TTS <span class="helpicon">?<span class="helptext">Enable Text-To-Speech to have your story automatically read to you.</span></span></div>
|
<div class="justifyleft settingsmall">TTS <span class="helpicon">?<span class="helptext">Enable Text-To-Speech to have your story automatically read to you.</span></span></div>
|
||||||
<select class="form-control" id="ttsselect" style="height:20px;padding:0;margin:0px 0 0;" onchange="toggle_tts_mode()">
|
<select class="form-control" id="ttsselect" style="font-size:12px;height:20px;padding:0;margin:0px 0 0;width:calc(100% - 32px);" onchange="toggle_tts_mode()">
|
||||||
</select>
|
</select>
|
||||||
|
<button id="test_tts" type="button" class="bg_green btn btn-primary" style="height:20px; width:30px; padding:2px 3px;font-size:11px;" onclick="test_tts()">Test</button>
|
||||||
<div id="xtts_container" class="settinglabel hidden">
|
<div id="xtts_container" class="settinglabel hidden">
|
||||||
<table width="100%"><tr>
|
<table width="100%"><tr>
|
||||||
<td><button id="xtts_url" type="button" class="btn btn-primary" style="width:100%; padding:2px 3px;margin-top:2px;font-size:11px;" onclick="set_xtts_url()">Set URL</button></td>
|
<td><button id="xtts_url" type="button" class="btn btn-primary" style="width:100%; padding:2px 3px;margin-top:2px;font-size:11px;" onclick="set_xtts_url()">Set URL</button></td>
|
||||||
|
|
|
@ -536,8 +536,6 @@ class ServerRequestHandler(http.server.SimpleHTTPRequestHandler):
|
||||||
genparams["max_length"] = genparams.get('max_tokens', 100)
|
genparams["max_length"] = genparams.get('max_tokens', 100)
|
||||||
presence_penalty = genparams.get('presence_penalty', genparams.get('frequency_penalty', 0.0))
|
presence_penalty = genparams.get('presence_penalty', genparams.get('frequency_penalty', 0.0))
|
||||||
genparams["presence_penalty"] = presence_penalty
|
genparams["presence_penalty"] = presence_penalty
|
||||||
if presence_penalty > 0:
|
|
||||||
genparams["rep_pen"] = 1.0 #disable rep pen if presence pen is specified for OAI
|
|
||||||
# openai allows either a string or a list as a stop sequence
|
# openai allows either a string or a list as a stop sequence
|
||||||
if isinstance(genparams.get('stop',[]), list):
|
if isinstance(genparams.get('stop',[]), list):
|
||||||
genparams["stop_sequence"] = genparams.get('stop', [])
|
genparams["stop_sequence"] = genparams.get('stop', [])
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue