CRITICAL CHECKPOINT - DO NOT PUSH TO GITHUB Recovery Status: - Successfully recovered brainy.ts from compiled JavaScript - All core v3.0 API methods functional (add, get, update, delete, relate, find, etc.) - Neural subsystem intact (562KB embedded patterns, NLP working) - Augmentation pipeline operational (20+ augmentations) - HNSW clustering system complete - Triple Intelligence compiled (needs constructor fix) - Test suite validates functionality Changes preserved: - 898 files with changes from last 3 days - 144,475 insertions - All augmentation improvements - All test coverage enhancements - Complete v3.0 feature set This is a LOCAL checkpoint only - contains recovered work after corruption incident. Created backup in .backups/brainy-full-20250910-151314.tar.gz Branch: recovery-checkpoint-20250910-151433 Date: Wed Sep 10 03:18:04 PM PDT 2025
97 lines
2.8 KiB
TypeScript
97 lines
2.8 KiB
TypeScript
/**
|
|
* Optimized HNSW Index for Large-Scale Vector Search
|
|
* Implements dynamic parameter tuning and performance optimizations
|
|
*/
|
|
import { DistanceFunction, HNSWConfig, Vector, VectorDocument } from '../coreTypes.js';
|
|
import { HNSWIndex } from './hnswIndex.js';
|
|
export interface OptimizedHNSWConfig extends HNSWConfig {
|
|
dynamicParameterTuning?: boolean;
|
|
targetSearchLatency?: number;
|
|
targetRecall?: number;
|
|
maxNodes?: number;
|
|
memoryBudget?: number;
|
|
diskCacheEnabled?: boolean;
|
|
compressionEnabled?: boolean;
|
|
performanceTracking?: boolean;
|
|
adaptiveEfSearch?: boolean;
|
|
levelMultiplier?: number;
|
|
seedConnections?: number;
|
|
pruningStrategy?: 'simple' | 'diverse' | 'hybrid';
|
|
}
|
|
interface PerformanceMetrics {
|
|
averageSearchTime: number;
|
|
averageRecall: number;
|
|
memoryUsage: number;
|
|
indexSize: number;
|
|
apiCalls: number;
|
|
cacheHitRate: number;
|
|
}
|
|
interface DynamicParameters {
|
|
efSearch: number;
|
|
efConstruction: number;
|
|
M: number;
|
|
ml: number;
|
|
}
|
|
/**
|
|
* Optimized HNSW Index with dynamic parameter tuning for large datasets
|
|
*/
|
|
export declare class OptimizedHNSWIndex extends HNSWIndex {
|
|
private optimizedConfig;
|
|
private performanceMetrics;
|
|
private dynamicParams;
|
|
private searchHistory;
|
|
private parameterTuningInterval?;
|
|
constructor(config?: Partial<OptimizedHNSWConfig>, distanceFunction?: DistanceFunction);
|
|
/**
|
|
* Optimized search with dynamic parameter adjustment
|
|
*/
|
|
search(queryVector: Vector, k?: number, filter?: (id: string) => Promise<boolean>): Promise<Array<[string, number]>>;
|
|
/**
|
|
* Dynamically adjust efSearch based on performance requirements
|
|
*/
|
|
private adjustEfSearch;
|
|
/**
|
|
* Record search performance metrics
|
|
*/
|
|
private recordSearchMetrics;
|
|
/**
|
|
* Check memory usage and trigger optimizations
|
|
*/
|
|
private checkMemoryUsage;
|
|
/**
|
|
* Compress index to reduce memory usage (placeholder)
|
|
*/
|
|
private compressIndex;
|
|
/**
|
|
* Start automatic parameter tuning
|
|
*/
|
|
private startParameterTuning;
|
|
/**
|
|
* Automatic parameter tuning based on performance metrics
|
|
*/
|
|
private tuneParameters;
|
|
/**
|
|
* Get optimized configuration recommendations for current dataset size
|
|
*/
|
|
getOptimizedConfig(): OptimizedHNSWConfig;
|
|
/**
|
|
* Get current performance metrics
|
|
*/
|
|
getPerformanceMetrics(): PerformanceMetrics & {
|
|
currentParams: DynamicParameters;
|
|
searchHistorySize: number;
|
|
};
|
|
/**
|
|
* Apply optimized bulk insertion strategy
|
|
*/
|
|
bulkInsert(items: VectorDocument[]): Promise<string[]>;
|
|
/**
|
|
* Optimize insertion order to improve index quality
|
|
*/
|
|
private optimizeInsertionOrder;
|
|
/**
|
|
* Cleanup resources
|
|
*/
|
|
destroy(): void;
|
|
}
|
|
export {};
|