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
202 mirostat_eta: (kai_flags.can_use_mirostat || isHorde) ? kai_settings.mirostat_eta : undefined,202 mirostat_eta: (kai_flags.can_use_mirostat || isHorde) ? kai_settings.mirostat_eta : undefined,
203 use_default_badwordsids: (kai_flags.can_use_default_badwordsids || isHorde) ? kai_settings.use_default_badwordsids : undefined,203 use_default_badwordsids: (kai_flags.can_use_default_badwordsids || isHorde) ? kai_settings.use_default_badwordsids : undefined,
204 grammar: (kai_flags.can_use_grammar || isHorde) ? substituteParams(kai_settings.grammar) : undefined,204 grammar: (kai_flags.can_use_grammar || isHorde) ? substituteParams(kai_settings.grammar) : undefined,
205 grammar_retain_state: (kai_flags.can_use_grammar && !!isContinue) ? true : undefined,
205 sampler_seed: kai_settings.seed >= 0 ? kai_settings.seed : undefined,206 sampler_seed: kai_settings.seed >= 0 ? kai_settings.seed : undefined,
206 api_server: kai_settings.api_server,207 api_server: kai_settings.api_server,
207 };208 };
public/scripts/textgen-settings.js+1 -0
@@ -1756,6 +1756,7 @@ export function createTextGenGenerationData(settings, model, finalPrompt = null,
17561756
1757 if (settings.type === KOBOLDCPP) {1757 if (settings.type === KOBOLDCPP) {
1758 params.grammar = settings.grammar_string || undefined;1758 params.grammar = settings.grammar_string || undefined;
1759 params.grammar_retain_state = (settings.grammar_string && !!isContinue) ? true : undefined;
1759 params.trim_stop = true;1760 params.trim_stop = true;
1760 params.dry_sequence_breakers = params.parseSequenceBreakers();1761 params.dry_sequence_breakers = params.parseSequenceBreakers();
1761 }1762 }