Explorar o código

fix: chat general

Timothy J. Baek hai 1 ano
pai
achega
092884fec5

+ 1 - 1
src/lib/components/chat/MessageInput.svelte

@@ -298,7 +298,7 @@
 							id="chat-textarea"
 							class=" dark:bg-gray-800 dark:text-gray-100 outline-none w-full py-3 px-2 {fileUploadEnabled
 								? ''
-								: ' pl-4'} rounded-xl resize-none"
+								: ' pl-4'} rounded-xl resize-none h-[48px]"
 							placeholder={speechRecognitionListening ? 'Listening...' : 'Send a message'}
 							bind:value={prompt}
 							on:keypress={(e) => {

+ 7 - 0
src/lib/components/chat/ModelSelector.svelte

@@ -1,5 +1,6 @@
 <script lang="ts">
 	import { models, showSettings, settings } from '$lib/stores';
+	import { onMount, tick } from 'svelte';
 	import toast from 'svelte-french-toast';
 
 	export let selectedModels = [''];
@@ -15,6 +16,12 @@
 		localStorage.setItem('settings', JSON.stringify($settings));
 		toast.success('Default model updated');
 	};
+
+	$: if (selectedModels.length > 0 && $models.length > 0) {
+		selectedModels = selectedModels.map((model) =>
+			$models.map((m) => m.name).includes(model) ? model : ''
+		);
+	}
 </script>
 
 <div class="flex flex-col my-2">

+ 6 - 2
src/routes/(app)/+page.svelte

@@ -109,10 +109,14 @@
 		await Promise.all(
 			selectedModels.map(async (model) => {
 				console.log(model);
-				if ($models.filter((m) => m.name === model)[0].external) {
+				const modelTag = $models.filter((m) => m.name === model).at(0);
+
+				if (modelTag?.external) {
 					await sendPromptOpenAI(model, prompt, parentId, _chatId);
-				} else {
+				} else if (modelTag) {
 					await sendPromptOllama(model, prompt, parentId, _chatId);
+				} else {
+					toast.error(`Model ${model} not found`);
 				}
 			})
 		);

+ 6 - 3
src/routes/(app)/c/[id]/+page.svelte

@@ -136,17 +136,20 @@
 		await Promise.all(
 			selectedModels.map(async (model) => {
 				console.log(model);
-				if ($models.filter((m) => m.name === model)[0].external) {
+				const modelTag = $models.filter((m) => m.name === model).at(0);
+
+				if (modelTag?.external) {
 					await sendPromptOpenAI(model, prompt, parentId, _chatId);
-				} else {
+				} else if (modelTag) {
 					await sendPromptOllama(model, prompt, parentId, _chatId);
+				} else {
+					toast.error(`Model ${model} not found`);
 				}
 			})
 		);
 
 		await chats.set(await getChatList(localStorage.token));
 	};
-
 	const sendPromptOllama = async (model, userPrompt, parentId, _chatId) => {
 		// Create response message
 		let responseMessageId = uuidv4();