/** * Base Embedding Provider * * Esperanto-style abstraction for embedding providers * * @requirement REQ-RAG-001 * @design DES-KATASHIRO-003-RAG */ import type { EmbeddingProvider, EmbeddingConfig } from '../types.js'; /** * 抽象Embeddingプロバイダー基底クラス */ export declare abstract class BaseEmbeddingProvider implements EmbeddingProvider { abstract readonly name: string; abstract readonly dimensions: number; protected config: EmbeddingConfig; constructor(config?: Partial); /** * 単一テキストの埋め込み生成 */ abstract embed(text: string): Promise; /** * バッチ埋め込み生成 */ embedBatch(texts: string[]): Promise; /** * 内部バッチ処理(プロバイダー固有実装) */ protected embedBatchInternal(texts: string[]): Promise; /** * HTTPリクエストヘルパー(タイムアウト対応) */ protected fetchWithTimeout(url: string, options: RequestInit, timeout?: number): Promise; /** * リトライ付き実行 */ protected withRetry(operation: () => Promise, maxRetries?: number): Promise; /** * スリープヘルパー */ protected sleep(ms: number): Promise; } //# sourceMappingURL=BaseEmbeddingProvider.d.ts.map