set up embedding normalization

This commit is contained in:
perf3ct
2025-03-18 21:09:19 +00:00
parent 08f7f1962b
commit f05fe3f72b
9 changed files with 1079 additions and 77 deletions

View File

@@ -1,4 +1,5 @@
import type { EmbeddingProvider, EmbeddingConfig, NoteEmbeddingContext } from './embeddings_interface.js';
import { NormalizationStatus } from './embeddings_interface.js';
import log from "../../log.js";
import { LLM_CONSTANTS } from "../../../routes/api/llm.js";
import options from "../../options.js";
@@ -23,6 +24,15 @@ export abstract class BaseEmbeddingProvider implements EmbeddingProvider {
return { ...this.config };
}
/**
* Get the normalization status of this provider
* Default implementation returns the status from config if available,
* otherwise returns UNKNOWN status
*/
getNormalizationStatus(): NormalizationStatus {
return this.config.normalizationStatus || NormalizationStatus.UNKNOWN;
}
getDimension(): number {
return this.config.dimension;
}