KoboldCpp: Allow grammar to keep place during continue (#5444) * allow grammar to keep place during continue * lint * fix: require kai flag for grammar to be set * fix: don't retain if grammar is empty * fix: default to undefined if not retain --------- Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>

1a561f3bb065aa0360eb8729a6fc370892bcb93a

Reithan <bo122081@hotmail.com>

Signed
2 files changed, +2 -0Ignore whitespace
public/scripts/kai-settings.js+1 -0
@@ -202,6 +202,7 @@ export function getKoboldGenerationData(finalPrompt, settings, maxLength, maxCon
202202 mirostat_eta: (kai_flags.can_use_mirostat || isHorde) ? kai_settings.mirostat_eta : undefined,
203203 use_default_badwordsids: (kai_flags.can_use_default_badwordsids || isHorde) ? kai_settings.use_default_badwordsids : undefined,
204204 grammar: (kai_flags.can_use_grammar || isHorde) ? substituteParams(kai_settings.grammar) : undefined,
205+ grammar_retain_state: (kai_flags.can_use_grammar && !!isContinue) ? true : undefined,
205206 sampler_seed: kai_settings.seed >= 0 ? kai_settings.seed : undefined,
206207 api_server: kai_settings.api_server,
207208 };
public/scripts/textgen-settings.js+1 -0
@@ -1756,6 +1756,7 @@ export function createTextGenGenerationData(settings, model, finalPrompt = null,
17561756
17571757 if (settings.type === KOBOLDCPP) {
17581758 params.grammar = settings.grammar_string || undefined;
1759+ params.grammar_retain_state = (settings.grammar_string && !!isContinue) ? true : undefined;
17591760 params.trim_stop = true;
17601761 params.dry_sequence_breakers = params.parseSequenceBreakers();
17611762 }