UNPKG

semantic-ds-toolkit

Version:

Performance-first semantic layer for modern data stacks - Stable Column Anchors & intelligent inference

64 lines 2.27 kB
interface CompressedVector { codes: Uint8Array; metadata: { originalDimension: number; subspaceCount: number; compressionRatio: number; }; } interface PQConfig { subspaceCount: number; bitsPerCode: number; maxIterations: number; convergenceThreshold: number; initializationMethod: 'random' | 'kmeans++'; } export declare class ProductQuantizer { private config; private codebooks; private isTrained; constructor(config?: Partial<PQConfig>); train(vectors: Float32Array[]): Promise<void>; private splitVectorsIntoSubspaces; private trainSubspaceCodebook; private initializeCentroids; private kMeansPlusPlusInit; private computeMean; private randomVector; private euclideanDistance; compress(vector: Float32Array): CompressedVector; decompress(compressed: CompressedVector): Float32Array; compressBatch(vectors: Float32Array[]): CompressedVector[]; approximateDistance(compressed1: CompressedVector, compressed2: CompressedVector): number; buildDistanceTables(query: Float32Array): Float32Array[]; searchApproximate(distanceTables: Float32Array[], compressed: CompressedVector[], k?: number): Array<{ index: number; distance: number; }>; getCompressionStats(): { subspaceCount: number; bitsPerCode: number; totalCentroids: number; memoryReduction: number; isTrained: boolean; }; serialize(): string; deserialize(serialized: string): void; } export declare class ColumnFingerprintCompressor { private pq; private compressedFingerprints; constructor(subspaceCount?: number); trainOnFingerprints(fingerprints: Map<string, Float32Array>): Promise<void>; compressFingerprint(id: string, fingerprint: Float32Array): CompressedVector; findSimilarFingerprints(queryFingerprint: Float32Array, threshold?: number, maxResults?: number): Array<{ id: string; similarity: number; }>; getCompressionRatio(): number; clear(): void; } export declare const globalProductQuantizer: ProductQuantizer; export declare const globalFingerprintCompressor: ColumnFingerprintCompressor; export {}; //# sourceMappingURL=vector-compression.d.ts.map