diff --git a/src/lib/Playground/PlaygroundEmbedding.svelte b/src/lib/Playground/PlaygroundEmbedding.svelte index b048c48b..76138bcd 100644 --- a/src/lib/Playground/PlaygroundEmbedding.svelte +++ b/src/lib/Playground/PlaygroundEmbedding.svelte @@ -5,6 +5,7 @@ import SelectInput from "../UI/GUI/SelectInput.svelte"; import Button from "../UI/GUI/Button.svelte"; import { HypaProcesser } from "src/ts/process/memory/hypamemory"; + import { DBState } from "src/ts/stores.svelte" let query = $state(""); let model = $state("MiniLM"); @@ -27,24 +28,43 @@

{language.embedding}

Model - + + {#if 'gpu' in navigator} + MiniLM L6 v2 (GPU) + Nomic Embed Text v1.5 (GPU) + BGE Small English (GPU) + BGE Medium 3 (GPU) + Multilingual MiniLM L12 v2 (GPU) + BGE Medium 3 Korean (GPU) + {/if} MiniLM L6 v2 (CPU) Nomic Embed Text v1.5 (CPU) - Nomic Embed Text v1.5 (GPU) BGE Small English (CPU) - BGE Small English (GPU) BGE Medium 3 (CPU) - BGE Medium 3 (GPU) + Multilingual MiniLM L12 v2 (CPU) + BGE Medium 3 Korean (CPU) OpenAI text-embedding-3-small OpenAI text-embedding-3-large + OpenAI Ada Custom (OpenAI-compatible) -{#if model === "custom"} - Custom Server URL - +{#if model === 'openai3small' || model === 'openai3large' || model === 'ada'} + OpenAI API Key + {/if} +{#if model === "custom"} + URL + + Key/Password + + Request Model + +{/if} + +
+ Query diff --git a/src/lib/Setting/Pages/OtherBotSettings.svelte b/src/lib/Setting/Pages/OtherBotSettings.svelte index 6d07eb4e..c6f88f49 100644 --- a/src/lib/Setting/Pages/OtherBotSettings.svelte +++ b/src/lib/Setting/Pages/OtherBotSettings.svelte @@ -917,19 +917,21 @@ {/if} {language.embedding} - + {#if 'gpu' in navigator} MiniLM L6 v2 (GPU) Nomic Embed Text v1.5 (GPU) BGE Small English (GPU) BGE Medium 3 (GPU) Multilingual MiniLM L12 v2 (GPU) + BGE Medium 3 Korean (GPU) {/if} MiniLM L6 v2 (CPU) Nomic Embed Text v1.5 (CPU) BGE Small English (CPU) BGE Medium 3 (CPU) Multilingual MiniLM L12 v2 (CPU) + BGE Medium 3 Korean (CPU) OpenAI text-embedding-3-small OpenAI text-embedding-3-large OpenAI Ada @@ -942,12 +944,12 @@ {/if} {#if DBState.db.hypaModel === 'custom'} - URL - - Key/Password - - Request Model - + URL + + Key/Password + + Request Model + {/if} diff --git a/src/ts/process/memory/hypamemory.ts b/src/ts/process/memory/hypamemory.ts index 07af73d4..28afe631 100644 --- a/src/ts/process/memory/hypamemory.ts +++ b/src/ts/process/memory/hypamemory.ts @@ -21,6 +21,8 @@ export const localModels = { 'bgem3GPU': 'Xenova/bge-m3', 'multiMiniLM': 'Xenova/paraphrase-multilingual-MiniLM-L12-v2', 'multiMiniLMGPU': 'Xenova/paraphrase-multilingual-MiniLM-L12-v2', + 'bgeM3Ko': 'HyperBlaze/BGE-m3-ko', + 'bgeM3KoGPU': 'HyperBlaze/BGE-m3-ko', }, gpuModels:[ 'MiniLMGPU', @@ -28,6 +30,7 @@ export const localModels = { 'bgeSmallEnGPU', 'bgem3GPU', 'multiMiniLMGPU', + 'bgeM3KoGPU', ] } diff --git a/src/ts/process/transformers.ts b/src/ts/process/transformers.ts index ea3a32d6..2b3cf2de 100644 --- a/src/ts/process/transformers.ts +++ b/src/ts/process/transformers.ts @@ -66,7 +66,7 @@ export const runEmbedding = async (texts: string[], model:EmbeddingModel = 'Xeno } extractor = await pipeline('feature-extraction', model, { // Default dtype for webgpu is fp32, so we can use q8, which is the default dtype in wasm. - ...(device === 'webgpu' ? { dtype: "q8" } : {}), + dtype: "q8", device: device, progress_callback: (progress) => { console.log(progress)