From ba150a0913ed5f6af602452d8c8e39efbaf5b8bf Mon Sep 17 00:00:00 2001
From: Bo26fhmC5M <88071760+Bo26fhmC5M@users.noreply.github.com>
Date: Sun, 18 May 2025 14:31:35 +0900
Subject: [PATCH] feat: add BGE-m3-ko embedding
---
src/lib/Playground/PlaygroundEmbedding.svelte | 34 +++++++++++++++----
src/lib/Setting/Pages/OtherBotSettings.svelte | 16 +++++----
src/ts/process/memory/hypamemory.ts | 3 ++
src/ts/process/transformers.ts | 2 +-
4 files changed, 40 insertions(+), 15 deletions(-)
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)