Environment:Langchain ai Langchain OpenAI API Credentials
| Knowledge Sources | |
|---|---|
| Domains | Infrastructure, LLMs |
| Last Updated | 2026-02-11 14:00 GMT |
Overview
Environment credentials and SDK dependencies required for OpenAI API integration via `langchain-openai`.
Description
The `langchain-openai` package wraps the official OpenAI Python SDK to provide LangChain-compatible chat models (`ChatOpenAI`), embeddings (`OpenAIEmbeddings`), and structured output. It requires an OpenAI API key and depends on `openai >= 1.109.1` and `tiktoken >= 0.7.0` for token counting. Azure OpenAI is also supported via separate environment variables.
Usage
Required for any workflow that uses OpenAI models including `ChatOpenAI`, `OpenAIEmbeddings`, or Azure OpenAI variants. This includes the Chat_Model_Invocation, Tool_Calling_Structured_Output, Vector_Store_Operations, and Streaming_Responses workflows.
System Requirements
| Category | Requirement | Notes |
|---|---|---|
| Python | >= 3.10.0, < 4.0.0 | Same as core |
| Network | HTTPS outbound to api.openai.com | Or custom base URL |
| SDK | openai >= 1.109.1, < 3.0.0 | Official OpenAI Python SDK |
Dependencies
Python Packages
- `langchain-core` >= 1.2.11, < 2.0.0
- `openai` >= 1.109.1, < 3.0.0
- `tiktoken` >= 0.7.0, < 1.0.0
Credentials
The following environment variables must be set:
Required:
- `OPENAI_API_KEY`: OpenAI API key for authentication.
Optional:
- `OPENAI_ORG_ID` or `OPENAI_ORGANIZATION`: OpenAI organization ID.
- `OPENAI_API_BASE` or `OPENAI_BASE_URL`: Custom API base URL (default: `https://api.openai.com/v1`).
Azure OpenAI (alternative):
- `AZURE_OPENAI_API_KEY`: Azure-specific API key.
- `AZURE_OPENAI_API_BASE`: Azure endpoint URL.
- `AZURE_OPENAI_API_VERSION`: API version string.
- `AZURE_OPENAI_DEPLOYMENT_NAME`: Model deployment name.
- `AZURE_OPENAI_CHAT_DEPLOYMENT_NAME`: Chat-specific deployment.
- `AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT_NAME`: Embeddings-specific deployment.
Quick Install
pip install langchain-openai>=1.1.9
# Set API key
export OPENAI_API_KEY="sk-..."
Code Evidence
Environment variable resolution from `libs/partners/openai/langchain_openai/chat_models/base.py:914-940`:
openai_organization: str | None = Field(
alias="organization", default=None
)
"""Automatically inferred from env var `OPENAI_ORG_ID` if not provided."""
openai_api_base: str | None = Field(alias="base_url", default=None)
"""Base URL path for API requests, leave blank if not using a proxy or
service emulator."""
Client URL detection from `libs/partners/openai/langchain_openai/chat_models/_client_utils.py:54-66`:
base_url = os.environ.get("OPENAI_BASE_URL", "https://api.openai.com/v1")
Common Errors
| Error Message | Cause | Solution |
|---|---|---|
| `ValueError: Did not find openai_api_key` | OPENAI_API_KEY not set | `export OPENAI_API_KEY="sk-..."` or pass `api_key=` parameter |
| `openai.AuthenticationError: 401` | Invalid API key | Verify API key at platform.openai.com |
| `openai.RateLimitError: 429` | Rate limit exceeded | Implement rate limiting or use `BaseRateLimiter` |
Compatibility Notes
- OpenAI SDK v1 vs v2: The package supports `openai >= 1.109.1, < 3.0.0`, covering both major versions.
- Azure OpenAI: Uses separate environment variables and deployment model. The `AzureChatOpenAI` class handles Azure-specific authentication.
- Custom endpoints: Compatible with OpenAI-compatible APIs (e.g., vLLM, Ollama) via `OPENAI_BASE_URL`.
Related Pages
- Implementation:Langchain_ai_Langchain_ChatOpenAI_Constructor
- Implementation:Langchain_ai_Langchain_BaseChatOpenAI_Generate
- Implementation:Langchain_ai_Langchain_BaseChatOpenAI_Bind_Tools
- Implementation:Langchain_ai_Langchain_BaseChatOpenAI_With_Structured_Output
- Implementation:Langchain_ai_Langchain_OpenAIEmbeddings_Constructor
- Implementation:Langchain_ai_Langchain_ChatOpenAI_Constructor_For_Streaming
- Implementation:Langchain_ai_Langchain_BaseChatOpenAI_Stream_Implementation