Chat model integrations
Chat models are language models that use a sequence of messages as inputs and return messages as outputs (as opposed to traditional, plaintext LLMs).
Integration components
- Typical retrieval flow: Document loaders → Text splitters → Embedding models → Vector stores → Retrievers → Chat models (this page)
- Agent capabilities: Tools, Middleware
- Execution and state: Sandboxes, Backends, Checkpointers, Stores
Featured models
Info
While these LangChain classes support the indicated advanced feature, you may need to refer to provider-specific documentation to learn which hosted models or backends support the feature.
| Model | Stream | Tool calling | Structured output | Multimodal | Downloads |
|---|---|---|---|---|---|
AzureChatOpenAI | ✅ | ✅ | ✅ | ✅ | |
ChatOpenAI | ✅ | ✅ | ✅ | ✅ | |
ChatVertexAI (deprecated) | ✅ | ✅ | ✅ | ✅ | |
ChatAnthropic | ✅ | ✅ | ✅ | ✅ | |
ChatGoogleGenerativeAI | ✅ | ✅ | ✅ | ✅ | |
ChatOllama | ✅ | ✅ | ✅ | ✅ | |
ChatGroq | ✅ | ✅ | ✅ | ✅ | |
ChatLiteLLM | ✅ | ✅ | ✅ | ✅ | |
ChatHuggingFace | ❌ | ✅ | ✅ | ✅ | |
ChatMistralAI | ✅ | ✅ | ✅ | ❌ | |
ChatOpenRouter | ✅ | ✅ | ✅ | ✅ | |
ChatXAI | ✅ | ✅ | ✅ | ❌ | |
ChatDeepSeek | ✅ | ✅ | ✅ | ❌ | |
ChatNVIDIA | ✅ | ✅ | ✅ | ✅ | |
ChatDatabricks | ✅ | ✅ | ✅ | ❌ | |
ChatCohere | |||||
ChatTogether | ✅ | ✅ | ✅ | ✅ | |
ChatAmazonNova | ✅ | ✅ | ✅ |
See the full list of chat model integrations below for more options.
Routers & proxies
Routers and proxies give you access to models from multiple providers through a single API and credential. They can simplify billing, let you switch between models without changing integrations, and offer features like automatic fallbacks.
| Provider | Integration | Description |
|---|---|---|
| OpenRouter | ChatOpenRouter | Unified access to models from OpenAI, Anthropic, Google, Meta, and more |
| LiteLLM | ChatLiteLLMRouter | Unified interface for OpenAI, Anthropic, Azure, Hugging Face, and more with routing and fallbacks |
Chat Completions API
Certain model providers offer endpoints that are compatible with OpenAI's Chat Completions API. In such cases, you can use ChatOpenAI with a custom base_url to connect to these endpoints for basic chat functionality.
Warning
ChatOpenAI targets official OpenAI API specifications only. Non-standard response fields from third-party providers (e.g., reasoning_content, reasoning, reasoning_details) are not extracted or preserved. Use a provider-specific package when you need access to non-standard features.
For instance, OpenRouter has a dedicated LangChain integration. See the ChatOpenRouter guide for setup and usage.
All chat models
Info
If you'd like to contribute an integration, see Contributing integrations.