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() {
1256 const { chat_template, chat_template_hash } = data;1256 const { chat_template, chat_template_hash } = data;
1257 if (wantsContextSize && "default_generation_settings" in data) {1257 if (wantsContextSize && "default_generation_settings" in data) {
1258 const backend_max_context = data["default_generation_settings"]["n_ctx"];1258 const backend_max_context = data["default_generation_settings"]["n_ctx"];
1259 const old_value = max_context;
1259 if (max_context !== backend_max_context) {1260 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}`);
1265 }1266 }
1266 }1267 }
1267 console.log(`We have chat template ${chat_template.split('\n')[0]}...`);1268 console.log(`We have chat template ${chat_template.split('\n')[0]}...`);
@@ -6832,9 +6833,19 @@ export async function saveSettings(type) {
6832 });6833 });
6833}6834}
68346835
6835export function setGenerationParamsFromPreset(preset) {6836export function setGenerationParamsFromPreset(preset, keep_context_lock) {
6836 const needsUnlock = (preset.max_length ?? max_context) > MAX_CONTEXT_DEFAULT || (preset.genamt ?? amount_gen) > MAX_RESPONSE_DEFAULT;6837 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')) {
6837 $('#max_context_unlocked').prop('checked', needsUnlock).trigger('change');6839 $('#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
6839 if (preset.genamt !== undefined) {6850 if (preset.genamt !== undefined) {
6840 amount_gen = preset.genamt;6851 amount_gen = preset.genamt;