34 lines
1.1 KiB
TypeScript
Raw Normal View History

import log from "../../log.js";
import options from "../../options.js";
import { initEmbeddings } from "./index.js";
import providerManager from "./providers.js";
import sqlInit from "../../sql_init.js";
/**
* Initialize the embedding system
*/
export async function initializeEmbeddings() {
try {
log.info("Initializing embedding system...");
// Check if the database is initialized before proceeding
if (!sqlInit.isDbInitialized()) {
log.info("Skipping embedding system initialization as database is not initialized yet.");
return;
}
// Initialize default embedding providers
await providerManager.initializeDefaultProviders();
// Start the embedding system if AI is enabled
if (await options.getOptionBool('aiEnabled')) {
await 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}`);
}
}