diff --git a/public/script.js b/public/script.js index dffde3c07..9813cf350 100644 --- a/public/script.js +++ b/public/script.js @@ -128,6 +128,7 @@ export { getTokenCount, isStreamingEnabled, getThumbnailUrl, + getStoppingStrings, chat, this_chid, settings, @@ -1013,10 +1014,11 @@ function substituteParams(content, _name1, _name2) { return content; } -function getStoppingStrings(isImpersonate) { - const charString = `"\n${name2}: "`; - const userString = is_pygmalion ? `"\nYou: "` : `"\n${name1}: "`; - return isImpersonate ? charString : userString; +function getStoppingStrings(isImpersonate, wrapInQuotes) { + const charString = `\n${name2}: `; + const userString = is_pygmalion ? `\nYou: ` : `\n${name1}: `; + const result = isImpersonate ? charString : userString; + return wrapInQuotes ? `"${result}"` : result; } function getSlashCommand(message, type) { @@ -1862,7 +1864,7 @@ async function Generate(type, automatic_trigger, force_name2) { }; if (preset_settings != 'gui' || horde_settings.use_horde) { - generate_data = getKoboldGenerationData(finalPromt, this_settings, this_amount_gen, this_max_context); + generate_data = getKoboldGenerationData(finalPromt, this_settings, this_amount_gen, this_max_context, isImpersonate); } } @@ -1886,7 +1888,7 @@ async function Generate(type, automatic_trigger, force_name2) { 'early_stopping': textgenerationwebui_settings.early_stopping, 'seed': textgenerationwebui_settings.seed, 'add_bos_token': textgenerationwebui_settings.add_bos_token, - 'custom_stopping_strings': JSON.stringify(getStoppingStrings(isImpersonate)), + 'custom_stopping_strings': JSON.stringify(getStoppingStrings(isImpersonate, false)), 'truncation_length': max_context, 'ban_eos_token': textgenerationwebui_settings.ban_eos_token, 'skip_special_tokens': textgenerationwebui_settings.skip_special_tokens, diff --git a/public/scripts/kai-settings.js b/public/scripts/kai-settings.js index c479a58c3..9330a3b66 100644 --- a/public/scripts/kai-settings.js +++ b/public/scripts/kai-settings.js @@ -1,5 +1,6 @@ import { saveSettingsDebounced, + getStoppingStrings, } from "../script.js"; export { @@ -55,7 +56,7 @@ function loadKoboldSettings(preset) { } } -function getKoboldGenerationData(finalPromt, this_settings, this_amount_gen, this_max_context) { +function getKoboldGenerationData(finalPromt, this_settings, this_amount_gen, this_max_context, isImpersonate) { let generate_data = { prompt: finalPromt, gui_settings: false, @@ -80,6 +81,7 @@ function getKoboldGenerationData(finalPromt, this_settings, this_amount_gen, thi s7: this_settings.sampler_order[6], use_world_info: false, singleline: kai_settings.single_line, + stop_sequence: [getStoppingStrings(isImpersonate, false)], }; return generate_data; } diff --git a/server.js b/server.js index fe07a9a6d..d51b6bff9 100644 --- a/server.js +++ b/server.js @@ -270,6 +270,7 @@ app.post("/generate", jsonParser, async function (request, response_generate = r typical: request.body.typical, sampler_order: sampler_order, singleline: !!request.body.singleline, + stop_sequence: request.body.stop_sequence || [], }; }