Chat models
Features (natively supported)
All Chat models come with default implementations of all methods, ie. invoke
, batch
, stream
. This gives all chat models basic support for invoking, streaming and batching, which by default is implemented as below:
- Streaming support defaults to returning an
AsyncIterator
of a single value, the final result returned by the underlying model provider. Note that this doesn't give you token-by-token streaming, which requires native support from the model provider, but ensures your code that expects an iterator of tokens can work for any of our model integrations. - Batch support defaults to calling the underlying model in parallel for each input. You can control the concurrency with a
maxConcurrency
runtime param.
Additionally, some chat models support additional ways of guaranteeing structure in their outputs by allowing you to pass in a defined schema.
Tool calling (tool calling) is one capability, and allows you to use the chat model as the LLM in certain types of agents.
Some models in LangChain have also implemented a withStructuredOutput()
method that unifies many of these different ways of constraining output to a schema.
The table shows, for each integration, which features have been implemented with native support. Yellow circles (🟡) indicates partial support - for example, if the model supports tool calling but not tool messages for agents.
Model | Stream | JSON mode | Tool Calling | withStructuredOutput() | Multimodal |
---|---|---|---|---|---|
BedrockChat | ✅ | ❌ | 🟡 (Bedrock Anthropic only) | 🟡 (Bedrock Anthropic only) | 🟡 (Bedrock Anthropic only) |
ChatBedrockConverse | ✅ | ❌ | ✅ | ✅ | ✅ |
ChatAnthropic | ✅ | ❌ | ✅ | ✅ | ✅ |
ChatCloudflareWorkersAI | ✅ | ❌ | ❌ | ❌ | ❌ |
ChatCohere | ✅ | ❌ | ✅ | ✅ | ✅ |
ChatFireworks | ✅ | ✅ | ✅ | ✅ | ✅ |
ChatGoogleGenerativeAI | ✅ | ❌ | ✅ | ✅ | ✅ |
ChatVertexAI | ✅ | ❌ | ✅ | ✅ | ✅ |
ChatGroq | ✅ | ✅ | ✅ | ✅ | ✅ |
ChatMistralAI | ✅ | ✅ | ✅ | ✅ | ✅ |
ChatOllama | ✅ | ✅ | ✅ | ✅ | ✅ |
ChatOpenAI | ✅ | ✅ | ✅ | ✅ | ✅ |
ChatTogetherAI | ✅ | ✅ | ✅ | ✅ | ✅ |
All chat models
Name | Description |
---|---|
Alibaba Tongyi | LangChain.js supports the Alibaba qwen family of models. |
Anthropic | Anthropic is an AI safety and research |
Azure OpenAI | Azure OpenAI is a Microsoft Azure service that provides powerful |
Baidu Qianfan | Setup |
Amazon Bedrock | Amazon Bedrock is a fully managed |
Amazon Bedrock Converse | [Amazon Bedrock |
Cloudflare Workers AI | Workers AI allows you |
Cohere | Cohere is a Canadian startup that provides |
Deep Infra | LangChain supports chat models hosted by Deep Infra through the ChatD... |
Fake LLM | LangChain provides a fake LLM chat model for testing purposes. This a... |
Fireworks | Fireworks AI is an AI inference platform to run |
Friendli | Friendli enhances AI application performance and optimizes cost savin... |
Google GenAI | Google AI offers a number of different chat |
Google Vertex AI | Google Vertex is a service that |
Groq | Groq is a company that offers fast AI inference, |
Llama CPP | Only available on Node.js. |
Minimax | Minimax is a Chinese startup that provides natural language processin... |
MistralAI | Mistral AI is a platform that offers hosting for |
Moonshot | LangChain.js supports the Moonshot AI family of models. |
Ollama | Ollama allows you to run open-source large |
Ollama Functions | The LangChain Ollama integration package has official support for too... |
OpenAI | OpenAI is an artificial |
PremAI | Setup |
PromptLayer OpenAI | You can pass in the optional returnPromptLayerId boolean to get a pro... |
Tencent Hunyuan | LangChain.js supports the Tencent Hunyuan family of models. |
Together | Together AI offers an API to query [50+ |
WebLLM | Only available in web environments. |
YandexGPT | LangChain.js supports calling YandexGPT chat models. |
ZhipuAI | LangChain.js supports the Zhipu AI family of models. |