Refactor sequence breaker parsing in getTextGenGenerationData function

fc1020a8e4d640823a460ff1d9403e0f54fe7494

Cohee <18619528+Cohee1207@users.noreply.github.com>

1 files changed, +12 -22Ignore whitespace
public/scripts/textgen-settings.js+12 -22
@@ -1338,6 +1338,16 @@ export async function getTextGenGenerationData(finalPrompt, maxTokens, isImperso
1338 'nsigma': settings.nsigma,1338 'nsigma': settings.nsigma,
1339 'top_n_sigma': settings.nsigma,1339 'top_n_sigma': settings.nsigma,
1340 'min_keep': settings.min_keep,1340 'min_keep': settings.min_keep,
1341 parseSequenceBreakers: function () {
1342 try {
1343 return JSON.parse(this.dry_sequence_breakers);
1344 } catch {
1345 if (typeof this.dry_sequence_breakers === 'string') {
1346 return this.dry_sequence_breakers.split(',');
1347 }
1348 return undefined;
1349 }
1350 },
1341 };1351 };
1342 const nonAphroditeParams = {1352 const nonAphroditeParams = {
1343 'rep_pen': settings.rep_pen,1353 'rep_pen': settings.rep_pen,
@@ -1439,17 +1449,7 @@ export async function getTextGenGenerationData(finalPrompt, maxTokens, isImperso
1439 params.dynatemp_max = params.dynatemp_high;1449 params.dynatemp_max = params.dynatemp_high;
1440 delete params.dynatemp_low;1450 delete params.dynatemp_low;
1441 delete params.dynatemp_high;1451 delete params.dynatemp_high;
1442 const sequenceBreakers = (() => {1452 params.dry_sequence_breakers = params.parseSequenceBreakers();
1443 try {
1444 return JSON.parse(params.dry_sequence_breakers);
1445 } catch {
1446 if (typeof params.dry_sequence_breakers === 'string') {
1447 return params.dry_sequence_breakers.split(',');
1448 }
1449 return undefined;
1450 }
1451 })();
1452 params.dry_sequence_breakers = sequenceBreakers;
1453 }1453 }
14541454
1455 if (settings.type === TABBY) {1455 if (settings.type === TABBY) {
@@ -1485,17 +1485,7 @@ export async function getTextGenGenerationData(finalPrompt, maxTokens, isImperso
1485 : [];1485 : [];
1486 const tokenBans = toIntArray(banned_tokens);1486 const tokenBans = toIntArray(banned_tokens);
1487 logitBiasArray.push(...tokenBans.map(x => [Number(x), false]));1487 logitBiasArray.push(...tokenBans.map(x => [Number(x), false]));
1488 const sequenceBreakers = (() => {1488 const sequenceBreakers = params.parseSequenceBreakers();
1489 try {
1490 return JSON.parse(params.dry_sequence_breakers);
1491 } catch {
1492 if (typeof params.dry_sequence_breakers === 'string') {
1493 return params.dry_sequence_breakers.split(',');
1494 }
1495
1496 return undefined;
1497 }
1498 })();
1499 const llamaCppParams = {1489 const llamaCppParams = {
1500 'logit_bias': logitBiasArray,1490 'logit_bias': logitBiasArray,
1501 // Conflicts with ooba's grammar_string1491 // Conflicts with ooba's grammar_string