OpenAIEmbeddings Class — langchain Architecture
Architecture documentation for the OpenAIEmbeddings class in base.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 02ce964e_7ae0_baca_8a6a_784328c5c8a2["OpenAIEmbeddings"] c58e6864_9429_b081_883b_39ba15df0485["Embeddings"] 02ce964e_7ae0_baca_8a6a_784328c5c8a2 -->|extends| c58e6864_9429_b081_883b_39ba15df0485 d4ed0629_cc6d_c482_1002_6d2e1e34fca7["base.py"] 02ce964e_7ae0_baca_8a6a_784328c5c8a2 -->|defined in| d4ed0629_cc6d_c482_1002_6d2e1e34fca7 a6883fce_c28e_ccf2_a247_ed4b381c3d55["build_extra()"] 02ce964e_7ae0_baca_8a6a_784328c5c8a2 -->|method| a6883fce_c28e_ccf2_a247_ed4b381c3d55 fc863327_f0e0_4139_50b5_8b89b099746f["validate_environment()"] 02ce964e_7ae0_baca_8a6a_784328c5c8a2 -->|method| fc863327_f0e0_4139_50b5_8b89b099746f 98542c86_111a_0325_5a27_62aa99d69626["_invocation_params()"] 02ce964e_7ae0_baca_8a6a_784328c5c8a2 -->|method| 98542c86_111a_0325_5a27_62aa99d69626 593207ba_493c_164a_76eb_fa517d599359["_ensure_sync_client_available()"] 02ce964e_7ae0_baca_8a6a_784328c5c8a2 -->|method| 593207ba_493c_164a_76eb_fa517d599359 4a5d9586_0c4d_5a73_b24c_9264385aa161["_tokenize()"] 02ce964e_7ae0_baca_8a6a_784328c5c8a2 -->|method| 4a5d9586_0c4d_5a73_b24c_9264385aa161 f8a1b01b_dad7_b4dd_6b8c_a1b15fb3f50c["_get_len_safe_embeddings()"] 02ce964e_7ae0_baca_8a6a_784328c5c8a2 -->|method| f8a1b01b_dad7_b4dd_6b8c_a1b15fb3f50c 01a4554a_03d1_73aa_1e68_6aca5d7cc04c["_aget_len_safe_embeddings()"] 02ce964e_7ae0_baca_8a6a_784328c5c8a2 -->|method| 01a4554a_03d1_73aa_1e68_6aca5d7cc04c 88f98242_92d2_959c_e03a_78e52ef92089["embed_documents()"] 02ce964e_7ae0_baca_8a6a_784328c5c8a2 -->|method| 88f98242_92d2_959c_e03a_78e52ef92089 c7b01758_4a42_ca34_32be_9b682b692308["aembed_documents()"] 02ce964e_7ae0_baca_8a6a_784328c5c8a2 -->|method| c7b01758_4a42_ca34_32be_9b682b692308 a9adef1a_33c9_71b5_c622_eeeeebf1e8cf["embed_query()"] 02ce964e_7ae0_baca_8a6a_784328c5c8a2 -->|method| a9adef1a_33c9_71b5_c622_eeeeebf1e8cf 9a609982_4ee4_f66a_d069_b18e17d2baaf["aembed_query()"] 02ce964e_7ae0_baca_8a6a_784328c5c8a2 -->|method| 9a609982_4ee4_f66a_d069_b18e17d2baaf
Relationship Graph
Source Code
libs/partners/openai/langchain_openai/embeddings/base.py lines 86–772
class OpenAIEmbeddings(BaseModel, Embeddings):
"""OpenAI embedding model integration.
Setup:
Install `langchain_openai` and set environment variable `OPENAI_API_KEY`.
```bash
pip install -U langchain_openai
export OPENAI_API_KEY="your-api-key"
```
Key init args — embedding params:
model:
Name of OpenAI model to use.
dimensions:
The number of dimensions the resulting output embeddings should have.
Only supported in `'text-embedding-3'` and later models.
Key init args — client params:
api_key:
OpenAI API key.
organization:
OpenAI organization ID. If not passed in will be read
from env var `OPENAI_ORG_ID`.
max_retries:
Maximum number of retries to make when generating.
request_timeout:
Timeout for requests to OpenAI completion API
See full list of supported init args and their descriptions in the params section.
Instantiate:
```python
from langchain_openai import OpenAIEmbeddings
embed = OpenAIEmbeddings(
model="text-embedding-3-large"
# With the `text-embedding-3` class
# of models, you can specify the size
# of the embeddings you want returned.
# dimensions=1024
)
```
Embed single text:
```python
input_text = "The meaning of life is 42"
vector = embeddings.embed_query("hello")
print(vector[:3])
```
```python
[-0.024603435769677162, -0.007543657906353474, 0.0039630369283258915]
```
Embed multiple texts:
```python
vectors = embeddings.embed_documents(["hello", "goodbye"])
# Showing only the first 3 coordinates
print(len(vectors))
print(vectors[0][:3])
```
```python
2
[-0.024603435769677162, -0.007543657906353474, 0.0039630369283258915]
```
Async:
```python
await embed.aembed_query(input_text)
print(vector[:3])
# multiple:
# await embed.aembed_documents(input_texts)
```
```python
[-0.009100092574954033, 0.005071679595857859, -0.0029193938244134188]
```
"""
client: Any = Field(default=None, exclude=True)
Extends
Source
Frequently Asked Questions
What is the OpenAIEmbeddings class?
OpenAIEmbeddings is a class in the langchain codebase, defined in libs/partners/openai/langchain_openai/embeddings/base.py.
Where is OpenAIEmbeddings defined?
OpenAIEmbeddings is defined in libs/partners/openai/langchain_openai/embeddings/base.py at line 86.
What does OpenAIEmbeddings extend?
OpenAIEmbeddings extends Embeddings.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free