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>
This commit is contained in:
Reithan
2026-04-13 10:57:47 -07:00
committed by GitHub
parent f4f390f325
commit 1a561f3bb0
2 changed files with 2 additions and 0 deletions
+1
View File
@@ -202,6 +202,7 @@ export function getKoboldGenerationData(finalPrompt, settings, maxLength, maxCon
mirostat_eta: (kai_flags.can_use_mirostat || isHorde) ? kai_settings.mirostat_eta : undefined,
use_default_badwordsids: (kai_flags.can_use_default_badwordsids || isHorde) ? kai_settings.use_default_badwordsids : undefined,
grammar: (kai_flags.can_use_grammar || isHorde) ? substituteParams(kai_settings.grammar) : undefined,
grammar_retain_state: (kai_flags.can_use_grammar && !!isContinue) ? true : undefined,
sampler_seed: kai_settings.seed >= 0 ? kai_settings.seed : undefined,
api_server: kai_settings.api_server,
};
+1
View File
@@ -1756,6 +1756,7 @@ export function createTextGenGenerationData(settings, model, finalPrompt = null,
if (settings.type === KOBOLDCPP) {
params.grammar = settings.grammar_string || undefined;
params.grammar_retain_state = (settings.grammar_string && !!isContinue) ? true : undefined;
params.trim_stop = true;
params.dry_sequence_breakers = params.parseSequenceBreakers();
}