respect context unlocked flag when auto-setting context size

e02f57b7b0d17e0a39ce4bc1c79d4aa6e2370d48

Karl-Johan Alm <karljohan-alm@garage.co.jp>

Signed
1 files changed, +17 -6Showing whitespace changes
public/script.js+17 -6
@@ -1256,12 +1256,13 @@ async function getStatusTextgen() {
12561256 const { chat_template, chat_template_hash } = data;
12571257 if (wantsContextSize && "default_generation_settings" in data) {
12581258 const backend_max_context = data["default_generation_settings"]["n_ctx"];
1259+ const old_value = max_context;
12591260 if (max_context !== backend_max_context) {
1260- console.log(`Auto-switching max context from ${max_context} to ${backend_max_context}`);
1261+ setGenerationParamsFromPreset({ max_length: backend_max_context }, true);
1261- toastr.info(`Context Size Changed: ${max_context} ⇒ ${backend_max_context}`);
1262+ }
1262- max_context = backend_max_context;
1263+ if (old_value !== max_context) {
1263- $('#max_context').val(max_context);
1264+ console.log(`Auto-switched max context from ${old_value} to ${max_context}`);
1264- $('#max_context_counter').val(max_context);
1265+ toastr.info(`Context Size Changed: ${old_value} ⇒ ${max_context}`);
12651266 }
12661267 }
12671268 console.log(`We have chat template ${chat_template.split('\n')[0]}...`);
@@ -6832,9 +6833,19 @@ export async function saveSettings(type) {
68326833 });
68336834}
68346835
68356836export function setGenerationParamsFromPreset(preset, keep_context_lock) {
68366837 const needsUnlock = (preset.max_length ?? max_context) > MAX_CONTEXT_DEFAULT || (preset.genamt ?? amount_gen) > MAX_RESPONSE_DEFAULT;
6838+ if (!keep_context_lock || $('#max_context_unlocked').prop('checked')) {
68376839 $('#max_context_unlocked').prop('checked', needsUnlock).trigger('change');
6840+ } else if (needsUnlock) {
6841+ // cap values
6842+ if ((preset.max_length ?? max_context) > MAX_CONTEXT_DEFAULT) {
6843+ preset.max_length = MAX_CONTEXT_DEFAULT;
6844+ }
6845+ if ((preset.genamt ?? amount_gen) > MAX_RESPONSE_DEFAULT) {
6846+ preset.genamt = MAX_RESPONSE_DEFAULT;
6847+ }
6848+ }
68386849
68396850 if (preset.genamt !== undefined) {
68406851 amount_gen = preset.genamt;