From 0260c714d91954423a9b9cda760a211249642400 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Sun, 19 May 2024 13:11:56 -0700 Subject: [PATCH] refac --- .../chat/Messages/CompareMessages.svelte | 76 ++++++++++--------- src/routes/(app)/+page.svelte | 48 +++++++----- src/routes/(app)/c/[id]/+page.svelte | 48 +++++++----- 3 files changed, 96 insertions(+), 76 deletions(-) diff --git a/src/lib/components/chat/Messages/CompareMessages.svelte b/src/lib/components/chat/Messages/CompareMessages.svelte index 87c3c88d9..60efdb2ab 100644 --- a/src/lib/components/chat/Messages/CompareMessages.svelte +++ b/src/lib/components/chat/Messages/CompareMessages.svelte @@ -41,6 +41,44 @@ }; }, {}); + const showPreviousMessage = (model) => { + groupedMessagesIdx[model] = Math.max(0, groupedMessagesIdx[model] - 1); + let messageId = groupedMessages[model].messages[groupedMessagesIdx[model]].id; + + console.log(messageId); + let messageChildrenIds = history.messages[messageId].childrenIds; + + while (messageChildrenIds.length !== 0) { + messageId = messageChildrenIds.at(-1); + messageChildrenIds = history.messages[messageId].childrenIds; + } + + history.currentId = messageId; + + dispatch('change'); + }; + + const showNextMessage = (model) => { + groupedMessagesIdx[model] = Math.min( + groupedMessages[model].messages.length - 1, + groupedMessagesIdx[model] + 1 + ); + + let messageId = groupedMessages[model].messages[groupedMessagesIdx[model]].id; + console.log(messageId); + + let messageChildrenIds = history.messages[messageId].childrenIds; + + while (messageChildrenIds.length !== 0) { + messageId = messageChildrenIds.at(-1); + messageChildrenIds = history.messages[messageId].childrenIds; + } + + history.currentId = messageId; + + dispatch('change'); + }; + onMount(async () => { await tick(); currentMessageId = messages[messageIdx].id; @@ -97,42 +135,8 @@ isLastMessage={true} {updateChatMessages} {confirmEditResponseMessage} - showPreviousMessage={() => { - groupedMessagesIdx[model] = Math.max(0, groupedMessagesIdx[model] - 1); - let messageId = groupedMessages[model].messages[groupedMessagesIdx[model]].id; - - console.log(messageId); - let messageChildrenIds = history.messages[messageId].childrenIds; - - while (messageChildrenIds.length !== 0) { - messageId = messageChildrenIds.at(-1); - messageChildrenIds = history.messages[messageId].childrenIds; - } - - history.currentId = messageId; - - dispatch('change'); - }} - showNextMessage={() => { - groupedMessagesIdx[model] = Math.min( - groupedMessages[model].messages.length - 1, - groupedMessagesIdx[model] + 1 - ); - - let messageId = groupedMessages[model].messages[groupedMessagesIdx[model]].id; - console.log(messageId); - - let messageChildrenIds = history.messages[messageId].childrenIds; - - while (messageChildrenIds.length !== 0) { - messageId = messageChildrenIds.at(-1); - messageChildrenIds = history.messages[messageId].childrenIds; - } - - history.currentId = messageId; - - dispatch('change'); - }} + showPreviousMessage={() => showPreviousMessage(model)} + showNextMessage={() => showNextMessage(model)} {rateMessage} {copyToClipboard} {continueGeneration} diff --git a/src/routes/(app)/+page.svelte b/src/routes/(app)/+page.svelte index cd40d7610..d5642c926 100644 --- a/src/routes/(app)/+page.svelte +++ b/src/routes/(app)/+page.svelte @@ -257,26 +257,6 @@ let userContext = null; - if ($settings?.memory ?? false) { - const res = await queryMemory(localStorage.token, prompt).catch((error) => { - toast.error(error); - return null; - }); - - if (res) { - if (res.documents[0].length > 0) { - userContext = res.documents.reduce((acc, doc, index) => { - const createdAtTimestamp = res.metadatas[index][0].created_at; - const createdAtDate = new Date(createdAtTimestamp * 1000).toISOString().split('T')[0]; - acc.push(`${index + 1}. [${createdAtDate}]. ${doc[0]}`); - return acc; - }, []); - } - - console.log(userContext); - } - } - await Promise.all( (modelId ? [modelId] : atSelectedModel !== '' ? [atSelectedModel.id] : selectedModels).map( async (modelId) => { @@ -309,6 +289,34 @@ ]; } + await tick(); + + if ($settings?.memory ?? false) { + if (userContext === null) { + const res = await queryMemory(localStorage.token, prompt).catch((error) => { + toast.error(error); + return null; + }); + + if (res) { + if (res.documents[0].length > 0) { + userContext = res.documents.reduce((acc, doc, index) => { + const createdAtTimestamp = res.metadatas[index][0].created_at; + const createdAtDate = new Date(createdAtTimestamp * 1000) + .toISOString() + .split('T')[0]; + acc.push(`${index + 1}. [${createdAtDate}]. ${doc[0]}`); + return acc; + }, []); + } + + console.log(userContext); + } + } + } + + responseMessage.userContext = userContext; + if (model?.external) { await sendPromptOpenAI(model, prompt, responseMessageId, _chatId); } else if (model) { diff --git a/src/routes/(app)/c/[id]/+page.svelte b/src/routes/(app)/c/[id]/+page.svelte index e60fd93cf..8088a4bb0 100644 --- a/src/routes/(app)/c/[id]/+page.svelte +++ b/src/routes/(app)/c/[id]/+page.svelte @@ -263,26 +263,6 @@ let userContext = null; - if ($settings?.memory ?? false) { - const res = await queryMemory(localStorage.token, prompt).catch((error) => { - toast.error(error); - return null; - }); - - if (res) { - if (res.documents[0].length > 0) { - userContext = res.documents.reduce((acc, doc, index) => { - const createdAtTimestamp = res.metadatas[index][0].created_at; - const createdAtDate = new Date(createdAtTimestamp * 1000).toISOString().split('T')[0]; - acc.push(`${index + 1}. [${createdAtDate}]. ${doc[0]}`); - return acc; - }, []); - } - - console.log(userContext); - } - } - await Promise.all( (modelId ? [modelId] : atSelectedModel !== '' ? [atSelectedModel.id] : selectedModels).map( async (modelId) => { @@ -315,6 +295,34 @@ ]; } + await tick(); + + if ($settings?.memory ?? false) { + if (userContext === null) { + const res = await queryMemory(localStorage.token, prompt).catch((error) => { + toast.error(error); + return null; + }); + + if (res) { + if (res.documents[0].length > 0) { + userContext = res.documents.reduce((acc, doc, index) => { + const createdAtTimestamp = res.metadatas[index][0].created_at; + const createdAtDate = new Date(createdAtTimestamp * 1000) + .toISOString() + .split('T')[0]; + acc.push(`${index + 1}. [${createdAtDate}]. ${doc[0]}`); + return acc; + }, []); + } + + console.log(userContext); + } + } + } + + responseMessage.userContext = userContext; + if (model?.external) { await sendPromptOpenAI(model, prompt, responseMessageId, _chatId); } else if (model) {