From b6df3a721c184408a7692b28632e24c700f15dfe Mon Sep 17 00:00:00 2001 From: perf3ct Date: Wed, 12 Mar 2025 18:02:51 +0000 Subject: [PATCH] allow user to select *where* they want to generate embeddings --- db/migrations/0230__vector_embeddings.sql | 4 +- .../type_widgets/options/ai_settings.ts | 15 +++ src/public/translations/en/translation.json | 4 + src/services/llm/embeddings/queue.ts | 10 ++ src/services/llm/index_service.ts | 105 ++++++++++++++++-- src/services/options_interface.ts | 1 + 6 files changed, 127 insertions(+), 12 deletions(-) diff --git a/db/migrations/0230__vector_embeddings.sql b/db/migrations/0230__vector_embeddings.sql index a614948a1..07c425fd2 100644 --- a/db/migrations/0230__vector_embeddings.sql +++ b/db/migrations/0230__vector_embeddings.sql @@ -52,4 +52,6 @@ VALUES ('embeddingUpdateInterval', '5000', 1, strftime('%Y-%m-%d %H:%M:%f', 'now INSERT INTO options (name, value, isSynced, utcDateModified) VALUES ('embeddingBatchSize', '10', 1, strftime('%Y-%m-%d %H:%M:%f', 'now')); INSERT INTO options (name, value, isSynced, utcDateModified) -VALUES ('embeddingDefaultDimension', '1536', 1, strftime('%Y-%m-%d %H:%M:%f', 'now')); \ No newline at end of file +VALUES ('embeddingDefaultDimension', '1536', 1, strftime('%Y-%m-%d %H:%M:%f', 'now')); +INSERT INTO options (name, value, isSynced, utcDateModified) +VALUES ('embeddingGenerationLocation', 'client', 1, strftime('%Y-%m-%dT%H:%M:%fZ', 'now')); \ No newline at end of file diff --git a/src/public/app/widgets/type_widgets/options/ai_settings.ts b/src/public/app/widgets/type_widgets/options/ai_settings.ts index 6f43b4319..92fdfa24c 100644 --- a/src/public/app/widgets/type_widgets/options/ai_settings.ts +++ b/src/public/app/widgets/type_widgets/options/ai_settings.ts @@ -186,6 +186,15 @@ export default class AiSettingsWidget extends OptionsWidget {
${t("ai_llm.embedding_default_provider_description")}
+
+ + +
${t("ai_llm.embedding_generation_location_description")}
+
+