@codai/cbd
Version:
Codai Better Database - High-Performance Vector Memory System with HPKV-inspired architecture and MCP server
115 lines • 3.28 kB
TypeScript
/**
* Advanced Vector Search Engine
* Enhanced capabilities for hybrid search, multi-modal embeddings, and optimization
*/
import { EventEmitter } from 'events';
interface HybridSearchOptions {
vectorWeight?: number;
keywordWeight?: number;
semanticWeight?: number;
maxResults?: number;
minSimilarity?: number;
includeMetadata?: boolean;
}
interface MultiModalEmbedding {
text?: number[];
image?: number[];
audio?: number[];
}
interface VectorCluster {
id: string;
centroid: number[];
members: string[];
similarity: number;
}
declare class AdvancedVectorSearchEngine extends EventEmitter {
private openai;
private vectorIndex;
private metadataIndex;
private keywordIndex;
private clusters;
private searchCache;
constructor(config: {
openaiApiKey: string;
cacheSize?: number;
clusterThreshold?: number;
});
private initializeAdvancedFeatures;
/**
* Hybrid Search: Combine vector, keyword, and semantic search
*/
hybridSearch(query: string, options?: HybridSearchOptions): Promise<{
results: Array<{
id: string;
content: string;
score: number;
matchType: 'vector' | 'keyword' | 'semantic' | 'hybrid';
metadata?: any;
}>;
performance: {
totalTime: number;
vectorTime: number;
keywordTime: number;
semanticTime: number;
};
}>;
/**
* Multi-modal Vector Embeddings
*/
generateMultiModalEmbedding(content: {
text?: string;
imageUrl?: string;
audioUrl?: string;
}): Promise<MultiModalEmbedding>;
/**
* Dynamic Vector Index Optimization
*/
optimizeVectorIndex(): Promise<{
clustersCreated: number;
indexReorganized: boolean;
performanceImprovement: number;
}>;
/**
* Batch Vector Operations
*/
batchVectorOperations(operations: Array<{
type: 'insert' | 'update' | 'delete' | 'search';
id?: string;
vector?: number[];
query?: string;
metadata?: any;
}>): Promise<{
results: any[];
performance: {
totalTime: number;
operationsPerSecond: number;
};
}>;
/**
* Vector Similarity Clustering
*/
performVectorClustering(options?: {
minClusterSize?: number;
maxClusters?: number;
similarityThreshold?: number;
}): Promise<VectorCluster[]>;
private performVectorSearch;
private performKeywordSearch;
private performSemanticSearch;
private combineSearchResults;
private generateCacheKey;
private setupDynamicClustering;
private setupSearchCache;
private setupPerformanceMonitoring;
private generateImageEmbedding;
private generateAudioEmbedding;
private analyzeIndexStructure;
private createVectorClusters;
private reorganizeIndex;
private measurePerformanceImprovement;
private groupOperationsByType;
private executeBatchOperation;
private createCluster;
}
export { AdvancedVectorSearchEngine, HybridSearchOptions, MultiModalEmbedding, VectorCluster };
//# sourceMappingURL=advanced-vector-search.d.ts.map