Implementation:Langchain ai Langchain AzureOpenAIEmbeddings
| Knowledge Sources | |
|---|---|
| Domains | Embeddings, Azure OpenAI, Cloud AI |
| Last Updated | 2026-02-11 00:00 GMT |
Overview
AzureOpenAIEmbeddings is a LangChain embeddings integration for generating text embeddings using Azure-hosted OpenAI models, extending the base OpenAIEmbeddings class with Azure-specific configuration.
Description
AzureOpenAIEmbeddings extends OpenAIEmbeddings from the langchain-openai package to provide Azure-specific configuration for embedding generation. It supports Azure endpoints, deployment names, API versioning, and multiple authentication methods including API keys, Azure Active Directory (AD) tokens, and AD token providers (both sync and async). The class creates openai.AzureOpenAI and openai.AsyncAzureOpenAI client instances with proper Azure configuration. It includes backward-compatibility validation for the transition from openai_api_base to the azure_endpoint parameter introduced in openai>=1.0.0.
Usage
Import this class when you need to generate text embeddings using Azure-hosted OpenAI models, particularly in enterprise environments that require Azure-specific authentication and endpoint configuration.
Code Reference
Source Location
- Repository: Langchain_ai_Langchain
- File:
libs/partners/openai/langchain_openai/embeddings/azure.py - Lines: 1-231
Signature
class AzureOpenAIEmbeddings(OpenAIEmbeddings):
azure_endpoint: str | None = Field(...)
deployment: str | None = Field(default=None, alias="azure_deployment")
openai_api_key: SecretStr | None = Field(alias="api_key", ...)
openai_api_version: str | None = Field(alias="api_version", ...)
azure_ad_token: SecretStr | None = Field(...)
azure_ad_token_provider: Callable[[], str] | None = None
azure_ad_async_token_provider: Callable[[], Awaitable[str]] | None = None
openai_api_type: str | None = Field(...)
validate_base_url: bool = True
chunk_size: int = 2048
Import
from langchain_openai import AzureOpenAIEmbeddings
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| azure_endpoint | None | No | Azure endpoint URL (e.g., https://example-resource.azure.openai.com/). Read from AZURE_OPENAI_ENDPOINT env var.
|
| deployment | None | No | Azure model deployment name. Alias: azure_deployment.
|
| openai_api_key | None | No | API key. Read from AZURE_OPENAI_API_KEY or OPENAI_API_KEY env vars.
|
| openai_api_version | None | No | API version. Read from OPENAI_API_VERSION env var. Default: "2023-05-15".
|
| azure_ad_token | None | No | Azure AD token. Read from AZURE_OPENAI_AD_TOKEN env var.
|
| azure_ad_token_provider | Callable[[], str] | None |
No | Function returning an Azure AD token, invoked on every sync request. |
| azure_ad_async_token_provider | Callable[[], Awaitable[str]] | None |
No | Async function returning an Azure AD token, invoked on every async request. |
| openai_api_type | None | No | API type. Read from OPENAI_API_TYPE env var. Default: "azure".
|
| validate_base_url | bool |
No | Whether to validate and transform legacy base URL. Default: True.
|
| chunk_size | int |
No | Maximum number of texts to embed in each batch. Default: 2048. |
| model | str |
No | Name of the Azure OpenAI model to use (inherited from OpenAIEmbeddings).
|
Outputs
| Name | Type | Description |
|---|---|---|
| embed_documents return | list[list[float]] |
List of embedding vectors (inherited from OpenAIEmbeddings).
|
| embed_query return | list[float] |
Single embedding vector (inherited from OpenAIEmbeddings).
|
Authentication Methods
The class supports three authentication approaches:
- API Key -- Set via
api_keyparameter orAZURE_OPENAI_API_KEYenvironment variable. - Azure AD Token -- Set via
azure_ad_tokenparameter orAZURE_OPENAI_AD_TOKENenvironment variable. - Azure AD Token Provider -- Set via
azure_ad_token_provider(sync) and/orazure_ad_async_token_provider(async) callables.
Usage Examples
Basic Usage
from langchain_openai import AzureOpenAIEmbeddings
embeddings = AzureOpenAIEmbeddings(
model="text-embedding-3-large",
# azure_endpoint="https://<your-endpoint>.openai.azure.com/",
# api_key="your-api-key",
# api_version="2024-02-01",
)
# Embed a single text
vector = embeddings.embed_query("The meaning of life is 42")
print(vector[:3])
# Embed multiple texts
vectors = embeddings.embed_documents(["Document 1...", "Document 2..."])
print(len(vectors))
Async Usage
from langchain_openai import AzureOpenAIEmbeddings
embeddings = AzureOpenAIEmbeddings(model="text-embedding-3-large")
vector = await embeddings.aembed_query("The meaning of life is 42")
Related Pages
- Requires
langchain-openaiandopenaipackages - Extends
langchain_openai.embeddings.base.OpenAIEmbeddings