mirror of
				https://github.com/SillyTavern/SillyTavern.git
				synced 2025-06-05 21:59:27 +02:00 
			
		
		
		
	Smarter zero depth note
This commit is contained in:
		@@ -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 "<START>" 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) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user