/** * Embedding Providers - Pluggable vector embedding backends * * Supports: * - Simple (built-in, no dependencies) * - OpenAI text-embedding-3-small/large * - Ollama local embeddings * - Custom providers via interface */ import type { EmbeddingProvider } from './episodicMemory.js'; export interface OpenAIEmbeddingConfig { apiKey: string; model?: 'text-embedding-3-small' | 'text-embedding-3-large' | 'text-embedding-ada-002'; baseUrl?: string; } export declare class OpenAIEmbeddingProvider implements EmbeddingProvider { readonly name = "openai"; readonly dimension: number; private apiKey; private model; private baseUrl; constructor(config: OpenAIEmbeddingConfig); embed(text: string): Promise; } export interface OllamaEmbeddingConfig { model?: string; baseUrl?: string; } export declare class OllamaEmbeddingProvider implements EmbeddingProvider { readonly name = "ollama"; readonly dimension = 4096; private model; private baseUrl; constructor(config?: OllamaEmbeddingConfig); embed(text: string): Promise; } export interface DeepSeekEmbeddingConfig { apiKey: string; baseUrl?: string; } export declare class DeepSeekEmbeddingProvider implements EmbeddingProvider { readonly name = "deepseek"; readonly dimension = 1024; private apiKey; private baseUrl; constructor(config: DeepSeekEmbeddingConfig); embed(text: string): Promise; } export declare class CachedEmbeddingProvider implements EmbeddingProvider { readonly name: string; readonly dimension: number; private provider; private cache; private maxCacheSize; constructor(provider: EmbeddingProvider, maxCacheSize?: number); embed(text: string): Promise; clearCache(): void; getCacheStats(): { size: number; maxSize: number; }; } export type EmbeddingProviderType = 'simple' | 'openai' | 'ollama' | 'deepseek'; export interface EmbeddingProviderOptions { type: EmbeddingProviderType; apiKey?: string; model?: string; baseUrl?: string; useCache?: boolean; maxCacheSize?: number; } /** * Create an embedding provider based on configuration */ export declare function createEmbeddingProvider(options: EmbeddingProviderOptions): EmbeddingProvider; /** * Auto-detect best available embedding provider */ export declare function autoDetectEmbeddingProvider(): EmbeddingProvider; //# sourceMappingURL=embeddingProviders.d.ts.map