Refactor sequence breaker parsing in getTextGenGenerationData function

This commit is contained in:
Cohee
2025-05-11 11:07:13 +03:00
parent 9305c29780
commit fc1020a8e4

View File

@@ -1338,6 +1338,16 @@ export async function getTextGenGenerationData(finalPrompt, maxTokens, isImperso
'nsigma': settings.nsigma, 'nsigma': settings.nsigma,
'top_n_sigma': settings.nsigma, 'top_n_sigma': settings.nsigma,
'min_keep': settings.min_keep, '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 = { const nonAphroditeParams = {
'rep_pen': settings.rep_pen, 'rep_pen': settings.rep_pen,
@@ -1439,17 +1449,7 @@ export async function getTextGenGenerationData(finalPrompt, maxTokens, isImperso
params.dynatemp_max = params.dynatemp_high; params.dynatemp_max = params.dynatemp_high;
delete params.dynatemp_low; delete params.dynatemp_low;
delete params.dynatemp_high; delete params.dynatemp_high;
const sequenceBreakers = (() => { params.dry_sequence_breakers = params.parseSequenceBreakers();
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;
} }
if (settings.type === TABBY) { if (settings.type === TABBY) {
@@ -1485,17 +1485,7 @@ export async function getTextGenGenerationData(finalPrompt, maxTokens, isImperso
: []; : [];
const tokenBans = toIntArray(banned_tokens); const tokenBans = toIntArray(banned_tokens);
logitBiasArray.push(...tokenBans.map(x => [Number(x), false])); logitBiasArray.push(...tokenBans.map(x => [Number(x), false]));
const sequenceBreakers = (() => { const sequenceBreakers = params.parseSequenceBreakers();
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 llamaCppParams = { const llamaCppParams = {
'logit_bias': logitBiasArray, 'logit_bias': logitBiasArray,
// Conflicts with ooba's grammar_string // Conflicts with ooba's grammar_string