From 53ca8f5b3d3ce4fbc971116582e7b0f871950d05 Mon Sep 17 00:00:00 2001 From: Webifi Date: Sat, 17 Jun 2023 08:52:20 -0500 Subject: [PATCH 1/3] Fix bug with chat restore introduced in PR #184 --- src/lib/Storage.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/Storage.svelte b/src/lib/Storage.svelte index 4386a34..b7db875 100644 --- a/src/lib/Storage.svelte +++ b/src/lib/Storage.svelte @@ -351,7 +351,7 @@ } export const updateChatImages = async (chatId: number, chat: Chat) => { - const messages = getMessages(chatId) + const messages = chat.messages for (let i = 0; i < messages.length; i++) { const m = messages[i] if (m.image) m.image = await setImage(chatId, m.image) From b893255f79f2ad53dea6070494d86f10d748435a Mon Sep 17 00:00:00 2001 From: Webifi Date: Sat, 17 Jun 2023 09:10:23 -0500 Subject: [PATCH 2/3] Fix issue with summary continuation. --- src/lib/ChatRequest.svelte | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lib/ChatRequest.svelte b/src/lib/ChatRequest.svelte index 6f653cc..25069ce 100644 --- a/src/lib/ChatRequest.svelte +++ b/src/lib/ChatRequest.svelte @@ -417,9 +417,10 @@ export class ChatRequest { _this.updatingMessage = 'Summarizing...' const summarizedIds = rw.map(m => m.uuid) const summaryIds = [summaryResponse.uuid] + let loopCount = 0 while (continueCounter-- > 0) { try { - const summary = await _this.sendRequest(top.concat(rw).concat([summaryRequest]), { + const summary = await _this.sendRequest(top.concat(rw).concat([summaryRequest]).concat(loopCount > 0 ? [summaryResponse] : []), { summaryRequest: true, streaming: opts.streaming, maxTokens: maxSummaryTokens, @@ -452,6 +453,12 @@ export class ChatRequest { // Try to get more of it delete summaryResponse.finish_reason _this.updatingMessage = 'Summarizing more...' + let _recount = countPromptTokens(top.concat(rw).concat([summaryRequest]).concat([summaryResponse]), model) + while (rw.length && (_recount + maxSummaryTokens >= maxTokens)) { + rw.shift() + _recount = countPromptTokens(top.concat(rw).concat([summaryRequest]).concat([summaryResponse]), model) + } + loopCount++ continue } else { // We're done From b89ad2ef4a276fedc3d069d99627404399fc6cef Mon Sep 17 00:00:00 2001 From: Webifi Date: Sat, 17 Jun 2023 09:13:25 -0500 Subject: [PATCH 3/3] Delay message cache save to 200ms --- src/lib/Storage.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/Storage.svelte b/src/lib/Storage.svelte index b7db875..0818655 100644 --- a/src/lib/Storage.svelte +++ b/src/lib/Storage.svelte @@ -245,7 +245,7 @@ setMessagesTimer = setTimeout(() => { getChat(chatId).messages = messages saveChatStore() - }, 100) + }, 200) } else { getChat(chatId).messages = messages saveChatStore()