/** * MAMA (Memory-Augmented MCP Architecture) - Embedding Generation * * Story M1.4: Configurable embedding model selection * Generates embeddings using configurable model (default: multilingual-e5-large) * Supports: Korean-English cross-lingual similarity, enhanced metadata * * @module embeddings * @version 1.1 * @date 2025-11-20 */ import { embeddingCache } from './embedding-cache.js'; import { loadConfig, getModelName, getEmbeddingDim, getQuantized } from './config-loader.js'; export declare const EMBEDDING_MODEL_MAX_LENGTH = 512; export declare const EMBEDDING_MAX_TOKENISH_SEGMENTS = 480; export declare function prepareEmbeddingText(text: string): string; /** * Decision object for enhanced embedding generation */ export interface DecisionForEmbedding { topic: string; decision: string; reasoning?: string; outcome?: string; confidence?: number; user_involvement?: string; evidence?: string | string[] | unknown; alternatives?: string | string[] | unknown; risks?: string; } /** * Generate embedding vector from text * * Story M1.4 AC #1: Uses configurable embeddingDim from config * Target: < 30ms latency * * @param text - Input text to embed * @returns Embedding vector (dimension from config) * @throws Error if text is empty or embedding fails */ export declare function generateEmbedding(text: string): Promise; /** * Generate enhanced embedding with content + metadata * * Task 3.4: Implement enhanced embedding format * Inspired by A-mem: Content + Metadata for richer semantic representation * * @param decision - Decision object * @returns 1024-dim enhanced embedding */ export declare function generateEnhancedEmbedding(decision: DecisionForEmbedding): Promise; /** * Batch generate embeddings (optimized) * * Task 1: Implement Batch Embedding Generation * AC #3: Target - 30ms for 10 embeddings (vs 300ms sequential) * * Strategy: Use native transformer batch processing for parallel inference * * @param texts - Array of texts to embed (max 10 per batch) * @returns Array of embeddings */ export declare function generateBatchEmbeddings(texts: string[]): Promise; /** * Calculate cosine similarity between two embeddings * * Utility for testing and validation * * @param embA - First embedding * @param embB - Second embedding * @returns Cosine similarity (0-1) */ export declare function cosineSimilarity(embA: Float32Array, embB: Float32Array): number; export { embeddingCache }; export declare const EMBEDDING_DIM: number; export declare const MODEL_NAME: string; export { loadConfig, getModelName, getEmbeddingDim, getQuantized }; //# sourceMappingURL=embeddings.d.ts.map