!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())

[Skip to main content](#__docusaurus_skipToContent_fallback)

LangChain v0.2 is coming soon! Preview the new docs [here](/v0.2/docs/introduction/).

[

![🦜️🔗 Langchain](/v0.1/img/brand/wordmark.png)![🦜️🔗 Langchain](/v0.1/img/brand/wordmark-dark.png)

](/v0.1/)[Docs](/v0.1/docs/get_started/introduction/)[Use cases](/v0.1/docs/use_cases/)[Integrations](/v0.1/docs/integrations/platforms/)[API Reference](https://api.js.langchain.com)

[More](#)

*   [People](/v0.1/docs/people/)
*   [Community](/v0.1/docs/community/)
*   [Tutorials](/v0.1/docs/additional_resources/tutorials/)
*   [Contributing](/v0.1/docs/contributing/)

[v0.1](#)

*   [v0.2](https://js.langchain.com/v0.2/docs/introduction)
*   [v0.1](/v0.1/docs/get_started/introduction/)

[🦜🔗](#)

*   [LangSmith](https://smith.langchain.com)
*   [LangSmith Docs](https://docs.smith.langchain.com)
*   [LangChain Hub](https://smith.langchain.com/hub)
*   [LangServe](https://github.com/langchain-ai/langserve)
*   [Python Docs](https://python.langchain.com/)

[Chat](https://chatjs.langchain.com)[](https://github.com/langchain-ai/langchainjs)

Search

*   [Providers](/v0.1/docs/integrations/platforms/)
    
    *   [Providers](/v0.1/docs/integrations/platforms/)
    *   [Anthropic](/v0.1/docs/integrations/platforms/anthropic/)
    *   [AWS](/v0.1/docs/integrations/platforms/aws/)
    *   [Google](/v0.1/docs/integrations/platforms/google/)
    *   [Microsoft](/v0.1/docs/integrations/platforms/microsoft/)
    *   [OpenAI](/v0.1/docs/integrations/platforms/openai/)
*   [Components](/v0.1/docs/integrations/components/)
    
    *   [LLMs](/v0.1/docs/integrations/llms/)
        
        *   [LLMs](/v0.1/docs/integrations/llms/)
        *   [AI21](/v0.1/docs/integrations/llms/ai21/)
        *   [AlephAlpha](/v0.1/docs/integrations/llms/aleph_alpha/)
        *   [AWS SageMakerEndpoint](/v0.1/docs/integrations/llms/aws_sagemaker/)
        *   [Azure OpenAI](/v0.1/docs/integrations/llms/azure/)
        *   [Bedrock](/v0.1/docs/integrations/llms/bedrock/)
        *   [Cloudflare Workers AI](/v0.1/docs/integrations/llms/cloudflare_workersai/)
        *   [Cohere](/v0.1/docs/integrations/llms/cohere/)
        *   [Fake LLM](/v0.1/docs/integrations/llms/fake/)
        *   [Fireworks](/v0.1/docs/integrations/llms/fireworks/)
        *   [Friendli](/v0.1/docs/integrations/llms/friendli/)
        *   [(Legacy) Google PaLM/VertexAI](/v0.1/docs/integrations/llms/google_palm/)
        *   [Google Vertex AI](/v0.1/docs/integrations/llms/google_vertex_ai/)
        *   [Gradient AI](/v0.1/docs/integrations/llms/gradient_ai/)
        *   [HuggingFaceInference](/v0.1/docs/integrations/llms/huggingface_inference/)
        *   [Llama CPP](/v0.1/docs/integrations/llms/llama_cpp/)
        *   [NIBittensor](/v0.1/docs/integrations/llms/ni_bittensor/)
        *   [Ollama](/v0.1/docs/integrations/llms/ollama/)
        *   [OpenAI](/v0.1/docs/integrations/llms/openai/)
        *   [PromptLayer OpenAI](/v0.1/docs/integrations/llms/prompt_layer_openai/)
        *   [RaycastAI](/v0.1/docs/integrations/llms/raycast/)
        *   [Replicate](/v0.1/docs/integrations/llms/replicate/)
        *   [Together AI](/v0.1/docs/integrations/llms/togetherai/)
        *   [WatsonX AI](/v0.1/docs/integrations/llms/watsonx_ai/)
        *   [Writer](/v0.1/docs/integrations/llms/writer/)
        *   [YandexGPT](/v0.1/docs/integrations/llms/yandex/)
    *   [Chat models](/v0.1/docs/integrations/chat/)
        
    *   [Document loaders](/v0.1/docs/integrations/document_loaders/)
        
    *   [Document transformers](/v0.1/docs/integrations/document_transformers/)
        
    *   [Document compressors](/v0.1/docs/integrations/document_compressors/)
        
    *   [Text embedding models](/v0.1/docs/integrations/text_embedding/)
        
    *   [Vector stores](/v0.1/docs/integrations/vectorstores/)
        
    *   [Retrievers](/v0.1/docs/integrations/retrievers/)
        
    *   [Tools](/v0.1/docs/integrations/tools/)
        
    *   [Agents and toolkits](/v0.1/docs/integrations/toolkits/)
        
    *   [Chat Memory](/v0.1/docs/integrations/chat_memory/)
        
    *   [Stores](/v0.1/docs/integrations/stores/)
        

*   [](/v0.1/)
*   [Components](/v0.1/docs/integrations/components/)
*   LLMs

On this page

LLMs
====

Features (natively supported)[​](#features-natively-supported "Direct link to Features (natively supported)")
-------------------------------------------------------------------------------------------------------------

All LLMs implement the Runnable interface, which comes with default implementations of all methods, ie. `invoke`, `batch`, `stream`, `map`. This gives all LLMs basic support for invoking, streaming, batching and mapping requests, 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 LLM provider. This obviously doesn't give you token-by-token streaming, which requires native support from the LLM provider, but ensures your code that expects an iterator of tokens can work for any of our LLM integrations.
*   _Batch_ support defaults to calling the underlying LLM in parallel for each input. The concurrency can be controlled with the `maxConcurrency` key in `RunnableConfig`.
*   _Map_ support defaults to calling `.invoke` across all instances of the array which it was called on.

Each LLM integration can optionally provide native implementations for invoke, streaming or batch, which, for providers that support it, can be more efficient. The table shows, for each integration, which features have been implemented with native support.

Model

Invoke

Stream

Batch

AI21

✅

❌

✅

AlephAlpha

✅

❌

✅

AzureOpenAI

✅

✅

✅

CloudflareWorkersAI

✅

✅

✅

Cohere

✅

❌

✅

Fireworks

✅

✅

✅

GooglePaLM

✅

❌

✅

HuggingFaceInference

✅

❌

✅

LlamaCpp

✅

✅

✅

Ollama

✅

✅

✅

OpenAI

✅

✅

✅

OpenAIChat

✅

✅

✅

PromptLayerOpenAI

✅

✅

✅

PromptLayerOpenAIChat

✅

✅

✅

Portkey

✅

✅

✅

Replicate

✅

❌

✅

SageMakerEndpoint

✅

✅

✅

Writer

✅

❌

✅

YandexGPT

✅

❌

✅

* * *

#### Help us out by providing feedback on this documentation page:

[

Previous

Components

](/v0.1/docs/integrations/components/)[

Next

LLMs

](/v0.1/docs/integrations/llms/)

*   [Features (natively supported)](#features-natively-supported)

Community

*   [Discord](https://discord.gg/cU2adEyC7w)
*   [Twitter](https://twitter.com/LangChainAI)

GitHub

*   [Python](https://github.com/langchain-ai/langchain)
*   [JS/TS](https://github.com/langchain-ai/langchainjs)

More

*   [Homepage](https://langchain.com)
*   [Blog](https://blog.langchain.dev)

Copyright © 2024 LangChain, Inc.