From 480d33a67365a8a7050894b571f495d030479f93 Mon Sep 17 00:00:00 2001 From: Kwaroran Date: Thu, 13 Mar 2025 20:21:45 +0900 Subject: [PATCH 01/14] Remove debug logging from image processing in requestGoogleCloudVertex function --- src/ts/process/request.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/ts/process/request.ts b/src/ts/process/request.ts index d2e76f71..2f857f8c 100644 --- a/src/ts/process/request.ts +++ b/src/ts/process/request.ts @@ -2162,15 +2162,10 @@ async function requestGoogleCloudVertex(arg:RequestDataArgumentExtended):Promise const imgHTML = new Image() const id = crypto.randomUUID() imgHTML.src = `data:${part.inlineData.mimeType};base64,${part.inlineData.data}` - console.log('decoding', part.inlineData.mimeType, part.inlineData.data, id) - console.log('writing') await writeInlayImage(imgHTML, { id: id }) - console.log(JSON.stringify(rDatas)) rDatas[rDatas.length-1] += (`\n{{inlayeddata::${id}}}\n`) - console.log(JSON.stringify(rDatas)) - console.log('done', id) } } } From 38472af4b8bdb62958c28865068c8801ed08b5af Mon Sep 17 00:00:00 2001 From: Kwaroran Date: Sat, 22 Mar 2025 19:09:42 +0900 Subject: [PATCH 02/14] Add await in translateLLM --- src/ts/translator/translator.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ts/translator/translator.ts b/src/ts/translator/translator.ts index 9a8ea999..bf198ece 100644 --- a/src/ts/translator/translator.ts +++ b/src/ts/translator/translator.ts @@ -266,7 +266,7 @@ export async function translateHTML(html: string, reverse:boolean, charArg:simpl if(db.translatorType === 'llm'){ const tr = db.translator || 'en' const from = db.translatorInputLanguage - const r = translateLLM(html, {to: tr, from: from, regenerate}) + const r = await translateLLM(html, {to: tr, from: from, regenerate}) if(db.playMessageOnTranslateEnd){ const audio = new Audio(sendSound); audio.play(); From 9ed6d2099438bcd9735b79fe744e420b46661338 Mon Sep 17 00:00:00 2001 From: Kwaroran Date: Sat, 22 Mar 2025 21:18:59 +0900 Subject: [PATCH 03/14] Add array fallback --- src/lang/en.ts | 6 +- src/lib/Setting/Pages/AdvancedSettings.svelte | 5 - src/lib/Setting/Pages/PromptSettings.svelte | 45 ++++- src/ts/process/index.svelte.ts | 6 + src/ts/process/models/modelString.ts | 6 +- src/ts/process/request.ts | 186 +++++++++++------- src/ts/storage/database.svelte.ts | 36 ++++ 7 files changed, 204 insertions(+), 86 deletions(-) diff --git a/src/lang/en.ts b/src/lang/en.ts index ee0e3436..d7fb1ba3 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -1077,7 +1077,7 @@ export const languageEnglish = { playMessageOnTranslateEnd: "Play Audio on Translate Completion", seperateModelsForAxModels: "Seperate Models for Auxiliary Models", axModelsDef: "Ax Models Definition", - doNotChangeSeperateModels: "Do Not Change Seperate Models", + doNotChangeSeperateModels: "Do Not Change Seperate Models on Preset Change", tools: "Tools", action: "Action", hotkey: "Hotkey", @@ -1108,4 +1108,8 @@ export const languageEnglish = { focusInput: "Focus Input", }, screenTooSmall: "Screen is too small to show the interface.", + advancedModelSettings: "Advanced Model Settings", + fallbackModel: "Fallback Model", + fallbackWhenBlankResponse: "Fallback When Blank Response", + doNotChangeFallbackModels: "Do Not Change Fallback Models on Preset Change", } diff --git a/src/lib/Setting/Pages/AdvancedSettings.svelte b/src/lib/Setting/Pages/AdvancedSettings.svelte index 50f514d9..ec9ed426 100644 --- a/src/lib/Setting/Pages/AdvancedSettings.svelte +++ b/src/lib/Setting/Pages/AdvancedSettings.svelte @@ -211,11 +211,6 @@ -
- - - -
diff --git a/src/lib/Setting/Pages/PromptSettings.svelte b/src/lib/Setting/Pages/PromptSettings.svelte index 55556aa0..5e9ec880 100644 --- a/src/lib/Setting/Pages/PromptSettings.svelte +++ b/src/lib/Setting/Pages/PromptSettings.svelte @@ -1,5 +1,5 @@ {#if disabled} @@ -35,7 +37,7 @@ {/if} {#if open} -
+
{@render children?.()}
{/if} diff --git a/src/lib/UI/ModelList.svelte b/src/lib/UI/ModelList.svelte index 620549d2..99b01c32 100644 --- a/src/lib/UI/ModelList.svelte +++ b/src/lib/UI/ModelList.svelte @@ -74,6 +74,17 @@ {/await} + {#if DBState?.db.customModels?.length > 0} + + {#each DBState.db.customModels as model} + + {/each} + + + {/if} + + + {#if blankable} {/if} diff --git a/src/ts/model/modellist.ts b/src/ts/model/modellist.ts index c75163c6..eb9e21fa 100644 --- a/src/ts/model/modellist.ts +++ b/src/ts/model/modellist.ts @@ -1450,6 +1450,24 @@ export function getModelInfo(id: string): LLMModel{ tokenizer: LLMTokenizer.Unknown } } + if(id.startsWith('xcustom:::')){ + const customModels = db?.customModels || [] + const found = customModels.find((model) => model.id === id) + if(found){ + return { + id: found.id, + name: found.name, + shortName: found.name, + fullName: found.name, + internalID: found.internalId, + provider: LLMProvider.AsIs, + format: found.format, + flags: found.flags, + parameters: ['temperature', 'top_p', 'frequency_penalty', 'presence_penalty', 'repetition_penalty', 'min_p', 'top_a', 'top_k', 'thinking_tokens'], + tokenizer: found.tokenizer + } + } + } return { id, diff --git a/src/ts/process/request.ts b/src/ts/process/request.ts index 1ca1eaec..8502f2d9 100644 --- a/src/ts/process/request.ts +++ b/src/ts/process/request.ts @@ -55,6 +55,7 @@ interface RequestDataArgumentExtended extends requestDataArgument{ modelInfo?:LLMModel customURL?:string mode?:ModelModeExtended + key?:string } type requestDataResponse = { @@ -515,6 +516,11 @@ export async function requestChatDataMain(arg:requestDataArgument, model:ModelMo targ.modelInfo.format = db.customAPIFormat targ.customURL = db.forceReplaceUrl } + if(targ.aiModel.startsWith('xcustom:::')){ + const found = db.customModels.find(m => m.id === targ.aiModel) + targ.customURL = found?.url + targ.key = found?.key + } if(db.seperateModelsForAxModels && !arg.staticModel){ if(db.seperateModels[model]){ @@ -775,7 +781,7 @@ async function requestOpenAI(arg:RequestDataArgumentExtended):Promise v !== ''), otherAx: data.fallbackModels.otherAx.filter((v) => v !== '') } + data.customModels ??= [] changeLanguage(data.language) setDatabaseLite(data) } @@ -968,6 +969,17 @@ export interface Database{ } doNotChangeFallbackModels: boolean fallbackWhenBlankResponse: boolean + customModels: { + id: string + internalId: string + url: string + format: LLMFormat + tokenizer: LLMTokenizer + key: string + name: string + params: string + flags: LLMFlags[] + }[] } interface SeparateParameters{ @@ -1784,7 +1796,7 @@ import type { RisuModule } from '../process/modules'; import type { SerializableHypaV2Data } from '../process/memory/hypav2'; import { decodeRPack, encodeRPack } from '../rpack/rpack_bg'; import { DBState, selectedCharID } from '../stores.svelte'; -import { LLMFlags, LLMFormat } from '../model/modellist'; +import { LLMFlags, LLMFormat, LLMTokenizer } from '../model/modellist'; import type { Parameter } from '../process/request'; import type { HypaModel } from '../process/memory/hypamemory'; import type { SerializableHypaV3Data } from '../process/memory/hypav3'; From 30936c76e3d12803215948238fac940206b2c1a0 Mon Sep 17 00:00:00 2001 From: Kwaroran Date: Sun, 23 Mar 2025 16:21:24 +0900 Subject: [PATCH 08/14] Add sneaky --- src/App.svelte | 58 +++++++++++++++++++++++++++++++++++++++-- src/lib/UI/Title.svelte | 1 + 2 files changed, 57 insertions(+), 2 deletions(-) diff --git a/src/App.svelte b/src/App.svelte index 68a3873b..1060ba13 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -22,7 +22,8 @@ let didFirstSetup: boolean = $derived(DBState.db?.didFirstSetup) let gridOpen = $state(false) - + let aprilFools = new Date().getMonth() === 3 && new Date().getDate() === 1 + let aprilFoolsPage = $state(0)
{ @@ -39,7 +40,60 @@ checkCharOrder() } }}> - {#if !$loadedStore} + {#if aprilFools} + +
+
+ +
+ {#if aprilFoolsPage === 0} +

What can I help you?

+ + +
{ + aprilFoolsPage = 1 + }}> + + + + +
+ {:else} +

+ Happy April Fools! +

+

+ + + Go { + aprilFoolsPage = 0 + aprilFools = false + }}> + Back to normal + +

+ + {/if} +
+
+ RisyGTP-9 +
+ {:else if !$loadedStore}
diff --git a/src/lib/UI/Title.svelte b/src/lib/UI/Title.svelte index faabb5b1..8654c534 100644 --- a/src/lib/UI/Title.svelte +++ b/src/lib/UI/Title.svelte @@ -44,6 +44,7 @@ +

From e22f8b140d4fbc153a7bbdd82b83f53c0385a4bd Mon Sep 17 00:00:00 2001 From: Kwaroran Date: Sun, 23 Mar 2025 16:21:36 +0900 Subject: [PATCH 09/14] Add state --- src/App.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/App.svelte b/src/App.svelte index 1060ba13..42cd7634 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -22,7 +22,7 @@ let didFirstSetup: boolean = $derived(DBState.db?.didFirstSetup) let gridOpen = $state(false) - let aprilFools = new Date().getMonth() === 3 && new Date().getDate() === 1 + let aprilFools = $state(new Date().getMonth() === 3 && new Date().getDate() === 1) let aprilFoolsPage = $state(0) From 66813cc63c52742ceecc215147fe0e1bc8cd18a5 Mon Sep 17 00:00:00 2001 From: Kwaroran Date: Sun, 23 Mar 2025 16:23:39 +0900 Subject: [PATCH 10/14] Bump application version to 158.0.0 --- src-tauri/tauri.conf.json | 2 +- src/ts/storage/database.svelte.ts | 2 +- version.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 5c572e33..acc6a4e2 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -29,7 +29,7 @@ }, "productName": "RisuAI", "mainBinaryName": "RisuAI", - "version": "157.0.1", + "version": "158.0.0", "identifier": "co.aiclient.risu", "plugins": { "updater": { diff --git a/src/ts/storage/database.svelte.ts b/src/ts/storage/database.svelte.ts index 47c22f99..9f6b56b8 100644 --- a/src/ts/storage/database.svelte.ts +++ b/src/ts/storage/database.svelte.ts @@ -12,7 +12,7 @@ import { defaultColorScheme, type ColorScheme } from '../gui/colorscheme'; import type { PromptItem, PromptSettings } from '../process/prompt'; import type { OobaChatCompletionRequestParams } from '../model/ooba'; -export let appVer = "157.0.1" +export let appVer = "158.0.0" export let webAppSubVer = '' diff --git a/version.json b/version.json index d8587010..906e1d23 100644 --- a/version.json +++ b/version.json @@ -1 +1 @@ -{"version":"157.0.1"} \ No newline at end of file +{"version":"158.0.0"} \ No newline at end of file From 1d40c9aeacbb60d4a67e4ac091113af52e917481 Mon Sep 17 00:00:00 2001 From: Kwaroran Date: Sun, 23 Mar 2025 16:36:46 +0900 Subject: [PATCH 11/14] Enhance reverse_proxy handling to support custom model parameters --- src/ts/process/request.ts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/ts/process/request.ts b/src/ts/process/request.ts index 8502f2d9..7b3c61da 100644 --- a/src/ts/process/request.ts +++ b/src/ts/process/request.ts @@ -1170,8 +1170,23 @@ async function requestOpenAI(arg:RequestDataArgumentExtended):Promise m.id === aiModel) + const params = found?.params + if(params){ + const lines = params.split('\n') + for(const line of lines){ + const split = line.split('=') + if(split.length >= 2){ + additionalParams.push([split[0], split.slice(1).join('=')]) + } + } + } + } + for(let i=0;i Date: Sun, 23 Mar 2025 16:42:41 +0900 Subject: [PATCH 12/14] Fix customurl --- src/ts/process/request.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ts/process/request.ts b/src/ts/process/request.ts index 7b3c61da..96b33a37 100644 --- a/src/ts/process/request.ts +++ b/src/ts/process/request.ts @@ -954,7 +954,7 @@ async function requestOpenAI(arg:RequestDataArgumentExtended):Promise Date: Sun, 23 Mar 2025 16:47:52 +0900 Subject: [PATCH 13/14] Add new vertex providers --- src/ts/model/modellist.ts | 41 +++++++++++---------------------------- src/ts/process/request.ts | 1 + 2 files changed, 12 insertions(+), 30 deletions(-) diff --git a/src/ts/model/modellist.ts b/src/ts/model/modellist.ts index eb9e21fa..70f003a0 100644 --- a/src/ts/model/modellist.ts +++ b/src/ts/model/modellist.ts @@ -1050,36 +1050,6 @@ export const LLMModels: LLMModel[] = [ parameters: ['temperature', 'top_k', 'top_p'], tokenizer: LLMTokenizer.GoogleCloud }, - { - name: "Gemini Exp 1121", - id: 'gemini-exp-1121-vertex', - internalID: 'gemini-exp-1121', - provider: LLMProvider.VertexAI, - format: LLMFormat.VertexAIGemini, - flags: [LLMFlags.hasImageInput, LLMFlags.hasFirstSystemPrompt, LLMFlags.requiresAlternateRole], - parameters: ['temperature', 'top_k', 'top_p'], - tokenizer: LLMTokenizer.Gemma - }, - { - name: "Gemini Pro 1.5", - id: 'gemini-1.5-pro-latest-vertex', - internalID: 'gemini-1.5-pro-latest', - provider: LLMProvider.VertexAI, - format: LLMFormat.VertexAIGemini, - flags: [LLMFlags.hasImageInput, LLMFlags.hasFirstSystemPrompt, LLMFlags.requiresAlternateRole], - parameters: ['temperature', 'top_k', 'top_p'], - tokenizer: LLMTokenizer.Gemma - }, - { - name: "Gemini Flash 1.5", - id: 'gemini-1.5-flash-vertex', - internalID: 'gemini-1.5-flash', - provider: LLMProvider.VertexAI, - format: LLMFormat.VertexAIGemini, - flags: [LLMFlags.hasImageInput, LLMFlags.hasFirstSystemPrompt, LLMFlags.requiresAlternateRole], - parameters: ['temperature', 'top_k', 'top_p'], - tokenizer: LLMTokenizer.Gemma - }, { name: "Gemini Exp 1114", id: 'gemini-exp-1114', @@ -1405,6 +1375,17 @@ for(let i=0; i Date: Sun, 23 Mar 2025 16:48:16 +0900 Subject: [PATCH 14/14] Bump application version to 158.1.0 --- src-tauri/tauri.conf.json | 2 +- src/ts/storage/database.svelte.ts | 2 +- version.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index acc6a4e2..ac2177eb 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -29,7 +29,7 @@ }, "productName": "RisuAI", "mainBinaryName": "RisuAI", - "version": "158.0.0", + "version": "158.1.0", "identifier": "co.aiclient.risu", "plugins": { "updater": { diff --git a/src/ts/storage/database.svelte.ts b/src/ts/storage/database.svelte.ts index 9f6b56b8..6dac1dc4 100644 --- a/src/ts/storage/database.svelte.ts +++ b/src/ts/storage/database.svelte.ts @@ -12,7 +12,7 @@ import { defaultColorScheme, type ColorScheme } from '../gui/colorscheme'; import type { PromptItem, PromptSettings } from '../process/prompt'; import type { OobaChatCompletionRequestParams } from '../model/ooba'; -export let appVer = "158.0.0" +export let appVer = "158.1.0" export let webAppSubVer = '' diff --git a/version.json b/version.json index 906e1d23..9f87f6de 100644 --- a/version.json +++ b/version.json @@ -1 +1 @@ -{"version":"158.0.0"} \ No newline at end of file +{"version":"158.1.0"} \ No newline at end of file