mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
More settings for oobabooga's
This commit is contained in:
@ -262,7 +262,7 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div id="textgenerationwebui_api-presets">
|
<div id="textgenerationwebui_api-presets">
|
||||||
<h3>Text generation presets</h3>
|
<h3>Text generation web UI presets</h3>
|
||||||
<select id="settings_preset_textgenerationwebui">
|
<select id="settings_preset_textgenerationwebui">
|
||||||
<option value="gui">Default</option>
|
<option value="gui">Default</option>
|
||||||
</select>
|
</select>
|
||||||
@ -350,15 +350,43 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="range-block">
|
<div class="range-block">
|
||||||
<div class="range-block-title">
|
<div class="range-block-title">
|
||||||
No repeat ngram size
|
Encoder Repetition Penalty
|
||||||
</div>
|
</div>
|
||||||
<div class="range-block-counter">
|
<div class="range-block-counter">
|
||||||
<span id="rep_pen_size_counter_textgenerationwebui">select</span>
|
<span id="encoder_rep_pen_counter_textgenerationwebui">select</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="range-block-range">
|
<div class="range-block-range">
|
||||||
<input type="range" id="rep_pen_size_textgenerationwebui" name="volume" min="0" max="20" step="1">
|
<input type="range" id="encoder_rep_pen_textgenerationwebui" name="volume" min="0.8" max="1.5" step="0.01" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="range-block">
|
||||||
|
<div class="range-block-title">
|
||||||
|
No Repeat Ngram Size
|
||||||
|
</div>
|
||||||
|
<div class="range-block-counter">
|
||||||
|
<span id="no_repeat_ngram_size_counter_textgenerationwebui">select</span>
|
||||||
|
</div>
|
||||||
|
<div class="range-block-range">
|
||||||
|
<input type="range" id="no_repeat_ngram_size_textgenerationwebui" name="volume" min="0" max="20" step="1">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="range-block">
|
||||||
|
<div class="range-block-title">
|
||||||
|
Min Length
|
||||||
|
</div>
|
||||||
|
<div class="range-block-counter">
|
||||||
|
<span id="min_length_counter_textgenerationwebui">select</span>
|
||||||
|
</div>
|
||||||
|
<div class="range-block-range">
|
||||||
|
<input type="range" id="min_length_textgenerationwebui" name="volume" min="0" max="2000" step="1" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="range-block">
|
||||||
|
<label class="checkbox_label" for="do_sample_textgenerationwebui">
|
||||||
|
<input type="checkbox" id="do_sample_textgenerationwebui" />
|
||||||
|
Do Sample
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="range_block_openai">
|
<div id="range_block_openai">
|
||||||
<div class="range-block">
|
<div class="range-block">
|
||||||
@ -558,7 +586,7 @@
|
|||||||
<span id="top_p_counter_textgenerationwebui">select</span>
|
<span id="top_p_counter_textgenerationwebui">select</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="range-block-range">
|
<div class="range-block-range">
|
||||||
<input type="range" id="top_p_textgenerationwebui" name="volume" min="0" max="1" step="0.1">
|
<input type="range" id="top_p_textgenerationwebui" name="volume" min="0" max="1" step="0.01">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="range-block">
|
<div class="range-block">
|
||||||
@ -569,9 +597,39 @@
|
|||||||
<span id="typical_p_counter_textgenerationwebui">select</span>
|
<span id="typical_p_counter_textgenerationwebui">select</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="range-block-range">
|
<div class="range-block-range">
|
||||||
<input type="range" id="typical_p_textgenerationwebui" name="volume" min="0" max="1" step="0.1">
|
<input type="range" id="typical_p_textgenerationwebui" name="volume" min="0" max="1" step="0.01">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<h4>Beam search</h4>
|
||||||
|
<div class="range-block">
|
||||||
|
<div class="range-block-title">
|
||||||
|
Number of Beams
|
||||||
|
</div>
|
||||||
|
<div class="range-block-counter">
|
||||||
|
<span id="num_beams_counter_textgenerationwebui">select</span>
|
||||||
|
</div>
|
||||||
|
<div class="range-block-range">
|
||||||
|
<input type="range" id="num_beams_textgenerationwebui" name="volume" min="1" max="20" step="1" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="range-block">
|
||||||
|
<div class="range-block-title">
|
||||||
|
Length Penalty
|
||||||
|
</div>
|
||||||
|
<div class="range-block-counter">
|
||||||
|
<span id="length_penalty_counter_textgenerationwebui">select</span>
|
||||||
|
</div>
|
||||||
|
<div class="range-block-range">
|
||||||
|
<input type="range" id="length_penalty_textgenerationwebui" name="volume" min="-5" max="5" step="0.1" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="range-block">
|
||||||
|
<label class="checkbox_label" for="early_stopping_textgenerationwebui">
|
||||||
|
<input type="checkbox" id="early_stopping_textgenerationwebui" />
|
||||||
|
Early Stopping
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<h4>Contrastive search</h4>
|
||||||
<div class="range-block">
|
<div class="range-block">
|
||||||
<div class="range-block-title">
|
<div class="range-block-title">
|
||||||
Penalty Alpha
|
Penalty Alpha
|
||||||
@ -583,6 +641,17 @@
|
|||||||
<input type="range" id="penalty_alpha_textgenerationwebui" name="volume" min="0" max="5" step="0.05" />
|
<input type="range" id="penalty_alpha_textgenerationwebui" name="volume" min="0" max="5" step="0.05" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="range-block">
|
||||||
|
<div class="range-block-title">
|
||||||
|
Seed
|
||||||
|
</div>
|
||||||
|
<div style="display: none" class="range-block-counter">
|
||||||
|
<span id="seed_counter_textgenerationwebui">select</span>
|
||||||
|
</div>
|
||||||
|
<div class="range-block-range">
|
||||||
|
<input type="number" id="seed_textgenerationwebui" class="text_pole" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="openai_settings">
|
<div id="openai_settings">
|
||||||
|
@ -1428,25 +1428,24 @@ async function Generate(type, automatic_trigger, force_name2) {//encode("dsfs").
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (main_api == 'textgenerationwebui') {
|
if (main_api == 'textgenerationwebui') {
|
||||||
const doSample = textgenerationwebui_settings.penalty_alpha == 0;
|
|
||||||
var generate_data = {
|
var generate_data = {
|
||||||
data: [
|
data: [
|
||||||
finalPromt,
|
finalPromt,
|
||||||
this_amount_gen, // max new tokens
|
this_amount_gen, // max new tokens
|
||||||
doSample, // do_sample
|
textgenerationwebui_settings.do_sample, // do_sample
|
||||||
textgenerationwebui_settings.temp, // temperature
|
textgenerationwebui_settings.temp, // temperature
|
||||||
textgenerationwebui_settings.top_p, // top_p
|
textgenerationwebui_settings.top_p, // top_p
|
||||||
textgenerationwebui_settings.typical_p, // typical_p
|
textgenerationwebui_settings.typical_p, // typical_p
|
||||||
textgenerationwebui_settings.rep_pen, // repetition_penalty
|
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
|
textgenerationwebui_settings.top_k, // top_k
|
||||||
0, // min_length
|
textgenerationwebui_settings.min_length, // min_length
|
||||||
textgenerationwebui_settings.rep_pen_size, // no_repeat_ngram_size
|
textgenerationwebui_settings.no_repeat_ngram_size, // no_repeat_ngram_size
|
||||||
1, // num_beams
|
textgenerationwebui_settings.num_beams, // num_beams
|
||||||
textgenerationwebui_settings.penalty_alpha, // penalty_alpha
|
textgenerationwebui_settings.penalty_alpha, // penalty_alpha
|
||||||
1, // length_penalty
|
textgenerationwebui_settings.length_penalty, // length_penalty
|
||||||
false, // early_stopping
|
textgenerationwebui_settings.early_stopping, // early_stopping
|
||||||
-1, // seed
|
textgenerationwebui_settings.seed, // seed
|
||||||
name1, // name1
|
name1, // name1
|
||||||
name2, // name2
|
name2, // name2
|
||||||
"", // Context
|
"", // Context
|
||||||
|
@ -8,43 +8,75 @@ export {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let textgenerationwebui_settings = {
|
let textgenerationwebui_settings = {
|
||||||
temp: 0.5,
|
temp: 0.7,
|
||||||
top_p: 0.9,
|
top_p: 0.5,
|
||||||
top_k: 0,
|
top_k: 40,
|
||||||
typical_p: 1,
|
typical_p: 1,
|
||||||
rep_pen: 1.1,
|
rep_pen: 1.2,
|
||||||
rep_pen_size: 0,
|
no_repeat_ngram_size: 0,
|
||||||
penalty_alpha: 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 = [
|
const setting_names = [
|
||||||
"temp",
|
"temp",
|
||||||
"rep_pen",
|
"rep_pen",
|
||||||
"rep_pen_size",
|
"no_repeat_ngram_size",
|
||||||
"top_k",
|
"top_k",
|
||||||
"top_p",
|
"top_p",
|
||||||
"typical_p",
|
"typical_p",
|
||||||
"penalty_alpha",
|
"penalty_alpha",
|
||||||
|
"num_beams",
|
||||||
|
"length_penalty",
|
||||||
|
"min_length",
|
||||||
|
"encoder_rep_pen",
|
||||||
|
"do_sample",
|
||||||
|
"early_stopping",
|
||||||
|
"seed",
|
||||||
];
|
];
|
||||||
|
|
||||||
function loadTextGenSettings(settings) {
|
function loadTextGenSettings(settings) {
|
||||||
textgenerationwebui_settings = settings ? settings : textgenerationwebui_settings;
|
if (settings) {
|
||||||
|
Object.assign(textgenerationwebui_settings, settings);
|
||||||
|
}
|
||||||
|
|
||||||
for (const i of setting_names) {
|
for (const i of setting_names) {
|
||||||
|
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]);
|
const val = parseFloat(textgenerationwebui_settings[i]);
|
||||||
$(`#${i}_textgenerationwebui`).val(val);
|
$(`#${i}_textgenerationwebui`).val(val);
|
||||||
$(`#${i}_counter_textgenerationwebui`).text(val.toFixed(2));
|
$(`#${i}_counter_textgenerationwebui`).text(val.toFixed(2));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
for (const i of setting_names) {
|
for (const i of setting_names) {
|
||||||
$(`#${i}_textgenerationwebui`).attr("x-setting-id", i);
|
$(`#${i}_textgenerationwebui`).attr("x-setting-id", i);
|
||||||
$(document).on("input", `#${i}_textgenerationwebui`, function () {
|
$(document).on("input", `#${i}_textgenerationwebui`, function () {
|
||||||
|
const isCheckbox = $(this).attr('type') == 'checkbox';
|
||||||
const id = $(this).attr("x-setting-id");
|
const id = $(this).attr("x-setting-id");
|
||||||
const val = parseFloat($(this).val());
|
|
||||||
$(`#${id}_counter_textgenerationwebui`).text(val.toFixed(2));
|
if (isCheckbox) {
|
||||||
textgenerationwebui_settings[id] = parseFloat(val);
|
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();
|
saveSettingsDebounced();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user