Refactor sequence breaker parsing in getTextGenGenerationData function
| @@ -1338,6 +1338,16 @@ export async function getTextGenGenerationData(finalPrompt, maxTokens, isImperso | ||
| 1338 | 1338 | 'nsigma': settings.nsigma, |
| 1339 | 1339 | 'top_n_sigma': settings.nsigma, |
| 1340 | 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 | 1352 | const nonAphroditeParams = { |
| 1343 | 1353 | 'rep_pen': settings.rep_pen, |
| @@ -1439,17 +1449,7 @@ export async function getTextGenGenerationData(finalPrompt, maxTokens, isImperso | ||
| 1439 | 1449 | params.dynatemp_max = params.dynatemp_high; |
| 1440 | 1450 | delete params.dynatemp_low; |
| 1441 | 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 | } |
| 1454 | 1454 | |
| 1455 | 1455 | if (settings.type === TABBY) { |
| @@ -1485,17 +1485,7 @@ export async function getTextGenGenerationData(finalPrompt, maxTokens, isImperso | ||
| 1485 | 1485 | : []; |
| 1486 | 1486 | const tokenBans = toIntArray(banned_tokens); |
| 1487 | 1487 | logitBiasArray.push(...tokenBans.map(x => [Number(x), false])); |
| 1488 | 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 | 1489 | const llamaCppParams = { |
| 1500 | 1490 | 'logit_bias': logitBiasArray, |
| 1501 | 1491 | // Conflicts with ooba's grammar_string |