Skip to main content

[ ![🦜️🔗 Langchain](/img/brand/wordmark.png) ![🦜️🔗
Langchain](/img/brand/wordmark-dark.png) ](/) [ Docs
](/docs/get_started/introduction) [ Use cases ](/docs/use_cases) [
Integrations ](/docs/integrations/platforms/) [ Guides
](/docs/guides/debugging) [ API  ](https://api.python.langchain.com)

More

  * [ People ](/docs/people/)
  * [ Versioning ](/docs/packages)
  * [ Changelog ](/docs/changelog)
  * [ Contributing ](/docs/contributing)
  * [ Templates ](/docs/templates/)
  * [ Cookbooks  ](https://github.com/langchain-ai/langchain/blob/master/cookbook/README.md)
  * [ Tutorials ](/docs/additional_resources/tutorials)
  * [ YouTube ](/docs/additional_resources/youtube)

🦜️🔗

  * [ LangSmith  ](https://smith.langchain.com)
  * [ LangSmith Docs  ](https://docs.smith.langchain.com/)
  * [ LangServe GitHub  ](https://github.com/langchain-ai/langserve)
  * [ Templates GitHub  ](https://github.com/langchain-ai/langchain/tree/master/templates)
  * [ Templates Hub  ](https://templates.langchain.com)
  * [ LangChain Hub  ](https://smith.langchain.com/hub)
  * [ JS/TS Docs  ](https://js.langchain.com)

[ 💬  ](https://chat.langchain.com) [ ](https://github.com/langchain-
ai/langchain)

Search

  * [ Get started ](/docs/get_started)

    * [ Introduction ](/docs/get_started/introduction)
    * [ Installation ](/docs/get_started/installation)
    * [ Quickstart ](/docs/get_started/quickstart)
    * [ Security ](/docs/security)
  * [ LangChain Expression Language ](/docs/expression_language/)

    * [ Get started ](/docs/expression_language/get_started)
    * [ Why use LCEL ](/docs/expression_language/why)
    * [ Interface ](/docs/expression_language/interface)
    * [ Streaming ](/docs/expression_language/streaming)
    * [ How to ](/docs/expression_language/how_to/)

    * [ Cookbook ](/docs/expression_language/cookbook/)

    * [ LangChain Expression Language (LCEL) ](/docs/expression_language/)
  * [ Modules ](/docs/modules/)

    * [ Model I/O ](/docs/modules/model_io/)

    * [ Retrieval ](/docs/modules/data_connection/)

    * [ Agents ](/docs/modules/agents/)

    * [ Chains ](/docs/modules/chains)
    * [ More ](/docs/modules/memory/)

  * [ LangServe ](/docs/langserve)
  * [ LangSmith ](/docs/langsmith/)

  * [ LangGraph ](/docs/langgraph)

  * [ ](/)
  * [ LangChain Expression Language  ](/docs/expression_language/)
  * Get started 

On this page

#  Get started

LCEL makes it easy to build complex chains from basic components, and supports
out of the box functionality such as streaming, parallelism, and logging.

##  Basic example: prompt + model + output parser  ​

The most basic and common use case is chaining a prompt template and a model
together. To see how this works, let’s create a chain that takes a topic and
generates a joke:

    
    
    %pip install --upgrade --quiet  langchain-core langchain-community langchain-openai  
    

  * OpenAI 
  * Anthropic 
  * FireworksAI 
  * MistralAI 
  * Google 
  * TogetherAI 

#####  Install dependencies

    
    
    pip install -qU langchain-openai  
    

#####  Set environment variables

    
    
    import getpass  
    import os  
      
    os.environ["OPENAI_API_KEY"] = getpass.getpass()  
    
    
    
    from langchain_openai import ChatOpenAI  
      
    model = ChatOpenAI(model="gpt-4")  
    

#####  Install dependencies

    
    
    pip install -qU langchain-anthropic  
    

#####  Set environment variables

    
    
    import getpass  
    import os  
      
    os.environ["ANTHROPIC_API_KEY"] = getpass.getpass()  
    
    
    
    from langchain_anthropic import ChatAnthropic  
      
    model = ChatAnthropic(model="claude-3-sonnet-20240229")  
    

#####  Install dependencies

    
    
    pip install -qU langchain-fireworks  
    

#####  Set environment variables

    
    
    import getpass  
    import os  
      
    os.environ["FIREWORKS_API_KEY"] = getpass.getpass()  
    
    
    
    from langchain_fireworks impor