Overview
TheOpenAIEmbedder provides embeddings using OpenAI’s text-embedding models, including the latest text-embedding-3-small and text-embedding-3-large models.
Installation
Basic Usage
Configuration
OpenAIEmbedderConfig
str
default:"'text-embedding-3-small'"
OpenAI embedding model to use. Options:
text-embedding-3-small(default, 1536 dims)text-embedding-3-large(3072 dims)text-embedding-ada-002(legacy, 1536 dims)
int
default:"1024"
Output embedding dimensionality. Truncates native dimensions to this size.
str | None
default:"None"
OpenAI API key. If not provided, uses
OPENAI_API_KEY environment variable.str | None
default:"None"
Custom API endpoint for OpenAI-compatible services.
Constructor
OpenAIEmbedderConfig | None
default:"None"
Configuration object. If
None, creates default config.AsyncOpenAI | AsyncAzureOpenAI | None
default:"None"
Optional pre-configured client. If not provided, creates
AsyncOpenAI from config.
Supports both AsyncOpenAI and AsyncAzureOpenAI instances.Supported Models
text-embedding-3-small (Recommended)
- Native dimensions: 1536
- Cost: $0.02 / 1M tokens
- Best for: General purpose, cost-effective
text-embedding-3-large
- Native dimensions: 3072
- Cost: $0.13 / 1M tokens
- Best for: High-quality embeddings, better performance
text-embedding-ada-002 (Legacy)
- Native dimensions: 1536
- Cost: $0.10 / 1M tokens
- Best for: Backwards compatibility
Methods
create()
Generate a single embedding vector.input_data(str | list[str] | Iterable[int] | Iterable[Iterable[int]]): Input to embed
list[float] - Embedding vector
create_batch()
Generate embeddings for multiple texts in a single API call.input_data_list(list[str]): List of texts to embed
list[list[float]] - List of embedding vectors
Dimension Truncation
OpenAI models return embeddings in their native dimensions, which are truncated toembedding_dim:
Using with Azure OpenAI
The embedder supports Azure OpenAI through the client parameter:For Azure, use your deployment name as the
embedding_model, not the base model name.AzureOpenAIEmbedderClient (see Azure OpenAI Embedder).