diff --git a/public/script.js b/public/script.js index 7611c4340..4d3229c93 100644 --- a/public/script.js +++ b/public/script.js @@ -1800,6 +1800,8 @@ async function Generate(type, { automatic_trigger, force_name2, resolve, reject, this_max_context = Number(max_context); } + + // Adjust token limit for Horde let adjustedParams; if (main_api == 'kobold' && horde_settings.use_horde && (horde_settings.auto_adjust_context_length || horde_settings.auto_adjust_response_length)) { @@ -1815,11 +1817,12 @@ async function Generate(type, { automatic_trigger, force_name2, resolve, reject, } } + console.log(); + // Extension added strings const allAnchors = getAllExtensionPrompts(); const afterScenarioAnchor = getExtensionPrompt(extension_prompt_types.AFTER_SCENARIO); let zeroDepthAnchor = getExtensionPrompt(extension_prompt_types.IN_CHAT, 0, ' '); - let { worldInfoString, worldInfoBefore, worldInfoAfter } = getWorldInfoPrompt(chat2); // hack for regeneration of the first message @@ -2074,6 +2077,56 @@ async function Generate(type, { automatic_trigger, force_name2, resolve, reject, generatedPromtCache + promptBias; + /* let finalPromptTokens = getTokenCount(finalPromt); + let allAnchorsTokens = getTokenCount(allAnchors); + let afterScenarioAnchorTokens = getTokenCount(afterScenarioAnchor); + let zeroDepthAnchorTokens = getTokenCount(afterScenarioAnchor); + let worldInfoStringTokens = getTokenCount(worldInfoString); + let storyStringTokens = getTokenCount(storyString); + let examplesStringTokens = getTokenCount(examplesString); + let charPersonalityTokens = getTokenCount(charPersonality); + let charDescriptionTokens = getTokenCount(charDescription); + let scenarioTextTokens = getTokenCount(scenarioText); + let promptBiasTokens = getTokenCount(promptBias); + let mesSendStringTokens = getTokenCount(mesSendString) + let ActualChatHistoryTokens = mesSendStringTokens - allAnchorsTokens + power_user.token_padding; + + let totalTokensInPrompt = + allAnchorsTokens + // AN and/or legacy anchors + //afterScenarioAnchorTokens + //only counts if AN is set to 'after scenario' + //zeroDepthAnchorTokens + //same as above, even if AN not on 0 depth + worldInfoStringTokens + + storyStringTokens + //chardefs total + promptBiasTokens + //{{}} + ActualChatHistoryTokens + //chat history + power_user.token_padding; + + console.log( + ` + Prompt Itemization + ------------------- + Extension Add-ins AN: ${allAnchorsTokens} + + World Info: ${worldInfoStringTokens} + + Character Definitions: ${storyStringTokens} + -- Description: ${charDescriptionTokens} + -- Example Messages: ${examplesStringTokens} + -- Character Personality: ${charPersonalityTokens} + -- Character Scenario: ${scenarioTextTokens} + + Chat History: ${ActualChatHistoryTokens} + {{}} Bias: ${promptBiasTokens} + Padding: ${power_user.token_padding} + ------------------- + Total Tokens in Prompt: ${totalTokensInPrompt} + vs + finalPrompt: ${finalPromptTokens} + Max Context: ${this_max_context} + + ` + ); */ + if (zeroDepthAnchor && zeroDepthAnchor.length) { if (!isMultigenEnabled() || tokens_already_generated == 0) { const trimBothEnds = !force_name2 && !is_pygmalion;