From d680d52b856e99fa6b7fac930e82eac94b63c1a2 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Thu, 2 May 2024 02:20:57 -0700 Subject: [PATCH] feat:'@' model support --- src/lib/components/chat/MessageInput.svelte | 63 +++++++++++++++---- .../chat/MessageInput/Models.svelte | 18 ++---- src/lib/components/icons/XMark.svelte | 15 +++++ src/routes/(app)/+page.svelte | 21 +++++-- src/routes/(app)/c/[id]/+page.svelte | 10 ++- 5 files changed, 97 insertions(+), 30 deletions(-) create mode 100644 src/lib/components/icons/XMark.svelte diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index fccf3799..46063816 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -1,23 +1,25 @@ + + + + diff --git a/src/routes/(app)/+page.svelte b/src/routes/(app)/+page.svelte index 6590a0f9..412726e3 100644 --- a/src/routes/(app)/+page.svelte +++ b/src/routes/(app)/+page.svelte @@ -51,7 +51,9 @@ let currentRequestId = null; let showModelSelector = true; + let selectedModels = ['']; + let atSelectedModel = ''; let selectedModelfile = null; $: selectedModelfile = @@ -145,7 +147,8 @@ setTimeout(() => chatInput?.focus(), 0); }; - const scrollToBottom = () => { + const scrollToBottom = async () => { + await tick(); if (messagesContainerElement) { messagesContainerElement.scrollTop = messagesContainerElement.scrollHeight; } @@ -243,7 +246,8 @@ const _chatId = JSON.parse(JSON.stringify($chatId)); await Promise.all( - selectedModels.map(async (modelId) => { + (atSelectedModel !== '' ? [atSelectedModel.id] : selectedModels).map(async (modelId) => { + console.log('modelId', modelId); const model = $models.filter((m) => m.id === modelId).at(0); if (model) { @@ -537,7 +541,7 @@ console.log(docs); - console.log(model); + scrollToBottom(); const [res, controller] = await generateOpenAIChatCompletion( localStorage.token, @@ -884,4 +888,13 @@ - + + diff --git a/src/routes/(app)/c/[id]/+page.svelte b/src/routes/(app)/c/[id]/+page.svelte index c9b0b47e..eab368a1 100644 --- a/src/routes/(app)/c/[id]/+page.svelte +++ b/src/routes/(app)/c/[id]/+page.svelte @@ -57,6 +57,8 @@ // let chatId = $page.params.id; let showModelSelector = true; let selectedModels = ['']; + let atSelectedModel = ''; + let selectedModelfile = null; $: selectedModelfile = @@ -167,7 +169,8 @@ } }; - const scrollToBottom = () => { + const scrollToBottom = async () => { + await tick(); if (messagesContainerElement) { messagesContainerElement.scrollTop = messagesContainerElement.scrollHeight; } @@ -256,7 +259,7 @@ const _chatId = JSON.parse(JSON.stringify($chatId)); await Promise.all( - selectedModels.map(async (modelId) => { + (atSelectedModel !== '' ? [atSelectedModel.id] : selectedModels).map(async (modelId) => { const model = $models.filter((m) => m.id === modelId).at(0); if (model) { @@ -550,6 +553,8 @@ console.log(docs); + scrollToBottom(); + const [res, controller] = await generateOpenAIChatCompletion( localStorage.token, { @@ -911,6 +916,7 @@ bind:files bind:prompt bind:autoScroll + bind:selectedModel={atSelectedModel} suggestionPrompts={selectedModelfile?.suggestionPrompts ?? $config.default_prompt_suggestions} {messages} {submitPrompt}