diff --git a/public/script.js b/public/script.js index d8b77de81..0769ea982 100644 --- a/public/script.js +++ b/public/script.js @@ -1028,7 +1028,7 @@ function getStoppingStrings(isImpersonate, addSpace) { const charString = `\n${name2}:`; const userString = is_pygmalion ? `\nYou:` : `\n${name1}:`; const result = isImpersonate ? charString : userString; - return addSpace ? `${result} ` : result; + return [addSpace ? `${result} ` : result]; } function getSlashCommand(message, type) { @@ -1879,7 +1879,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, false)), + 'stopping_strings': getStoppingStrings(isImpersonate, false), 'truncation_length': max_context, 'ban_eos_token': textgenerationwebui_settings.ban_eos_token, 'skip_special_tokens': textgenerationwebui_settings.skip_special_tokens, @@ -2177,13 +2177,15 @@ function cleanUpMessage(getMessage, isImpersonate) { getMessage = getMessage.trim(); } - const stoppingString = getStoppingStrings(isImpersonate, false); + const stoppingStrings = getStoppingStrings(isImpersonate, false); - if (stoppingString.length) { - for (let j = stoppingString.length - 1; j > 0; j--) { - if (getMessage.slice(-j) === stoppingString.slice(0, j)) { - getMessage = getMessage.slice(0, -j); - break; + for (const stoppingString of stoppingStrings) { + if (stoppingString.length) { + for (let j = stoppingString.length - 1; j > 0; j--) { + if (getMessage.slice(-j) === stoppingString.slice(0, j)) { + getMessage = getMessage.slice(0, -j); + break; + } } } } diff --git a/public/scripts/kai-settings.js b/public/scripts/kai-settings.js index 654d36a1a..842a571e2 100644 --- a/public/scripts/kai-settings.js +++ b/public/scripts/kai-settings.js @@ -85,7 +85,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: kai_settings.use_stop_sequence ? [getStoppingStrings(isImpersonate, false)] : undefined, + stop_sequence: kai_settings.use_stop_sequence ? getStoppingStrings(isImpersonate, false) : undefined, }; return generate_data; } diff --git a/public/scripts/textgen-settings.js b/public/scripts/textgen-settings.js index 918d1995e..687bdf7f8 100644 --- a/public/scripts/textgen-settings.js +++ b/public/scripts/textgen-settings.js @@ -26,11 +26,11 @@ let textgenerationwebui_settings = { seed: -1, preset: 'Default', add_bos_token: true, - custom_stopping_strings: [], + stopping_strings: [], truncation_length: 2048, ban_eos_token: false, streaming: false, - fn_index: 34, + fn_index: 43, skip_special_tokens: true, }; diff --git a/server.js b/server.js index 7031a752f..c42ac630a 100644 --- a/server.js +++ b/server.js @@ -424,7 +424,7 @@ app.post("/generate_textgenerationwebui", jsonParser, async function (request, r let result = JSON.parse(request.body.data)[0]; let prompt = result; - let stopping_strings = JSON.parse(request.body.data)[1].custom_stopping_strings; + let stopping_strings = JSON.parse(request.body.data)[1].stopping_strings; try { for await (const text of readWebsocket()) {