From 49fee3a175d05bcf9bb3f486c39af0e5fbe80f20 Mon Sep 17 00:00:00 2001 From: Emt-lin <41323133+Emt-lin@users.noreply.github.com> Date: Thu, 23 Jan 2025 06:48:36 +0800 Subject: [PATCH] feat: Optimize Embedding model setting UX. (#1076) --- src/settings/v2/components/BasicSettings.tsx | 52 ++++++++++++++- src/settings/v2/components/ModelTable.tsx | 66 +++++++++++--------- 2 files changed, 87 insertions(+), 31 deletions(-) diff --git a/src/settings/v2/components/BasicSettings.tsx b/src/settings/v2/components/BasicSettings.tsx index 03f3b3bd..b2639e6f 100644 --- a/src/settings/v2/components/BasicSettings.tsx +++ b/src/settings/v2/components/BasicSettings.tsx @@ -238,11 +238,59 @@ const BasicSettings: React.FC = ({ indexVaultToVectorStore } +
+ + Core Feature: Powers Semantic Search & QA + + { + if (open) { + handlePopoverOpen("embedding-model-help"); + } else { + handlePopoverClose("embedding-model-help"); + } + }} + > + + handlePopoverOpen("embedding-model-help")} + onMouseLeave={() => handlePopoverClose("embedding-model-help")} + /> + + handlePopoverOpen("embedding-model-help")} + onMouseLeave={() => handlePopoverClose("embedding-model-help")} + > +
+

+ This model converts text into vector representations, essential for + semantic search and QA functionality. +

+

Changing the embedding model will:

+
    +
  • Require rebuilding your vault's vector index
  • +
  • Affect semantic search quality
  • +
  • Impact QA feature performance
  • +
+
+
+
+
+ + } value={settings.embeddingModelKey} onChange={handleSetDefaultEmbeddingModel} options={settings.activeEmbeddingModels - .filter((m) => m.enabled) + // .filter((m) => m.enabled) .map((model) => ({ label: `${model.name} (${getProviderLabel(model.provider)})`, value: getModelKeyFromModel(model), diff --git a/src/settings/v2/components/ModelTable.tsx b/src/settings/v2/components/ModelTable.tsx index f7988695..e991d6e7 100644 --- a/src/settings/v2/components/ModelTable.tsx +++ b/src/settings/v2/components/ModelTable.tsx @@ -68,7 +68,7 @@ const ModelCard: React.FC<{ )} - {onDelete && ( + {onDelete && !model.core && ( )} - + {!model.core && ( + + )}