From fc1020a8e4d640823a460ff1d9403e0f54fe7494 Mon Sep 17 00:00:00 2001 From: Cohee <18619528+Cohee1207@users.noreply.github.com> Date: Sun, 11 May 2025 11:07:13 +0300 Subject: [PATCH] Refactor sequence breaker parsing in getTextGenGenerationData function --- public/scripts/textgen-settings.js | 34 +++++++++++------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/public/scripts/textgen-settings.js b/public/scripts/textgen-settings.js index 210d60070..b8c3df044 100644 --- a/public/scripts/textgen-settings.js +++ b/public/scripts/textgen-settings.js @@ -1338,6 +1338,16 @@ export async function getTextGenGenerationData(finalPrompt, maxTokens, isImperso 'nsigma': settings.nsigma, 'top_n_sigma': settings.nsigma, 'min_keep': settings.min_keep, + parseSequenceBreakers: function () { + try { + return JSON.parse(this.dry_sequence_breakers); + } catch { + if (typeof this.dry_sequence_breakers === 'string') { + return this.dry_sequence_breakers.split(','); + } + return undefined; + } + }, }; const nonAphroditeParams = { 'rep_pen': settings.rep_pen, @@ -1439,17 +1449,7 @@ export async function getTextGenGenerationData(finalPrompt, maxTokens, isImperso params.dynatemp_max = params.dynatemp_high; delete params.dynatemp_low; delete params.dynatemp_high; - const sequenceBreakers = (() => { - try { - return JSON.parse(params.dry_sequence_breakers); - } catch { - if (typeof params.dry_sequence_breakers === 'string') { - return params.dry_sequence_breakers.split(','); - } - return undefined; - } - })(); - params.dry_sequence_breakers = sequenceBreakers; + params.dry_sequence_breakers = params.parseSequenceBreakers(); } if (settings.type === TABBY) { @@ -1485,17 +1485,7 @@ export async function getTextGenGenerationData(finalPrompt, maxTokens, isImperso : []; const tokenBans = toIntArray(banned_tokens); logitBiasArray.push(...tokenBans.map(x => [Number(x), false])); - const sequenceBreakers = (() => { - try { - return JSON.parse(params.dry_sequence_breakers); - } catch { - if (typeof params.dry_sequence_breakers === 'string') { - return params.dry_sequence_breakers.split(','); - } - - return undefined; - } - })(); + const sequenceBreakers = params.parseSequenceBreakers(); const llamaCppParams = { 'logit_bias': logitBiasArray, // Conflicts with ooba's grammar_string