import { Tokenizers } from "@llamaindex/env"; import type { ClientOptions as OpenAIClientOptions } from "openai"; import type { AzureOpenAIConfig } from "../llm/azure.js"; import type { OpenAISession } from "../llm/openai.js"; import { BaseEmbedding } from "./types.js"; export declare const ALL_OPENAI_EMBEDDING_MODELS: { "text-embedding-ada-002": { dimensions: number; maxTokens: number; tokenizer: Tokenizers; }; "text-embedding-3-small": { dimensions: number; dimensionOptions: number[]; maxTokens: number; tokenizer: Tokenizers; }; "text-embedding-3-large": { dimensions: number; dimensionOptions: number[]; maxTokens: number; tokenizer: Tokenizers; }; }; export declare class OpenAIEmbedding extends BaseEmbedding { /** embeddding model. defaults to "text-embedding-ada-002" */ model: string; /** number of dimensions of the resulting vector, for models that support choosing fewer dimensions. undefined will default to model default */ dimensions: number | undefined; /** api key */ apiKey?: string; /** maximum number of retries, default 10 */ maxRetries: number; /** timeout in ms, default 60 seconds */ timeout?: number; /** other session options for OpenAI */ additionalSessionOptions?: Omit, "apiKey" | "maxRetries" | "timeout">; /** session object */ session: OpenAISession; /** * OpenAI Embedding * @param init - initial parameters */ constructor(init?: Partial & { azure?: AzureOpenAIConfig; }); /** * Get embeddings for a batch of texts * @param texts * @param options */ private getOpenAIEmbedding; /** * Get embeddings for a batch of texts * @param texts */ getTextEmbeddings(texts: string[]): Promise; /** * Get embeddings for a single text * @param texts */ getTextEmbedding(text: string): Promise; }