Merge branch 'staging' into sysprompt-divorce

This commit is contained in:
Cohee
2024-09-21 02:11:42 +03:00
30 changed files with 480 additions and 193 deletions

View File

@@ -531,6 +531,19 @@ export function formatInstructModePrompt(name, isImpersonate, promptBias, name1,
}
let sequence = getSequence() || '';
let nameFiller = '';
// A hack for Mistral's formatting that has a normal output sequence ending with a space
if (
includeNames &&
power_user.instruct.last_output_sequence &&
power_user.instruct.output_sequence &&
sequence === power_user.instruct.last_output_sequence &&
/\s$/.test(power_user.instruct.output_sequence) &&
!/\s$/.test(power_user.instruct.last_output_sequence)
) {
nameFiller = power_user.instruct.output_sequence.slice(-1);
}
if (power_user.instruct.macro) {
sequence = substituteParams(sequence, name1, name2);
@@ -538,7 +551,7 @@ export function formatInstructModePrompt(name, isImpersonate, promptBias, name1,
}
const separator = power_user.instruct.wrap ? '\n' : '';
let text = includeNames ? (separator + sequence + separator + `${name}:`) : (separator + sequence);
let text = includeNames ? (separator + sequence + separator + nameFiller + `${name}:`) : (separator + sequence);
// Quiet prompt already has a newline at the end
if (isQuiet && separator) {

View File

@@ -38,6 +38,10 @@ export const nai_settings = {
top_p: 0.75,
top_a: 0.08,
typical_p: 0.975,
min_p: 0,
math1_temp: 1,
math1_quad: 0,
math1_quad_entropy_scale: 0,
min_length: 1,
model_novel: 'clio-v1',
preset_settings_novel: 'Talker-Chat-Clio',
@@ -151,6 +155,10 @@ export function loadNovelPreset(preset) {
nai_settings.order = preset.order || default_order;
nai_settings.logit_bias = preset.logit_bias || [];
nai_settings.preamble = preset.preamble || default_preamble;
nai_settings.min_p = preset.min_p || 0;
nai_settings.math1_temp = preset.math1_temp || 1;
nai_settings.math1_quad = preset.math1_quad || 0;
nai_settings.math1_quad_entropy_scale = preset.math1_quad_entropy_scale || 0;
loadNovelSettingsUi(nai_settings);
}
@@ -188,6 +196,10 @@ export function loadNovelSettings(settings) {
nai_settings.banned_tokens = settings.banned_tokens || '';
nai_settings.order = settings.order || default_order;
nai_settings.logit_bias = settings.logit_bias || [];
nai_settings.min_p = settings.min_p || 0;
nai_settings.math1_temp = settings.math1_temp || 1;
nai_settings.math1_quad = settings.math1_quad || 0;
nai_settings.math1_quad_entropy_scale = settings.math1_quad_entropy_scale || 0;
loadNovelSettingsUi(nai_settings);
}
@@ -227,6 +239,14 @@ function loadNovelSettingsUi(ui_settings) {
$('#nai_prefix').val(ui_settings.prefix || 'vanilla');
$('#nai_cfg_uc').val(ui_settings.cfg_uc || '');
$('#nai_banned_tokens').val(ui_settings.banned_tokens || '');
$('#min_p_novel').val(ui_settings.min_p);
$('#min_p_counter_novel').val(Number(ui_settings.min_p).toFixed(3));
$('#math1_temp_novel').val(ui_settings.math1_temp);
$('#math1_temp_counter_novel').val(Number(ui_settings.math1_temp).toFixed(2));
$('#math1_quad_novel').val(ui_settings.math1_quad);
$('#math1_quad_counter_novel').val(Number(ui_settings.math1_quad).toFixed(2));
$('#math1_quad_entropy_scale_novel').val(ui_settings.math1_quad_entropy_scale);
$('#math1_quad_entropy_scale_counter_novel').val(Number(ui_settings.math1_quad_entropy_scale).toFixed(2));
$('#streaming_novel').prop('checked', ui_settings.streaming_novel);
sortItemsByOrder(ui_settings.order);
@@ -336,6 +356,30 @@ const sliders = [
format: (val) => val,
setValue: (val) => { nai_settings.banned_tokens = val; },
},
{
sliderId: '#min_p_novel',
counterId: '#min_p_counter_novel',
format: (val) => Number(val).toFixed(3),
setValue: (val) => { nai_settings.min_p = Number(val); },
},
{
sliderId: '#math1_temp_novel',
counterId: '#math1_temp_counter_novel',
format: (val) => Number(val).toFixed(2),
setValue: (val) => { nai_settings.math1_temp = Number(val); },
},
{
sliderId: '#math1_quad_novel',
counterId: '#math1_quad_counter_novel',
format: (val) => Number(val).toFixed(2),
setValue: (val) => { nai_settings.math1_quad = Number(val); },
},
{
sliderId: '#math1_quad_entropy_scale_novel',
counterId: '#math1_quad_entropy_scale_counter_novel',
format: (val) => Number(val).toFixed(2),
setValue: (val) => { nai_settings.math1_quad_entropy_scale = Number(val); },
},
];
function getBadWordIds(banned_tokens, tokenizerType) {
@@ -469,6 +513,10 @@ export function getNovelGenerationData(finalPrompt, settings, maxLength, isImper
'top_a': Number(nai_settings.top_a),
'top_p': Number(nai_settings.top_p),
'top_k': Number(nai_settings.top_k),
'min_p': Number(nai_settings.min_p),
'math1_temp': Number(nai_settings.math1_temp),
'math1_quad': Number(nai_settings.math1_quad),
'math1_quad_entropy_scale': Number(nai_settings.math1_quad_entropy_scale),
'typical_p': Number(nai_settings.typical_p),
'mirostat_lr': Number(nai_settings.mirostat_lr),
'mirostat_tau': Number(nai_settings.mirostat_tau),