diff --git a/src/lib/components/chat/ModelSelector/Selector.svelte b/src/lib/components/chat/ModelSelector/Selector.svelte
index 99827c02b..777f2f2d0 100644
--- a/src/lib/components/chat/ModelSelector/Selector.svelte
+++ b/src/lib/components/chat/ModelSelector/Selector.svelte
@@ -84,47 +84,49 @@
}
);
- $: filteredItems = searchValue
- ? fuse
- .search(searchValue)
- .map((e) => {
- return e.item;
- })
- .filter((item) => {
- if (selectedTag === '') {
- return true;
- }
- return (item.model?.tags ?? []).map((tag) => tag.name).includes(selectedTag);
- })
- .filter((item) => {
- if (selectedConnectionType === '') {
- return true;
- } else if (selectedConnectionType === 'ollama') {
- return item.model?.owned_by === 'ollama';
- } else if (selectedConnectionType === 'openai') {
- return item.model?.owned_by === 'openai';
- } else if (selectedConnectionType === 'direct') {
- return item.model?.direct;
- }
- })
- : items
- .filter((item) => {
- if (selectedTag === '') {
- return true;
- }
- return (item.model?.tags ?? []).map((tag) => tag.name).includes(selectedTag);
- })
- .filter((item) => {
- if (selectedConnectionType === '') {
- return true;
- } else if (selectedConnectionType === 'ollama') {
- return item.model?.owned_by === 'ollama';
- } else if (selectedConnectionType === 'openai') {
- return item.model?.owned_by === 'openai';
- } else if (selectedConnectionType === 'direct') {
- return item.model?.direct;
- }
- });
+ $: filteredItems = (
+ searchValue
+ ? fuse
+ .search(searchValue)
+ .map((e) => {
+ return e.item;
+ })
+ .filter((item) => {
+ if (selectedTag === '') {
+ return true;
+ }
+ return (item.model?.tags ?? []).map((tag) => tag.name).includes(selectedTag);
+ })
+ .filter((item) => {
+ if (selectedConnectionType === '') {
+ return true;
+ } else if (selectedConnectionType === 'ollama') {
+ return item.model?.owned_by === 'ollama';
+ } else if (selectedConnectionType === 'openai') {
+ return item.model?.owned_by === 'openai';
+ } else if (selectedConnectionType === 'direct') {
+ return item.model?.direct;
+ }
+ })
+ : items
+ .filter((item) => {
+ if (selectedTag === '') {
+ return true;
+ }
+ return (item.model?.tags ?? []).map((tag) => tag.name).includes(selectedTag);
+ })
+ .filter((item) => {
+ if (selectedConnectionType === '') {
+ return true;
+ } else if (selectedConnectionType === 'ollama') {
+ return item.model?.owned_by === 'ollama';
+ } else if (selectedConnectionType === 'openai') {
+ return item.model?.owned_by === 'openai';
+ } else if (selectedConnectionType === 'direct') {
+ return item.model?.direct;
+ }
+ })
+ ).filter((item) => !(item.model?.info?.meta?.hidden ?? false));
$: if (selectedTag || selectedConnectionType) {
resetView();
@@ -282,7 +284,10 @@
ollamaVersion = await getOllamaVersion(localStorage.token).catch((error) => false);
if (items) {
- tags = items.flatMap((item) => item.model?.tags ?? []).map((tag) => tag.name);
+ tags = items
+ .filter((item) => !(item.model?.info?.meta?.hidden ?? false))
+ .flatMap((item) => item.model?.tags ?? [])
+ .map((tag) => tag.name);
// Remove duplicates and sort
tags = Array.from(new Set(tags)).sort((a, b) => a.localeCompare(b));
@@ -388,18 +393,20 @@
class="flex gap-1 w-fit text-center text-sm font-medium rounded-full bg-transparent px-1.5 pb-0.5"
bind:this={tagsContainerElement}
>
-
+ {#if (items.find((item) => item.model?.owned_by === 'ollama') && items.find((item) => item.model?.owned_by === 'openai')) || items.find((item) => item.model?.direct) || tags.length > 0}
+
+ {/if}
{#if items.find((item) => item.model?.owned_by === 'ollama') && items.find((item) => item.model?.owned_by === 'openai')}