From d7547ef8694c1b62019b7131fab52c3ce8f6d0f1 Mon Sep 17 00:00:00 2001
From: SillyLossy Repetition Penalty Range
select
+ select
Top K
- select
-
- Top P
- select
-
- Typical P
- select
-
- Penalty Alpha
- select
-
+ Advanced Settings
+
+ Top K
+ select
+
+ Top P
+ select
+
+ Typical P
+ select
+
+ Penalty Alpha
+ select
+
+
- If both this and Repetition Penalty Range are below 0, then repetition penalty will have more effect + If both this and Repetition Penalty Range are above 0, then repetition penalty will have more effect closer to the end of the prompt. The higher the value, the stronger the effect.
Set value to 1 for linear interpolation or 0 to disable interpolation.
diff --git a/public/script.js b/public/script.js index 500c095ae..a045aaf32 100644 --- a/public/script.js +++ b/public/script.js @@ -235,11 +235,8 @@ var koboldai_settings; var koboldai_setting_names; var preset_settings = "gui"; var user_avatar = "you.png"; -var temp = 0.5; var amount_gen = 80; //default max length of AI generated responses var max_context = 2048; -var rep_pen = 1; -var rep_pen_size = 100; var textgenerationwebui_settings = { temp: 0.5, @@ -1365,7 +1362,7 @@ async function Generate(type, automatic_trigger) {//encode("dsfs").length var generate_data; if (main_api == 'kobold') { - var generate_data = { prompt: finalPromt, gui_settings: true, max_length: amount_gen, temperature: temp, max_context_length: max_context }; + var generate_data = { prompt: finalPromt, gui_settings: true, max_length: amount_gen, temperature: kai_settings.temp, max_context_length: max_context }; if (preset_settings != 'gui') { generate_data = { @@ -1374,10 +1371,10 @@ async function Generate(type, automatic_trigger) {//encode("dsfs").length sampler_order: this_settings.sampler_order, max_context_length: parseInt(max_context),//this_settings.max_length, max_length: this_amount_gen,//parseInt(amount_gen), - rep_pen: parseFloat(rep_pen), - rep_pen_range: parseInt(rep_pen_size), + rep_pen: parseFloat(kai_settings.rep_pen), + rep_pen_range: parseInt(kai_settings.rep_pen_range), rep_pen_slope: kai_settings.rep_pen_slope, - temperature: parseFloat(temp), + temperature: parseFloat(kai_settings.temp), tfs: kai_settings.tfs, top_a: kai_settings.top_a, top_k: kai_settings.top_k, @@ -2004,7 +2001,6 @@ async function getSettings(type) { textgenerationwebui_settings = settings.textgenerationwebui_settings || textgenerationwebui_settings; - temp = settings.temp; amount_gen = settings.amount_gen; if (settings.max_context !== undefined) max_context = parseInt(settings.max_context); @@ -2015,14 +2011,6 @@ async function getSettings(type) { if (settings.character_anchor !== undefined) character_anchor = !!settings.character_anchor; - rep_pen = settings.rep_pen; - rep_pen_size = settings.rep_pen_size; - - var addZeros = ""; - if (isInt(temp)) addZeros = ".00"; - $("#temp").val(temp); - $("#temp_counter").html(temp + addZeros); - $("#style_anchor").prop("checked", style_anchor); $("#character_anchor").prop("checked", character_anchor); $("#anchor_order option[value=" + anchor_order + "]").attr( @@ -2036,14 +2024,6 @@ async function getSettings(type) { $("#amount_gen").val(amount_gen); $("#amount_gen_counter").html(amount_gen + " Tokens"); - addZeros = ""; - if (isInt(rep_pen)) addZeros = ".00"; - $("#rep_pen").val(rep_pen); - $("#rep_pen_counter").html(rep_pen + addZeros); - - $("#rep_pen_size").val(rep_pen_size); - $("#rep_pen_size_counter").html(rep_pen_size + " Tokens"); - swipes = !!settings.swipes; //// swipecode $('#swipes-checkbox').prop('checked', swipes); /// swipecode console.log('getSettings -- swipes = ' + swipes + '. toggling box'); @@ -2058,7 +2038,7 @@ async function getSettings(type) { rep_pen_novel = settings.rep_pen_novel; rep_pen_size_novel = settings.rep_pen_size_novel; - addZeros = ""; + let addZeros = ""; if (isInt(temp_novel)) addZeros = ".00"; $("#temp_novel").val(temp_novel); $("#temp_counter_novel").html(temp_novel + addZeros); @@ -2181,7 +2161,6 @@ async function saveSettings(type) { preset_settings: preset_settings, preset_settings_novel: preset_settings_novel, user_avatar: user_avatar, - temp: temp, amount_gen: amount_gen, max_context: max_context, anchor_order: anchor_order, @@ -2189,8 +2168,6 @@ async function saveSettings(type) { character_anchor: character_anchor, main_api: main_api, api_key_novel: api_key_novel, - rep_pen: rep_pen, - rep_pen_size: rep_pen_size, model_novel: model_novel, temp_novel: temp_novel, rep_pen_novel: rep_pen_novel, @@ -3732,22 +3709,10 @@ $(document).ready(function () { const preset = koboldai_settings[koboldai_setting_names[preset_settings]]; loadKoboldSettings(preset); - temp = preset.temp; - $("#temp").val(temp); - $("#temp_counter").html(temp); - amount_gen = preset.genamt; $("#amount_gen").val(amount_gen); $("#amount_gen_counter").html(amount_gen); - rep_pen = preset.rep_pen; - $("#rep_pen").val(rep_pen); - $("#rep_pen_counter").html(rep_pen); - - rep_pen_size = preset.rep_pen_range; - $("#rep_pen_size").val(rep_pen_size); - $("#rep_pen_size_counter").html(rep_pen_size + " Tokens"); - max_context = preset.max_length; $("#max_context").val(max_context); $("#max_context_counter").html(max_context + " Tokens"); @@ -3857,12 +3822,6 @@ $(document).ready(function () { ////////////////// OPTIMIZED RANGE SLIDER LISTENERS//////////////// const sliders = [ - { - sliderId: "#temp", - counterId: "#temp_counter", - format: (val) => isInt(val) ? val + ".00" : val, - setValue: (val) => { temp = Number(val); }, - }, { sliderId: "#amount_gen", counterId: "#amount_gen_counter", @@ -3875,18 +3834,6 @@ $(document).ready(function () { format: (val) => val + " Tokens", setValue: (val) => { max_context = Number(val); }, }, - { - sliderId: "#rep_pen", - counterId: "#rep_pen_counter", - format: (val) => isInt(val) ? val + ".00" : val, - setValue: (val) => { rep_pen = Number(val); }, - }, - { - sliderId: "#rep_pen_size", - counterId: "#rep_pen_size_counter", - format: (val) => val + " Tokens", - setValue: (val) => { rep_pen_size = Number(val); }, - }, { sliderId: "#temp_novel", counterId: "#temp_counter_novel", @@ -4256,4 +4203,10 @@ $(document).ready(function () { $("#shadow_select_chat_popup").css("display", "none"); $("#load_select_chat_div").css("display", "block"); }); + + $('.drawer-toggle').click(function () { + var icon = $(this).find('.drawer-icon'); + icon.toggleClass('down up'); + $(this).closest('.drawer').find('.drawer-content').slideToggle(); + }); }); diff --git a/public/scripts/kai-settings.js b/public/scripts/kai-settings.js index 7ad390cc2..bda6dd18f 100644 --- a/public/scripts/kai-settings.js +++ b/public/scripts/kai-settings.js @@ -8,6 +8,9 @@ export { }; const kai_settings = { + temp: 1, + rep_pen: 1, + rep_pen_range: 0, top_p: 1, top_a: 1, top_k: 0, @@ -18,45 +21,79 @@ const kai_settings = { function loadKoboldSettings(preset) { for (const name of Object.keys(kai_settings)) { - kai_settings[name] = preset[name]; - $(`#${name}`).val(kai_settings[name]); - $(`#${name}_counter`).text(kai_settings[name]); + const value = preset[name]; + + if (value === undefined) { + continue; + } + + const slider = sliders.find(x => x.name === name); + const formattedValue = slider.format(value); + slider.setValue(preset[name]); + $(slider.sliderId).val(preset[name]); + $(slider.counterId).text(formattedValue); } } -// Cohee's TODO: Merge with sliders block in script.js const sliders = [ { + name: "temp", + sliderId: "#temp", + counterId: "#temp_counter", + format: (val) => Number(val).toFixed(2), + setValue: (val) => { kai_settings.temp = Number(val); }, + }, + { + name: "rep_pen", + sliderId: "#rep_pen", + counterId: "#rep_pen_counter", + format: (val) => Number(val).toFixed(2), + setValue: (val) => { kai_settings.rep_pen = Number(val); }, + }, + { + name: "rep_pen_range", + sliderId: "#rep_pen_range", + counterId: "#rep_pen_range_counter", + format: (val) => val + " Tokens", + setValue: (val) => { kai_settings.rep_pen_range = Number(val); }, + }, + { + name: "top_p", sliderId: "#top_p", counterId: "#top_p_counter", format: (val) => val, setValue: (val) => { kai_settings.top_p = Number(val); }, }, { + name: "top_a", sliderId: "#top_a", counterId: "#top_a_counter", format: (val) => val, setValue: (val) => { kai_settings.top_a = Number(val); }, }, { + name: "top_k", sliderId: "#top_k", counterId: "#top_k_counter", format: (val) => val, setValue: (val) => { kai_settings.top_k = Number(val); }, }, { + name: "typical", sliderId: "#typical", counterId: "#typical_counter", format: (val) => val, setValue: (val) => { kai_settings.typical = Number(val); }, }, { + name: "tfs", sliderId: "#tfs", counterId: "#tfs_counter", format: (val) => val, setValue: (val) => { kai_settings.tfs = Number(val); }, }, { + name: "rep_pen_slope", sliderId: "#rep_pen_slope", counterId: "#rep_pen_slope_counter", format: (val) => val, @@ -65,12 +102,6 @@ const sliders = [ ]; $(document).ready(function () { - $('.drawer-toggle').click(function () { - var icon = $(this).find('.drawer-icon'); - icon.toggleClass('down up'); - $(this).closest('.drawer').find('.drawer-content').slideToggle(); - }); - sliders.forEach(slider => { $(document).on("input", slider.sliderId, function () { const value = $(this).val();