From bf4f27d0e53153bce424b6e93ed71b0d39e9788c Mon Sep 17 00:00:00 2001 From: kwaroran Date: Mon, 17 Mar 2025 14:30:29 +0900 Subject: [PATCH] Add seperate models --- src/lang/en.ts | 3 ++ src/lib/Setting/Pages/AdvancedSettings.svelte | 5 +++ src/lib/Setting/Pages/PromptSettings.svelte | 37 +++++++++++++++++++ src/ts/process/request.ts | 7 ++++ src/ts/storage/database.svelte.ts | 32 +++++++++++++++- 5 files changed, 82 insertions(+), 2 deletions(-) diff --git a/src/lang/en.ts b/src/lang/en.ts index bd0db5cb..7f45c7f5 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -1074,4 +1074,7 @@ export const languageEnglish = { loadingChatData: "Loading Chat Data", outputImageModal: "Output Image Modal", playMessageOnTranslateEnd: "Play Audio on Translate Completion", + seperateModelsForAxModels: "Seperate Models for Auxiliary Models", + axModelsDef: "Ax Models Definition", + doNotChangeSeperateModels: "Do Not Change Seperate Models", } diff --git a/src/lib/Setting/Pages/AdvancedSettings.svelte b/src/lib/Setting/Pages/AdvancedSettings.svelte index a013e8ff..0f66db49 100644 --- a/src/lib/Setting/Pages/AdvancedSettings.svelte +++ b/src/lib/Setting/Pages/AdvancedSettings.svelte @@ -211,6 +211,11 @@ +
+ + + +
{/if} {#if DBState.db?.account?.useSync}
diff --git a/src/lib/Setting/Pages/PromptSettings.svelte b/src/lib/Setting/Pages/PromptSettings.svelte index 6515987d..c0259539 100644 --- a/src/lib/Setting/Pages/PromptSettings.svelte +++ b/src/lib/Setting/Pages/PromptSettings.svelte @@ -13,6 +13,8 @@ import TextAreaInput from "src/lib/UI/GUI/TextAreaInput.svelte"; import SelectInput from "src/lib/UI/GUI/SelectInput.svelte"; import OptionInput from "src/lib/UI/GUI/OptionInput.svelte"; + import Arcodion from "src/lib/UI/Arcodion.svelte"; + import ModelList from "src/lib/UI/ModelList.svelte"; let sorted = 0 let opened = 0 @@ -164,4 +166,39 @@ {language.extractJson} {/if} + + +
+ + + +
+ + {#if DBState.db.seperateModelsForAxModels} + + + Memory + + + + + Translations + + + + + Emotion + + + + + + OtherAx + + + + + + {/if} + {/if} \ No newline at end of file diff --git a/src/ts/process/request.ts b/src/ts/process/request.ts index b4b44474..95f73380 100644 --- a/src/ts/process/request.ts +++ b/src/ts/process/request.ts @@ -486,6 +486,13 @@ export async function requestChatDataMain(arg:requestDataArgument, model:ModelMo targ.customURL = db.forceReplaceUrl } + if(db.seperateModelsForAxModels){ + if(db.seperateModels[model]){ + targ.aiModel = db.seperateModels[model] + targ.modelInfo = getModelInfo(targ.aiModel) + } + } + const format = targ.modelInfo.format targ.formated = reformater(targ.formated, targ.modelInfo) diff --git a/src/ts/storage/database.svelte.ts b/src/ts/storage/database.svelte.ts index 1f1062cf..d4d785a4 100644 --- a/src/ts/storage/database.svelte.ts +++ b/src/ts/storage/database.svelte.ts @@ -494,6 +494,7 @@ export function setDatabase(data:Database){ key: data.hypaCustomSettings?.key ?? "", model: data.hypaCustomSettings?.model ?? "", } + data.doNotChangeSeperateModels ??= false changeLanguage(data.language) setDatabaseLite(data) } @@ -930,7 +931,14 @@ export interface Database{ claudeRetrivalCaching: boolean outputImageModal: boolean playMessageOnTranslateEnd:boolean - + seperateModelsForAxModels:boolean + seperateModels:{ + memory: string + emotion: string + translate: string + otherAx: string + } + doNotChangeSeperateModels:boolean } interface SeparateParameters{ @@ -1114,6 +1122,7 @@ export interface character{ hideChatIcon?:boolean lastInteraction?:number translatorNote?:string + doNotChangeSeperateModels?:boolean } @@ -1265,6 +1274,13 @@ export interface botPreset{ reasonEffort?:number thinkingTokens?:number outputImageModal?:boolean + seperateModelsForAxModels?:boolean + seperateModels?:{ + memory: string + emotion: string + translate: string + otherAx: string + } } @@ -1581,7 +1597,9 @@ export function saveCurrentPreset(){ image: pres?.[db.botPresetsId]?.image ?? '', reasonEffort: db.reasoningEffort ?? 0, thinkingTokens: db.thinkingTokens ?? null, - outputImageModal: db.outputImageModal ?? false + outputImageModal: db.outputImageModal ?? false, + seperateModelsForAxModels: db.seperateModelsForAxModels ?? false, + seperateModels: safeStructuredClone(db.seperateModels), } db.botPresets = pres setDatabase(db) @@ -1694,6 +1712,16 @@ export function setPreset(db:Database, newPres: botPreset){ db.reasoningEffort = newPres.reasonEffort ?? 0 db.thinkingTokens = newPres.thinkingTokens ?? null db.outputImageModal = newPres.outputImageModal ?? false + if(!db.doNotChangeSeperateModels){ + db.seperateModelsForAxModels = newPres.seperateModelsForAxModels ?? false + db.seperateModels = safeStructuredClone(newPres.seperateModels) ?? { + memory: '', + emotion: '', + translate: '', + otherAx: '' + } + } + return db }