/** * OpenAI embedding adapter * * Supports OpenAI's text-embedding models including: * - text-embedding-3-small (default, 1536 dims, cheapest) * - text-embedding-3-large (3072 dims, highest quality) * - text-embedding-ada-002 (legacy, 1536 dims) * * @packageDocumentation */ import type { EmbeddingProvider, OpenAIEmbeddingConfig, EmbeddingResult, BatchEmbeddingResult } from '../types/graphrag.js'; import { BaseEmbeddingAdapter } from './base.js'; /** * OpenAI embedding adapter */ export declare class OpenAIEmbeddingAdapter extends BaseEmbeddingAdapter { private readonly apiKey; private readonly baseUrl; private readonly modelName; private readonly dims; constructor(config: OpenAIEmbeddingConfig); get provider(): EmbeddingProvider; get model(): string; get dimensions(): number; isConfigured(): boolean; embed(text: string): Promise; embedBatch(texts: string[]): Promise; } /** * Create an OpenAI embedding adapter from environment variables * * @param model - Model to use (default: 'text-embedding-3-small') * @param dimensions - Custom dimensions for text-embedding-3-* models * * @example * ```typescript * // Using default model (cheapest, good quality) * const adapter = createOpenAIEmbeddingAdapter(); * * // Using highest quality model * const adapter = createOpenAIEmbeddingAdapter('text-embedding-3-large'); * * // Using smaller dimensions for efficiency * const adapter = createOpenAIEmbeddingAdapter('text-embedding-3-small', 512); * ``` */ export declare function createOpenAIEmbeddingAdapter(model?: 'text-embedding-3-small' | 'text-embedding-3-large' | 'text-embedding-ada-002', dimensions?: number, apiKey?: string): OpenAIEmbeddingAdapter; //# sourceMappingURL=openai.d.ts.map