From 9d512e09bc6c57a0da8f3f262b8efdcf1944f39f Mon Sep 17 00:00:00 2001 From: SillyLossy Date: Tue, 28 Mar 2023 21:51:37 +0300 Subject: [PATCH] Smarter zero depth note --- public/script.js | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/public/script.js b/public/script.js index 038597788..c05be1673 100644 --- a/public/script.js +++ b/public/script.js @@ -994,18 +994,18 @@ function cleanGroupMessage(getMessage) { return getMessage; } -function getExtensionPrompt(position = 0, depth) { +function getExtensionPrompt(position = 0, depth = undefined, separator = "\n") { let extension_prompt = Object.keys(extension_prompts) .sort() .map((x) => extension_prompts[x]) .filter(x => x.position == position && x.value && (depth === undefined || x.depth == depth)) - .map(x => x.value) - .join("\n"); - if (extension_prompt.length && !extension_prompt.startsWith("\n")) { - extension_prompt = "\n" + extension_prompt; + .map(x => x.value.trim()) + .join(separator); + if (extension_prompt.length && !extension_prompt.startsWith(separator)) { + extension_prompt = separator + extension_prompt; } - if (extension_prompt.length && !extension_prompt.endsWith("\n")) { - extension_prompt += "\n"; + if (extension_prompt.length && !extension_prompt.endsWith(separator)) { + extension_prompt = extension_prompt + separator; } return extension_prompt; } @@ -1398,12 +1398,11 @@ async function Generate(type, automatic_trigger, force_name2) {//encode("dsfs"). const anchorDepth = Math.abs(i - arrMes.length + 1); const extensionAnchor = getExtensionPrompt(extension_prompt_types.IN_CHAT, anchorDepth); - if (extensionAnchor && extensionAnchor.length) { + if (anchorDepth > 0 && extensionAnchor && extensionAnchor.length) { item += extensionAnchor; } mesSend[mesSend.length] = item; - }); } @@ -1471,6 +1470,15 @@ async function Generate(type, automatic_trigger, force_name2) {//encode("dsfs"). //mesSendString = mesSendString; //This edit simply removes the first "" that is prepended to all context prompts } finalPromt = worldInfoBefore + storyString + worldInfoAfter + extension_prompt + mesExmString + mesSendString + generatedPromtCache + promptBias; + + const zeroDepthAnchor = getExtensionPrompt(extension_prompt_types.IN_CHAT, 0, ' '); + if (zeroDepthAnchor && zeroDepthAnchor.length) { + if (!is_pygmalion || tokens_already_generated == 0) { + const trimBothEnds = !force_name2 && !is_pygmalion; + finalPromt += (trimBothEnds ? zeroDepthAnchor.trim() : zeroDepthAnchor.trimEnd()); + } + } + finalPromt = finalPromt.replace(/\r/gm, ''); if (collapse_newlines) {