/** * SMI-738: Embedding Generation Benchmarks * * Measures performance of embedding operations: * - Single text embedding generation * - Batch embedding generation * - Cosine similarity calculations * - Vector search operations * - Model loading time */ import { type BenchmarkReport, type BenchmarkConfig } from './BenchmarkRunner.js'; /** * Embedding benchmark configuration */ export interface EmbeddingBenchmarkConfig extends BenchmarkConfig { /** Number of texts to embed in batch tests (default: 100) */ batchSize?: number; /** Skip model loading benchmark (default: false) */ skipModelLoad?: boolean; /** Use shorter iterations for slow operations (default: 50) */ embeddingIterations?: number; } /** * Performance targets for embedding operations */ export declare const EMBEDDING_TARGETS: { /** Single embedding generation p50 (ms) */ single_embed_p50_ms: number; /** Single embedding generation p95 (ms) */ single_embed_p95_ms: number; /** Batch embedding per-item p50 (ms) */ batch_embed_per_item_p50_ms: number; /** Cosine similarity p95 (ms) */ similarity_p95_ms: number; /** Vector search p95 (ms) for 1000 vectors */ vector_search_p95_ms: number; /** Max memory for embedding service (MB) */ memoryPeak_mb: number; }; /** * Embedding operation benchmark suite */ export declare class EmbeddingBenchmark { private config; private embeddingService; private testTexts; private testEmbeddings; constructor(config?: EmbeddingBenchmarkConfig); /** * Run all embedding benchmarks */ run(): Promise; /** * Run batch embedding benchmark separately (fewer iterations due to cost) */ runBatchBenchmark(): Promise; /** * Setup embedding service */ private setup; /** * Generate test data */ private generateTestData; /** * Generate long text for stress testing */ private generateLongText; /** * Cleanup resources */ private teardown; } /** * Validate embedding benchmark results against targets */ export declare function validateEmbeddingResults(report: BenchmarkReport): EmbeddingValidationResult; /** * Embedding validation result */ export interface EmbeddingValidationResult { passed: boolean; failures: string[]; warnings: string[]; } //# sourceMappingURL=embeddingBenchmark.d.ts.map