Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Implementation:Langchain ai Langchain OpenAIEmbeddings Constructor

From Leeroopedia
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