/** * EMBEDDINGS SUPPORT * Vector generation, similarity search, batching, caching */ export interface EmbeddingRequest { model: string; input: string | string[]; encoding_format?: 'float' | 'base64'; dimensions?: number; } export interface EmbeddingResponse { model: string; embeddings: Embedding[]; usage: { prompt_tokens: number; total_tokens: number; }; } export interface Embedding { index: number; embedding: number[]; object: 'embedding'; } export interface EmbeddingModel { provider: string; model: string; dimensions: number; max_input_tokens: number; cost_per_1k_tokens: number; } export declare class EmbeddingManager { private models; private cache; private batch_queue; private batch_timeout?; constructor(); /** * Generate embeddings */ generate(text: string | string[], model?: string): Promise; /** * Generate single embedding */ private generateSingle; /** * Batch generate with automatic batching */ generateBatch(text: string, model?: string): Promise; /** * Calculate similarity */ similarity(emb1: number[], emb2: number[]): number; /** * Find most similar */ findMostSimilar(query: number[], candidates: number[][], top_k?: number): Array<{ index: number; similarity: number; }>; /** * Get model info */ getModel(model: string): EmbeddingModel | null; /** * List available models */ listModels(): EmbeddingModel[]; /** * Clear cache */ clearCache(): void; /** * Get cache stats */ getCacheStats(): { size: number; hit_rate: number; }; private processBatch; private normalize; private getCacheKey; private initializeModels; } export interface VectorDocument { id: string; text: string; embedding: number[]; metadata?: Record; } export declare class VectorStore { private documents; private embedding_manager; constructor(embedding_manager?: EmbeddingManager); /** * Add document */ add(id: string, text: string, metadata?: Record, model?: string): Promise; /** * Add many documents */ addMany(documents: Array<{ id: string; text: string; metadata?: Record; }>, model?: string): Promise; /** * Search by query */ search(query: string, top_k?: number, model?: string, filter?: (doc: VectorDocument) => boolean): Promise>; /** * Search by vector */ searchByVector(query_embedding: number[], top_k?: number, filter?: (doc: VectorDocument) => boolean): Array<{ document: VectorDocument; similarity: number; }>; /** * Get document */ get(id: string): VectorDocument | null; /** * Delete document */ delete(id: string): boolean; /** * Get document count */ count(): number; /** * Clear all documents */ clear(): void; } export declare class EmbeddingBatchProcessor { private embedding_manager; constructor(embedding_manager?: EmbeddingManager); /** * Process texts in batches */ processBatch(texts: string[], model?: string, batch_size?: number): Promise; /** * Process with progress callback */ processWithProgress(texts: string[], on_progress: (completed: number, total: number) => void, model?: string, batch_size?: number): Promise; } //# sourceMappingURL=embedding-manager.d.ts.map