UNPKG

sentence2simvecjs

Version:

Vector-based sentence similarity (0.0-1.0) + embedding export. JavaScript implementation inspired by PINTO0309/sentence2simvec

57 lines 2 kB
import { StorageAdapter } from './storage/storageInterface'; export interface CachedEmbeddingV2 { id: string; text: string; embedding: number[]; metadata?: any; timestamp?: number; } export type StorageType = 'file' | 'localStorage' | 'memory'; export interface EmbeddingCacheV2Options { storageType?: StorageType; storageAdapter?: StorageAdapter; cacheDir?: string; storagePrefix?: string; maxItems?: number; compressionEnabled?: boolean; } export declare class EmbeddingCacheV2 { private storage; private options; private indexKey; constructor(options?: EmbeddingCacheV2Options); addText(text: string, id?: string, metadata?: any): Promise<CachedEmbeddingV2>; addTexts(texts: Array<{ text: string; id?: string; metadata?: any; }>): Promise<CachedEmbeddingV2[]>; findSimilar(queryText: string, topK?: number, threshold?: number): Promise<Array<{ embedding: CachedEmbeddingV2; similarity: number; }>>; findSimilarByEmbedding(queryEmbedding: number[], topK?: number, threshold?: number): Promise<Array<{ embedding: CachedEmbeddingV2; similarity: number; }>>; batchSimilarity(queryText: string): Promise<Map<string, number>>; batchSimilarityByEmbedding(queryEmbedding: number[]): Promise<Map<string, number>>; get(id: string): Promise<CachedEmbeddingV2 | undefined>; set(id: string, embedding: CachedEmbeddingV2): Promise<void>; remove(id: string): Promise<void>; clear(): Promise<void>; size(): Promise<number>; getAllIds(): Promise<string[]>; getAll(): Promise<CachedEmbeddingV2[]>; exportToJSON(): Promise<string>; importFromJSON(jsonData: string): Promise<void>; getStorageInfo(): Promise<{ type: string; itemCount: number; estimatedSize?: number; }>; private updateIndex; private enforceMaxItems; private generateId; } //# sourceMappingURL=embeddingCacheV2.d.ts.map