From 3c39c8fa5d3e46a30671f20c82ee861478fc5edd Mon Sep 17 00:00:00 2001 From: kwaroran Date: Thu, 7 Mar 2024 00:13:44 +0900 Subject: [PATCH] Add role CBS --- src/ts/parser.ts | 8 +++++++- src/ts/process/index.ts | 12 ++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/ts/parser.ts b/src/ts/parser.ts index 5dd86449..946abd1a 100644 --- a/src/ts/parser.ts +++ b/src/ts/parser.ts @@ -394,6 +394,7 @@ type matcherArg = { tokenizeAccurate?:boolean consistantChar?:boolean displaying?:boolean + role?:string } const matcher = (p1:string,matcherArg:matcherArg) => { if(p1.length > 100000){ @@ -635,6 +636,9 @@ const matcher = (p1:string,matcherArg:matcherArg) => { case 'axmodel':{ return db.subModel } + case 'role': { + return matcherArg.role ?? 'role' + } } const arra = p1.split("::") if(arra.length > 1){ @@ -824,7 +828,8 @@ export function risuChatParser(da:string, arg:{ var?:{[key:string]:string} tokenizeAccurate?:boolean consistantChar?:boolean - visualize?:boolean + visualize?:boolean, + role?:string } = {}):string{ const chatID = arg.chatID ?? -1 const db = arg.db ?? get(DataBase) @@ -870,6 +875,7 @@ export function risuChatParser(da:string, arg:{ var: arg.var ?? null, tokenizeAccurate: arg.tokenizeAccurate ?? false, displaying: arg.visualize ?? false, + role: arg.role } let pef = performance.now() while(pointer < da.length){ diff --git a/src/ts/process/index.ts b/src/ts/process/index.ts index f63977bd..04f12ec2 100644 --- a/src/ts/process/index.ts +++ b/src/ts/process/index.ts @@ -431,13 +431,13 @@ export async function sendChat(chatProcessIndex = -1,arg:{chatAdditonalTokens?:n let content = card.text if(card.type2 === 'globalNote'){ - content = (risuChatParser(currentChar.replaceGlobalNote?.replaceAll('{{original}}', content) || content, {chara:currentChar})) + content = (risuChatParser(currentChar.replaceGlobalNote?.replaceAll('{{original}}', content) || content, {chara: currentChar, role: card.role})) } else if(card.type2 === 'main'){ - content = (risuChatParser(content, {chara: currentChar})) + content = (risuChatParser(content, {chara: currentChar, role: card.role})) } else{ - content = risuChatParser(content, {chara: currentChar}) + content = risuChatParser(content, {chara: currentChar, role: card.role}) } const prompt:OpenAIChat ={ @@ -802,13 +802,13 @@ export async function sendChat(chatProcessIndex = -1,arg:{chatAdditonalTokens?:n let content = card.text if(card.type2 === 'globalNote'){ - content = (risuChatParser(currentChar.replaceGlobalNote?.replaceAll('{{original}}', content) || content, {chara:currentChar})) + content = (risuChatParser(currentChar.replaceGlobalNote?.replaceAll('{{original}}', content) || content, {chara:currentChar, role: card.role})) } else if(card.type2 === 'main'){ - content = (risuChatParser(content, {chara: currentChar})) + content = (risuChatParser(content, {chara: currentChar, role: card.role})) } else{ - content = risuChatParser(content, {chara: currentChar}) + content = risuChatParser(content, {chara: currentChar, role: card.role}) } const prompt:OpenAIChat ={