!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

*   [Get started](/v0.1/docs/get_started/)
    
    *   [Introduction](/v0.1/docs/get_started/introduction/)
    *   [Installation](/v0.1/docs/get_started/installation/)
    *   [Quickstart](/v0.1/docs/get_started/quickstart/)
*   [LangChain Expression Language](/v0.1/docs/expression_language/)
    
    *   [Get started](/v0.1/docs/expression_language/get_started/)
    *   [Why use LCEL?](/v0.1/docs/expression_language/why/)
    *   [Interface](/v0.1/docs/expression_language/interface/)
    *   [Streaming](/v0.1/docs/expression_language/streaming/)
    *   [How to](/v0.1/docs/expression_language/how_to/routing/)
        
    *   [Cookbook](/v0.1/docs/expression_language/cookbook/)
        
        *   [Prompt + LLM](/v0.1/docs/expression_language/cookbook/prompt_llm_parser/)
        *   [Multiple chains](/v0.1/docs/expression_language/cookbook/multiple_chains/)
        *   [Retrieval augmented generation (RAG)](/v0.1/docs/expression_language/cookbook/retrieval/)
        *   [Querying a SQL DB](/v0.1/docs/expression_language/cookbook/sql_db/)
        *   [Adding memory](/v0.1/docs/expression_language/cookbook/adding_memory/)
        *   [Using tools](/v0.1/docs/expression_language/cookbook/tools/)
        *   [Agents](/v0.1/docs/expression_language/cookbook/agents/)
    *   [LangChain Expression Language (LCEL)](/v0.1/docs/expression_language/)
*   [Modules](/v0.1/docs/modules/)
    
    *   [Model I/O](/v0.1/docs/modules/model_io/)
        
    *   [Retrieval](/v0.1/docs/modules/data_connection/)
        
    *   [Chains](/v0.1/docs/modules/chains/)
    *   [Agents](/v0.1/docs/modules/agents/)
        
    *   [More](/v0.1/docs/modules/memory/)
        
*   [Security](/v0.1/docs/security/)
*   [Guides](/v0.1/docs/guides/)
    
*   [Ecosystem](/v0.1/docs/ecosystem/)
    
*   [LangGraph](/v0.1/docs/langgraph/)
*   * * *
    

*   [](/v0.1/)
*   [LangChain Expression Language](/v0.1/docs/expression_language/)
*   Cookbook

Cookbook
========

Example code for accomplishing common tasks with the LangChain Expression Language (LCEL). These examples show how to compose different Runnable (the core LCEL interface) components to achieve various tasks. If you're just getting acquainted with LCEL, the [Prompt + LLM](/v0.1/docs/expression_language/cookbook/prompt_llm_parser/) page is a good place to start.

Several pages in this section include embedded interactive screencasts from [Scrimba](https://scrimba.com). They're a great resource for getting started - you can edit the included code whenever you want, just as if you were pair programming with a teacher!

[

📄️ Prompt + LLM
----------------

One of the most foundational Expression Language compositions is taking:

](/v0.1/docs/expression_language/cookbook/prompt_llm_parser/)

[

📄️ Multiple chains
-------------------

Runnables can be used to combine multiple Chains together:

](/v0.1/docs/expression_language/cookbook/multiple_chains/)

[

📄️ Retrieval augmented generation (RAG)
----------------------------------------

Let's now look at adding in a retrieval step to a prompt and an LLM, which adds up to a "retrieval-augmented generation" chain:

](/v0.1/docs/expression_language/cookbook/retrieval/)

[

📄️ Querying a SQL DB
---------------------

We can replicate our SQLDatabaseChain with Runnables.

](/v0.1/docs/expression_language/cookbook/sql_db/)

[

📄️ Adding memory
-----------------

This shows how to add memory to an arbitrary chain. Right now, you can use the memory classes but need to hook them up manually.

](/v0.1/docs/expression_language/cookbook/adding_memory/)

[

📄️ Using tools
---------------

Tools are also runnables, and can therefore be used within a chain:

](/v0.1/docs/expression_language/cookbook/tools/)

[

📄️ Agents
----------

You can pass a Runnable into an agent.

](/v0.1/docs/expression_language/cookbook/agents/)

* * *

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

[

Previous

Add message history (memory)

](/v0.1/docs/expression_language/how_to/with_history/)[

Next

Prompt + LLM

](/v0.1/docs/expression_language/cookbook/prompt_llm_parser/)

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.