/** * Optimized Qdrant Configuration for Enterprise Performance * Addresses the 45GB memory issue and slow performance */ import type { MemoryQuery } from '../types/index.js'; import type { SearchResult, VectorPoint, VectorStore } from './VectorStore.js'; export interface QdrantSearchPoint { id: string | number; version: number; score: number; payload?: Record | { [key: string]: unknown; } | null; vector?: Record | number[] | { [key: string]: number[]; } | null; shard_key?: string | number | Record | null; } export interface QdrantFilter { must: QdrantFilterCondition[]; } export interface QdrantFilterCondition { key: string; match: { value: string | number | boolean; }; } export interface OptimizedQdrantConfig { url: string; collection: string; dimension: number; apiKey?: string; batchSize: number; maxRetries: number; requestTimeout: number; connectionPoolSize: number; enableCompression: boolean; quantizationEnabled: boolean; segmentThreshold: number; hnswM: number; hnswEfConstruct: number; fullScanThreshold: number; } export declare class OptimizedQdrantVectorStore implements VectorStore { private client; private collection; private dimension; private config; private connectionPool; private currentConnectionIndex; constructor(config: OptimizedQdrantConfig); private initializeConnectionPool; private getConnection; initialize(): Promise; private createOptimizedCollection; private updateCollectionConfig; private createOptimizedIndexes; upsert(points: VectorPoint[]): Promise; private upsertBatch; search(vector: number[], query: MemoryQuery): Promise; delete(ids: string[]): Promise; private deleteBatch; count(tenantId: string): Promise; healthCheck(): Promise; checkDuplicateByHash(contentHash: string, tenantId: string, agentId?: string): Promise; updateMemoryAccess(memoryId: string): Promise; getMemoryStats(tenantId: string): Promise<{ totalMemories: number; averageAccessCount: number; oldestMemory: string | null; newestMemory: string | null; duplicateCount: number; }>; /** * Optimize collection for better performance */ optimizeCollection(): Promise; private buildFilter; private chunkArray; private retryOperation; close(): Promise; } //# sourceMappingURL=OptimizedQdrantVectorStore.d.ts.map