initialize embeddings if option is enabled

This commit is contained in:
perf3ct 2025-03-08 22:04:31 +00:00
parent 1361e4d438
commit ea6f9c8e18
No known key found for this signature in database
GPG Key ID: 569C4EEC436F5232
2 changed files with 34 additions and 2 deletions

View File

@ -0,0 +1,26 @@
import log from "../../log.js";
import options from "../../options.js";
import vectorStore from "./vector_store.js";
import providerManager from "./providers.js";
/**
* Initialize the embedding system
*/
export async function initializeEmbeddings() {
try {
log.info("Initializing embedding system...");
// Initialize default embedding providers
await providerManager.initializeDefaultProviders();
// Start the embedding system if AI is enabled
if (await options.getOptionBool('aiEnabled')) {
await vectorStore.initEmbeddings();
log.info("Embedding system initialized successfully.");
} else {
log.info("Embedding system disabled (AI features are turned off).");
}
} catch (error: any) {
log.error(`Error initializing embedding system: ${error.message || error}`);
}
}

View File

@ -47,20 +47,26 @@ export interface OptionDefinitions extends KeyboardShortcutsOptions<KeyboardActi
encryptedDataKey: string;
// AI/LLM integration options
aiEnabled: string;
aiEnabled: boolean;
openaiApiKey: string;
openaiDefaultModel: string;
openaiBaseUrl: string;
anthropicApiKey: string;
anthropicDefaultModel: string;
anthropicBaseUrl: string;
ollamaEnabled: string;
ollamaEnabled: boolean;
ollamaBaseUrl: string;
ollamaDefaultModel: string;
aiProviderPrecedence: string;
aiTemperature: string;
aiSystemPrompt: string;
// Embedding-related options
embeddingAutoUpdateEnabled: boolean;
embeddingUpdateInterval: number;
embeddingBatchSize: number;
embeddingDefaultDimension: number;
lastSyncedPull: number;
lastSyncedPush: number;
revisionSnapshotTimeInterval: number;