sentence2simvecjs
Version:
Vector-based sentence similarity (0.0-1.0) + embedding export. JavaScript implementation inspired by PINTO0309/sentence2simvec
45 lines • 1.59 kB
TypeScript
export interface CachedEmbedding {
id: string;
text: string;
embedding: Float32Array;
metadata?: any;
}
export interface EmbeddingCacheOptions {
cacheDir?: string;
inMemory?: boolean;
persistToDisk?: boolean;
}
export declare class EmbeddingCache {
private cache;
private options;
private cacheFile;
constructor(options?: EmbeddingCacheOptions);
addText(text: string, id?: string, metadata?: any): Promise<CachedEmbedding>;
addTexts(texts: Array<{
text: string;
id?: string;
metadata?: any;
}>): Promise<CachedEmbedding[]>;
addTextsFromFile(filePath: string): Promise<CachedEmbedding[]>;
addTextsFromJSON(filePath: string, textField?: string): Promise<CachedEmbedding[]>;
findSimilar(queryText: string, topK?: number, threshold?: number): Promise<Array<{
embedding: CachedEmbedding;
similarity: number;
}>>;
findSimilarByEmbedding(queryEmbedding: Float32Array, topK?: number, threshold?: number): Array<{
embedding: CachedEmbedding;
similarity: number;
}>;
batchSimilarity(queryText: string): Promise<Map<string, number>>;
batchSimilarityByEmbedding(queryEmbedding: Float32Array): Map<string, number>;
get(id: string): CachedEmbedding | undefined;
getAll(): CachedEmbedding[];
clear(): void;
size(): number;
private generateId;
private saveToDisk;
private loadFromDisk;
exportToFile(filePath: string): Promise<void>;
importFromFile(filePath: string): Promise<void>;
}
//# sourceMappingURL=embeddingCache.d.ts.map