Преглед на файлове

feat: model selector tag search

Timothy J. Baek преди 11 месеца
родител
ревизия
cddbeb023d
променени са 1 файла, в които са добавени 21 реда и са изтрити 5 реда
  1. 21 5
      src/lib/components/chat/ModelSelector/Selector.svelte

+ 21 - 5
src/lib/components/chat/ModelSelector/Selector.svelte

@@ -42,10 +42,14 @@
 	let searchValue = '';
 	let ollamaVersion = null;
 
-	$: filteredItems = items.filter((item) =>
-		searchValue
-			? item.value.toLowerCase().includes(searchValue.toLowerCase())
-			: true && !(item.model?.info?.meta?.hidden ?? false)
+	$: filteredItems = items.filter(
+		(item) =>
+			(searchValue
+				? item.value.toLowerCase().includes(searchValue.toLowerCase()) ||
+				  (item.model?.info?.meta?.tags ?? []).some((tag) =>
+						tag.name.toLowerCase().includes(searchValue.toLowerCase())
+				  )
+				: true) && !(item.model?.info?.meta?.hidden ?? false)
 	);
 
 	const pullModelHandler = async () => {
@@ -324,10 +328,22 @@
 									</div>
 								</Tooltip>
 							{/if}
+
+							{#if (item?.model?.info?.meta?.tags ?? []).length > 0}
+								<div class="flex gap-0.5 self-center items-center h-full translate-y-[0.5px]">
+									{#each item.model?.info?.meta.tags as tag}
+										<div
+											class=" text-xs font-black px-1 rounded uppercase line-clamp-1 bg-gray-500/20 text-gray-700 dark:text-gray-200"
+										>
+											{tag.name}
+										</div>
+									{/each}
+								</div>
+							{/if}
 						</div>
 
 						{#if value === item.value}
-							<div class="ml-auto">
+							<div class="ml-auto pl-2">
 								<Check />
 							</div>
 						{/if}