diff --git a/public/index.html b/public/index.html
index c7a3cc968..1db0d359f 100644
--- a/public/index.html
+++ b/public/index.html
@@ -262,7 +262,7 @@
-
Text generation presets
+ Text generation web UI presets
@@ -350,15 +350,43 @@
+
+
+ No Repeat Ngram Size
+
+
+ select
+
+
+
+
+
+
+
+ Min Length
+
+
+ select
+
+
+
+
+
+
+
+
@@ -569,9 +597,39 @@
select
-
+
+ Beam search
+
+
+ Number of Beams
+
+
+ select
+
+
+
+
+
+
+
+ Length Penalty
+
+
+ select
+
+
+
+
+
+
+
+
+ Contrastive search
+
+
+ Seed
+
+
+ select
+
+
+
+
+
diff --git a/public/script.js b/public/script.js
index cd2f4986a..d045982fc 100644
--- a/public/script.js
+++ b/public/script.js
@@ -1428,25 +1428,24 @@ async function Generate(type, automatic_trigger, force_name2) {//encode("dsfs").
}
if (main_api == 'textgenerationwebui') {
- const doSample = textgenerationwebui_settings.penalty_alpha == 0;
var generate_data = {
data: [
finalPromt,
this_amount_gen, // max new tokens
- doSample, // do_sample
+ textgenerationwebui_settings.do_sample, // do_sample
textgenerationwebui_settings.temp, // temperature
textgenerationwebui_settings.top_p, // top_p
textgenerationwebui_settings.typical_p, // typical_p
textgenerationwebui_settings.rep_pen, // repetition_penalty
- 1.0, // encoder rep pen
+ textgenerationwebui_settings.encoder_rep_pen, // encoder rep pen
textgenerationwebui_settings.top_k, // top_k
- 0, // min_length
- textgenerationwebui_settings.rep_pen_size, // no_repeat_ngram_size
- 1, // num_beams
+ textgenerationwebui_settings.min_length, // min_length
+ textgenerationwebui_settings.no_repeat_ngram_size, // no_repeat_ngram_size
+ textgenerationwebui_settings.num_beams, // num_beams
textgenerationwebui_settings.penalty_alpha, // penalty_alpha
- 1, // length_penalty
- false, // early_stopping
- -1, // seed
+ textgenerationwebui_settings.length_penalty, // length_penalty
+ textgenerationwebui_settings.early_stopping, // early_stopping
+ textgenerationwebui_settings.seed, // seed
name1, // name1
name2, // name2
"", // Context
diff --git a/public/scripts/textgen-settings.js b/public/scripts/textgen-settings.js
index 847e54c94..a52f18bb4 100644
--- a/public/scripts/textgen-settings.js
+++ b/public/scripts/textgen-settings.js
@@ -8,32 +8,55 @@ export {
}
let textgenerationwebui_settings = {
- temp: 0.5,
- top_p: 0.9,
- top_k: 0,
+ temp: 0.7,
+ top_p: 0.5,
+ top_k: 40,
typical_p: 1,
- rep_pen: 1.1,
- rep_pen_size: 0,
+ rep_pen: 1.2,
+ no_repeat_ngram_size: 0,
penalty_alpha: 0,
+ num_beams: 1,
+ length_penalty: 1,
+ min_length: 0,
+ encoder_rep_pen: 1,
+ do_sample: true,
+ early_stopping: false,
+ seed: -1,
};
const setting_names = [
"temp",
"rep_pen",
- "rep_pen_size",
+ "no_repeat_ngram_size",
"top_k",
"top_p",
"typical_p",
"penalty_alpha",
+ "num_beams",
+ "length_penalty",
+ "min_length",
+ "encoder_rep_pen",
+ "do_sample",
+ "early_stopping",
+ "seed",
];
function loadTextGenSettings(settings) {
- textgenerationwebui_settings = settings ? settings : textgenerationwebui_settings;
+ if (settings) {
+ Object.assign(textgenerationwebui_settings, settings);
+ }
for (const i of setting_names) {
- const val = parseFloat(textgenerationwebui_settings[i]);
- $(`#${i}_textgenerationwebui`).val(val);
- $(`#${i}_counter_textgenerationwebui`).text(val.toFixed(2));
+ const isCheckbox = $(`#${i}_textgenerationwebui`).attr('type') == 'checkbox';
+ if (isCheckbox) {
+ const val = Boolean(textgenerationwebui_settings[i]);
+ $(`#${i}_textgenerationwebui`).prop('checked', val);
+ }
+ else {
+ const val = parseFloat(textgenerationwebui_settings[i]);
+ $(`#${i}_textgenerationwebui`).val(val);
+ $(`#${i}_counter_textgenerationwebui`).text(val.toFixed(2));
+ }
}
}
@@ -41,10 +64,19 @@ $(document).ready(function() {
for (const i of setting_names) {
$(`#${i}_textgenerationwebui`).attr("x-setting-id", i);
$(document).on("input", `#${i}_textgenerationwebui`, function () {
+ const isCheckbox = $(this).attr('type') == 'checkbox';
const id = $(this).attr("x-setting-id");
- const val = parseFloat($(this).val());
- $(`#${id}_counter_textgenerationwebui`).text(val.toFixed(2));
- textgenerationwebui_settings[id] = parseFloat(val);
+
+ if (isCheckbox) {
+ const value = $(this).prop('checked');
+ textgenerationwebui_settings[id] = value;
+ }
+ else {
+ const value = parseFloat($(this).val());
+ $(`#${id}_counter_textgenerationwebui`).text(value.toFixed(2));
+ textgenerationwebui_settings[id] = parseFloat(value);
+ }
+
saveSettingsDebounced();
});
}