Implementation:Langchain ai Langchain OpenAIEmbeddings Constructor
Appearance
| Knowledge Sources | |
|---|---|
| Domains | NLP, Embeddings |
| Last Updated | 2026-02-11 00:00 GMT |
Overview
Concrete tool for initializing OpenAI embedding models provided by the LangChain OpenAI integration.
Description
The OpenAIEmbeddings class implements the Embeddings ABC using the OpenAI embeddings API. It handles batching (via chunk_size), token counting (via tiktoken), context length validation, and automatic retry logic. It supports both the standard OpenAI API and Azure OpenAI endpoints.
Usage
Import and instantiate OpenAIEmbeddings when using OpenAI's embedding models (text-embedding-ada-002, text-embedding-3-small, text-embedding-3-large).
Code Reference
Source Location
- Repository: langchain
- File: libs/partners/openai/langchain_openai/embeddings/base.py
- Lines: L86-410
Signature
class OpenAIEmbeddings(BaseModel, Embeddings):
model: str = "text-embedding-ada-002"
dimensions: int | None = None
embedding_ctx_length: int = 8191
openai_api_key: SecretStr | None | Callable[[], str] | Callable[[], Awaitable[str]] = Field(alias="api_key", default=None)
openai_api_base: str | None = Field(alias="base_url", default=None)
chunk_size: int = 1000
max_retries: int = 2
request_timeout: float | tuple[float, float] | Any | None = Field(alias="timeout", default=None)
tiktoken_enabled: bool = True
show_progress_bar: bool = False
check_embedding_ctx_length: bool = True
Import
from langchain_openai import OpenAIEmbeddings
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| model | str | No (default: "text-embedding-ada-002") | Embedding model name |
| dimensions | int or None | No | Output embedding dimensions (for models that support it) |
| api_key | SecretStr or None | No (from env OPENAI_API_KEY) | OpenAI API key |
| chunk_size | int | No (default: 1000) | Batch size for embedding calls |
Outputs
| Name | Type | Description |
|---|---|---|
| instance | OpenAIEmbeddings | Initialized embedding model with embed_documents() and embed_query() |
Usage Examples
Basic Initialization
from langchain_openai import OpenAIEmbeddings
# Default model
embeddings = OpenAIEmbeddings()
# Specific model with dimensions
embeddings = OpenAIEmbeddings(
model="text-embedding-3-small",
dimensions=512,
)
# Embed a single query
vector = embeddings.embed_query("What is LangChain?")
print(len(vector)) # 512
# Embed multiple documents
vectors = embeddings.embed_documents(["doc 1", "doc 2", "doc 3"])
print(len(vectors)) # 3
Related Pages
Implements Principle
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment