From 3726c96a29781353298ebffd6dd075bce54ab1c1 Mon Sep 17 00:00:00 2001 From: kwaroran Date: Thu, 11 Apr 2024 05:18:47 +0900 Subject: [PATCH] Add metadata viewer --- src/lang/en.ts | 1 + src/lib/ChatScreens/Chat.svelte | 5 +++- src/lib/Others/AlertComp.svelte | 43 +++++++++++++++++++++++++++------ src/ts/alert.ts | 10 +++++--- src/ts/process/index.ts | 8 +++++- 5 files changed, 55 insertions(+), 12 deletions(-) diff --git a/src/lang/en.ts b/src/lang/en.ts index ac97df9c..21a723ae 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -571,4 +571,5 @@ export const languageEnglish = { importFromRealm: "Choose from RisuRealm", importFromRealmDesc: "Choose over 1000 characters in RisuRealm", random: "Random", + metaData: "Meta Data", } \ No newline at end of file diff --git a/src/lib/ChatScreens/Chat.svelte b/src/lib/ChatScreens/Chat.svelte index 538ab204..eab7b1f6 100644 --- a/src/lib/ChatScreens/Chat.svelte +++ b/src/lib/ChatScreens/Chat.svelte @@ -206,7 +206,10 @@ + @@ -191,10 +196,10 @@
@@ -202,14 +207,38 @@
{language.inputTokens} - {$alertGenerationInfoStore.inputTokens ?? '?'} {language.tokens} + {$alertGenerationInfoStore.genInfo.inputTokens ?? '?'} {language.tokens} {language.outputTokens} - {$alertGenerationInfoStore.outputTokens ?? '?'} {language.tokens} + {$alertGenerationInfoStore.genInfo.outputTokens ?? '?'} {language.tokens} {language.maxContextSize} - {$alertGenerationInfoStore.maxContext ?? '?'} {language.tokens} + {$alertGenerationInfoStore.genInfo.maxContext ?? '?'} {language.tokens}
{language.tokenWarning} {/if} + {#if generationInfoMenuIndex === 1} +
+ Index + {$alertGenerationInfoStore.idx} + Model + {$alertGenerationInfoStore.genInfo.model} + ID + {$CurrentChat.message[$alertGenerationInfoStore.idx].chatId ?? "None"} + GenID + {$alertGenerationInfoStore.genInfo.generationId} + Saying + {$CurrentChat.message[$alertGenerationInfoStore.idx].saying} + Size + {JSON.stringify($CurrentChat.message[$alertGenerationInfoStore.idx]).length} Bytes + Time + {(new Date($CurrentChat.message[$alertGenerationInfoStore.idx].time ?? 0)).toLocaleString()} + Tokens + {#await tokenize($CurrentChat.message[$alertGenerationInfoStore.idx].data)} + Loading + {:then tokens} + {tokens} + {/await} +
+ {/if} {#if generationInfoMenuIndex === 2} {#await getFetchData($alertStore.msg) then data} {#if !data} diff --git a/src/ts/alert.ts b/src/ts/alert.ts index 36d5e6d8..123e60e6 100644 --- a/src/ts/alert.ts +++ b/src/ts/alert.ts @@ -16,7 +16,11 @@ export const alertStore = writable({ type: 'none', msg: 'n', } as alertData) -export const alertGenerationInfoStore = writable(null) +type AlertGenerationInfoStoreData = { + genInfo: MessageGenerationInfo, + idx: number +} +export const alertGenerationInfoStore = writable(null) export function alertError(msg:string){ console.error(msg) @@ -247,10 +251,10 @@ export async function alertInput(msg:string){ return get(alertStore).msg } -export function alertRequestData(info:MessageGenerationInfo){ +export function alertRequestData(info:AlertGenerationInfoStoreData){ alertGenerationInfoStore.set(info) alertStore.set({ 'type': 'requestdata', - 'msg': info.generationId ?? 'none' + 'msg': info.genInfo.generationId ?? 'none' }) } \ No newline at end of file diff --git a/src/ts/process/index.ts b/src/ts/process/index.ts index 71697c08..891e2c56 100644 --- a/src/ts/process/index.ts +++ b/src/ts/process/index.ts @@ -102,6 +102,13 @@ export async function sendChat(chatProcessIndex = -1,arg:{chatAdditonalTokens?:n let db = get(DataBase) let selectedChar = get(selectedCharID) const nowChatroom = db.characters[selectedChar] + let selectedChat = nowChatroom.chatPage + nowChatroom.chats[nowChatroom.chatPage].message = nowChatroom.chats[nowChatroom.chatPage].message.map((v) => { + v.chatId = v.chatId ?? v4() + return v + }) + + let currentChar:character let caculatedChatTokens = 0 if(db.aiModel.startsWith('gpt')){ @@ -159,7 +166,6 @@ export async function sendChat(chatProcessIndex = -1,arg:{chatAdditonalTokens?:n let chatAdditonalTokens = arg.chatAdditonalTokens ?? caculatedChatTokens const tokenizer = new ChatTokenizer(chatAdditonalTokens, db.aiModel.startsWith('gpt') ? 'noName' : 'name') - let selectedChat = nowChatroom.chatPage let currentChat = runCurrentChatFunction(nowChatroom.chats[selectedChat]) nowChatroom.chats[selectedChat] = currentChat let maxContextTokens = db.maxContext