From 5aef62766e362ef897d47873d6d68d7d087526b5 Mon Sep 17 00:00:00 2001 From: kwaroran Date: Sun, 26 May 2024 12:25:15 +0900 Subject: [PATCH] refactor: Improve loadLoreBookV3Prompt activation logic and key matching --- src/ts/process/lorebook.ts | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/ts/process/lorebook.ts b/src/ts/process/lorebook.ts index ee667888..5f144d23 100644 --- a/src/ts/process/lorebook.ts +++ b/src/ts/process/lorebook.ts @@ -231,7 +231,9 @@ export async function loadLoreBookV3Prompt(){ fullWordMatching:boolean }) => { const sliced = messages.slice(messages.length - arg.searchDepth,messages.length) - let mText = sliced.join(" ") + recursiveAdditionalPrompt + let mText = sliced.map((msg) => { + return msg.data + }).join('||') if(arg.regex){ const regexString = arg.keys[0] if(!regexString.startsWith('/')){ @@ -254,16 +256,21 @@ export async function loadLoreBookV3Prompt(){ if(arg.fullWordMatching){ const splited = mText.split(' ') - return arg.keys.some((key) => { - return splited.includes(key) - }) + for(const key of arg.keys){ + if(splited.includes(key)){ + return true + } + } } else{ mText = mText.replace(/ /g,'') - return arg.keys.some((key) => { - return mText.includes(key.toLowerCase()) - }) + for(const key of arg.keys){ + if(mText.includes(key)){ + return true + } + } } + return false }