Thomas G. Lopes
commited on
Commit
·
bf8e775
1
Parent(s):
357ab93
improve auto presentation
Browse files
src/lib/components/icon-provider.svelte
CHANGED
@@ -659,6 +659,19 @@ C 321.52 279.69 330.41 279.63 336.00 278.00 Z"
|
|
659 |
/>
|
660 |
</g>
|
661 |
</svg>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
662 |
{:else if children}{@render children()}{:else}
|
663 |
<div class="size-4 flex-none rounded-sm bg-gray-200"></div>
|
664 |
{/if}
|
|
|
659 |
/>
|
660 |
</g>
|
661 |
</svg>
|
662 |
+
{:else if provider === "auto"}
|
663 |
+
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"
|
664 |
+
><!-- Icon from Lucide by Lucide Contributors - https://github.com/lucide-icons/lucide/blob/main/LICENSE --><g
|
665 |
+
fill="none"
|
666 |
+
stroke="currentColor"
|
667 |
+
stroke-linecap="round"
|
668 |
+
stroke-linejoin="round"
|
669 |
+
stroke-width="2"
|
670 |
+
><path d="M12 8V4H8" /><rect width="16" height="12" x="4" y="8" rx="2" /><path
|
671 |
+
d="M2 14h2m16 0h2m-7-1v2m-6-2v2"
|
672 |
+
/></g
|
673 |
+
></svg
|
674 |
+
>
|
675 |
{:else if children}{@render children()}{:else}
|
676 |
<div class="size-4 flex-none rounded-sm bg-gray-200"></div>
|
677 |
{/if}
|
src/lib/components/inference-playground/provider-select.svelte
CHANGED
@@ -70,6 +70,11 @@
|
|
70 |
|
71 |
return words.join(" ");
|
72 |
}
|
|
|
|
|
|
|
|
|
|
|
73 |
</script>
|
74 |
|
75 |
<div class="flex flex-col gap-2">
|
@@ -89,7 +94,7 @@
|
|
89 |
>
|
90 |
<div class="flex items-center gap-1 text-sm">
|
91 |
<IconProvider provider={conversation.data.provider} />
|
92 |
-
{
|
93 |
</div>
|
94 |
<div
|
95 |
class="absolute right-2 grid size-4 flex-none place-items-center rounded-sm bg-gray-100 text-xs dark:bg-gray-600"
|
@@ -99,19 +104,19 @@
|
|
99 |
</button>
|
100 |
|
101 |
<div {...select.content} class="rounded-lg border bg-gray-100 dark:border-gray-700 dark:bg-gray-800">
|
102 |
-
{#snippet option(provider: string
|
103 |
<div {...select.getOption(provider)} class="group block w-full p-1 text-sm dark:text-white">
|
104 |
<div
|
105 |
class="flex items-center gap-2 rounded-md px-2 py-1.5 group-data-[highlighted]:bg-gray-200 dark:group-data-[highlighted]:bg-gray-700"
|
106 |
>
|
107 |
<IconProvider {provider} />
|
108 |
-
{
|
109 |
</div>
|
110 |
</div>
|
111 |
{/snippet}
|
112 |
{#each conversation.model.inferenceProviderMapping as { provider, providerId } (provider + providerId)}
|
113 |
{@render option(provider)}
|
114 |
{/each}
|
115 |
-
{@render option("auto"
|
116 |
</div>
|
117 |
</div>
|
|
|
70 |
|
71 |
return words.join(" ");
|
72 |
}
|
73 |
+
|
74 |
+
function getProviderName(provider: string) {
|
75 |
+
if (provider in nameMap) return formatName(provider);
|
76 |
+
return provider === "auto" ? "Choose automatically" : provider;
|
77 |
+
}
|
78 |
</script>
|
79 |
|
80 |
<div class="flex flex-col gap-2">
|
|
|
94 |
>
|
95 |
<div class="flex items-center gap-1 text-sm">
|
96 |
<IconProvider provider={conversation.data.provider} />
|
97 |
+
{getProviderName(conversation.data.provider ?? "") ?? "loading"}
|
98 |
</div>
|
99 |
<div
|
100 |
class="absolute right-2 grid size-4 flex-none place-items-center rounded-sm bg-gray-100 text-xs dark:bg-gray-600"
|
|
|
104 |
</button>
|
105 |
|
106 |
<div {...select.content} class="rounded-lg border bg-gray-100 dark:border-gray-700 dark:bg-gray-800">
|
107 |
+
{#snippet option(provider: string)}
|
108 |
<div {...select.getOption(provider)} class="group block w-full p-1 text-sm dark:text-white">
|
109 |
<div
|
110 |
class="flex items-center gap-2 rounded-md px-2 py-1.5 group-data-[highlighted]:bg-gray-200 dark:group-data-[highlighted]:bg-gray-700"
|
111 |
>
|
112 |
<IconProvider {provider} />
|
113 |
+
{getProviderName(provider)}
|
114 |
</div>
|
115 |
</div>
|
116 |
{/snippet}
|
117 |
{#each conversation.model.inferenceProviderMapping as { provider, providerId } (provider + providerId)}
|
118 |
{@render option(provider)}
|
119 |
{/each}
|
120 |
+
{@render option("auto")}
|
121 |
</div>
|
122 |
</div>
|