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
}