brainy/.recovery-workspace/dist-backup-20250910-141917/hnsw/optimizedHNSWIndex.d.ts
David Snelling 8ff382ca3b chore: recovery checkpoint - v3.0 API successfully recovered
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
2025-09-10 15:18:04 -07:00

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 {};