From 676cc7731e72df0fd59757e24795672b0fdf9fcd Mon Sep 17 00:00:00 2001 From: Cohee <18619528+Cohee1207@users.noreply.github.com> Date: Sun, 3 Dec 2023 18:30:21 +0200 Subject: [PATCH] #1436 Add unlock to response length --- public/script.js | 7 ++++--- public/scripts/nai-settings.js | 4 ++-- public/scripts/power-user.js | 13 ++++++++++++- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/public/script.js b/public/script.js index 04a035b75..a60e56ef5 100644 --- a/public/script.js +++ b/public/script.js @@ -76,6 +76,7 @@ import { loadMovingUIState, getCustomStoppingStrings, MAX_CONTEXT_DEFAULT, + MAX_RESPONSE_DEFAULT, renderStoryString, sortEntitiesList, registerDebugFunction, @@ -5618,6 +5619,9 @@ async function saveSettings(type) { } export function setGenerationParamsFromPreset(preset) { + const needsUnlock = preset.max_length > MAX_CONTEXT_DEFAULT || preset.genamt > MAX_RESPONSE_DEFAULT; + $('#max_context_unlocked').prop('checked', needsUnlock).trigger('change'); + if (preset.genamt !== undefined) { amount_gen = preset.genamt; $('#amount_gen').val(amount_gen); @@ -5625,10 +5629,7 @@ export function setGenerationParamsFromPreset(preset) { } if (preset.max_length !== undefined) { - const needsUnlock = preset.max_length > MAX_CONTEXT_DEFAULT; - $('#max_context_unlocked').prop('checked', needsUnlock).trigger('change'); max_context = preset.max_length; - $('#max_context').val(max_context); $('#max_context_counter').val(max_context); } diff --git a/public/scripts/nai-settings.js b/public/scripts/nai-settings.js index fa21de684..9b2a7263b 100644 --- a/public/scripts/nai-settings.js +++ b/public/scripts/nai-settings.js @@ -8,7 +8,7 @@ import { substituteParams, } from '../script.js'; import { getCfgPrompt } from './cfg-scale.js'; -import { MAX_CONTEXT_DEFAULT } from './power-user.js'; +import { MAX_CONTEXT_DEFAULT, MAX_RESPONSE_DEFAULT } from './power-user.js'; import { getTextTokens, tokenizers } from './tokenizers.js'; import { getSortableDelay, @@ -106,7 +106,7 @@ export async function loadNovelSubscriptionData() { export function loadNovelPreset(preset) { if (preset.genamt === undefined) { - const needsUnlock = preset.max_context > MAX_CONTEXT_DEFAULT; + const needsUnlock = preset.max_context > MAX_CONTEXT_DEFAULT || preset.max_length > MAX_RESPONSE_DEFAULT; $('#amount_gen').val(preset.max_length).trigger('input'); $('#max_context_unlocked').prop('checked', needsUnlock).trigger('change'); $('#max_context').val(preset.max_context).trigger('input'); diff --git a/public/scripts/power-user.js b/public/scripts/power-user.js index 19fe00caa..8c9b9dbec 100644 --- a/public/scripts/power-user.js +++ b/public/scripts/power-user.js @@ -48,7 +48,9 @@ export { }; export const MAX_CONTEXT_DEFAULT = 8192; -const MAX_CONTEXT_UNLOCKED = 200 * 1000; +export const MAX_RESPONSE_DEFAULT = 2048; +const MAX_CONTEXT_UNLOCKED = 200 * 1024; +const MAX_RESPONSE_UNLOCKED = 16 * 1024; const unlockedMaxContextStep = 512; const maxContextMin = 512; const maxContextStep = 256; @@ -1552,6 +1554,15 @@ function switchMaxContextSize() { element.val(maxValue).trigger('input'); } } + + const maxAmountGen = power_user.max_context_unlocked ? MAX_RESPONSE_UNLOCKED : MAX_RESPONSE_DEFAULT; + $('#amount_gen').attr('max', maxAmountGen); + $('#amount_gen_counter').attr('max', maxAmountGen); + + if (Number($('#amount_gen').val()) >= maxAmountGen) { + $('#amount_gen').val(maxAmountGen).trigger('input'); + } + if (power_user.enableZenSliders) { $('#max_context_zenslider').remove(); CreateZenSliders($('#max_context'));