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>
|
||||
</div>
|
||||
<div id="textgenerationwebui_api-presets">
|
||||
<h3>Text generation presets</h3>
|
||||
<h3>Text generation web UI presets</h3>
|
||||
<select id="settings_preset_textgenerationwebui">
|
||||
<option value="gui">Default</option>
|
||||
</select>
|
||||
@ -350,15 +350,43 @@
|
||||
</div>
|
||||
<div class="range-block">
|
||||
<div class="range-block-title">
|
||||
No repeat ngram size
|
||||
Encoder Repetition Penalty
|
||||
</div>
|
||||
<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 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 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 id="range_block_openai">
|
||||
<div class="range-block">
|
||||
@ -558,7 +586,7 @@
|
||||
<span id="top_p_counter_textgenerationwebui">select</span>
|
||||
</div>
|
||||
<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 class="range-block">
|
||||
@ -569,9 +597,39 @@
|
||||
<span id="typical_p_counter_textgenerationwebui">select</span>
|
||||
</div>
|
||||
<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>
|
||||
<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-title">
|
||||
Penalty Alpha
|
||||
@ -583,6 +641,17 @@
|
||||
<input type="range" id="penalty_alpha_textgenerationwebui" name="volume" min="0" max="5" step="0.05" />
|
||||
</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 id="openai_settings">
|
||||
|
@ -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
|
||||
|
@ -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();
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user