/** * Embedding Service for UAM Memory System * * Provides text embedding generation for semantic memory retrieval. * Supports multiple backends: Ollama (local), OpenAI, local transformers, or simple TF-IDF fallback. * * Priority order: * 1. Ollama (if running with nomic-embed-text or similar) * 2. OpenAI (if API key available) * 3. Local sentence-transformers (if installed) * 4. TF-IDF fallback (always available) */ export interface EmbeddingProvider { name: string; dimensions: number; embed(text: string): Promise; embedBatch(texts: string[]): Promise; isAvailable(): Promise; } /** * Ollama Embeddings Provider (LOCAL - NO API COSTS) * Uses nomic-embed-text (768 dimensions) or other embedding models */ export declare class OllamaEmbeddingProvider implements EmbeddingProvider { name: string; dimensions: number; private endpoint; private model; private available; constructor(endpoint?: string, model?: string); isAvailable(): Promise; embed(text: string): Promise; embedBatch(texts: string[]): Promise; } /** * OpenAI Embeddings Provider * Uses text-embedding-3-small (1536 dimensions) or text-embedding-ada-002 */ export declare class OpenAIEmbeddingProvider implements EmbeddingProvider { name: string; dimensions: number; private apiKey; private model; constructor(apiKey?: string, model?: string); isAvailable(): Promise; embed(text: string): Promise; embedBatch(texts: string[]): Promise; } /** * Local Sentence Transformers Provider * Uses Python sentence-transformers library for local embedding generation */ export declare class LocalEmbeddingProvider implements EmbeddingProvider { name: string; dimensions: number; private model; private pythonPath; constructor(model?: string, pythonPath?: string); isAvailable(): Promise; embed(text: string): Promise; embedBatch(texts: string[]): Promise; } /** * Enhanced TF-IDF Fallback Provider with Word Vectors * Improved keyword-based embeddings with semantic awareness */ export declare class TFIDFEmbeddingProvider implements EmbeddingProvider { name: string; dimensions: number; private vocabulary; private idfScores; private documents; private wordVectors; constructor(); isAvailable(): Promise; embed(text: string): Promise; embedBatch(texts: string[]): Promise; addDocument(text: string): void; private tokenize; private isStopWord; private getBigrams; private hashString; private getTokenIndex; private updateIDF; private normalize; /** * Initialize semantic word clusters for domain-specific terms * Words in the same cluster get similar vector contributions */ private initializeSemanticClusters; private generateClusterVector; } /** * Embedding Service - Main interface for UAM memory system * Automatically selects best available provider * * Priority: Ollama (local, free) > OpenAI > Local transformers > TF-IDF fallback */ export declare class EmbeddingService { private provider; private providers; private cache; private cacheMaxSize; constructor(ollamaEndpoint?: string, ollamaModel?: string); initialize(): Promise; embed(text: string): Promise; embedBatch(texts: string[]): Promise; cosineSimilarity(a: number[], b: number[]): number; getDimensions(): number; getProviderName(): string; private getCacheKey; } export declare function getEmbeddingService(): EmbeddingService; export declare function generateEmbedding(text: string): Promise; export declare function generateEmbeddings(texts: string[]): Promise; //# sourceMappingURL=embeddings.d.ts.map