Initial commit: Brainy - Multi-Dimensional AI Database
Open source vector database with HNSW indexing, graph relationships, and metadata facets. Features CLI with professional augmentation registry integration for discovering extensions and capabilities.
This commit is contained in:
commit
f8c45f2d8d
448 changed files with 103294 additions and 0 deletions
97
dist/hnsw/optimizedHNSWIndex.d.ts
vendored
Normal file
97
dist/hnsw/optimizedHNSWIndex.d.ts
vendored
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
/**
|
||||
* 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 {};
|
||||
Loading…
Add table
Add a link
Reference in a new issue