---
title: "LangChain Academy"
source: Panaversity Learn Agentic AI
source_url: https://github.com/panaversity/learn-agentic-ai
licence: Apache-2.0
domain: agentic-ai
subdomain: panaversity-agentic
date_added: 2026-04-25
---

# LangChain Academy 

## The LangChain Academy Course to Learn from

https://academy.langchain.com/courses/intro-to-langgraph

The LangGraph learning notebooks are in course-notebooks directory. We are using Google Models for learning langgraph.

## Introduction

Welcome to LangChain Academy! This is a growing set of modules focused on foundational concepts within the LangChain ecosystem. Module 0 is basic setup and Modules 1 - 4 focus on LangGraph, progressively adding more advanced themes. In each module folder, you'll see a set of notebooks. A video accompanies each notebook to guide you through the topic. Each module also has a `studio` subdirectory, with a set of relevant graphs that we will explore using the LangGraph API and Studio.

## Lab - Notebooks

|Module|Lesson|Exercises|
|--|--|--|
|module-0|[basics.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-0/basics.ipynb)||
|module-1|[00_edges_nodes_graph.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-1/00_edges_nodes_graph.ipynb)||
|module-1|[01_conditional_edge.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-1/01_conditional_edge.ipynb)||
|module-1|[2.1_tools_messages.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-1/2.1_tools_messages.ipynb)||
|module-1|[2.2_chains_reducers.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-1/2.2_chains_reducers.ipynb)||
|module-1|[3_router.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-1/3_router.ipynb)||
|module-1|[4_agent.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-1/4_agent.ipynb)||
|module-1|[5_agent_memory.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-1/5_agent_memory.ipynb)||
|module-1|[6_deployment.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-1/6_deployment.ipynb)||
|module-2|[1_state_schema.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-2/1_state_schema.ipynb)||
|module-2|[2_state_reducers.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-2/2_state_reducers.ipynb)||
|module-2|[3_multiple_schemas.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-2/3_multiple_schemas.ipynb)||
|module-2|[4_trim_filter_messages.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-2/4_trim_filter_messages.ipynb)||
|module-2|[5_chatbot_summarization.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-2/5_chatbot_summarization.ipynb)||
|module-2|[6.0_chatbot_external_memory_with_sqlite.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-2/6.0_chatbot_external_memory_with_sqlite.ipynb)||
|module-2|[6.1_chatbot_external_memory_with_our_db_file.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-2/6.1_chatbot_external_memory_with_our_db_file.ipynb)||
|module-2|[6.2_chatbot_external_memory_with_postgres.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-2/6.2_chatbot_external_memory_with_postgres.ipynb)||
|module-3|[1_streaming_interruption.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-3/1_streaming_interruption.ipynb)||
|module-3|[2_breakpoints.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-3/2_breakpoints.ipynb)||
|module-3|[3_edit_state_human_feedback.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-3/3_edit_state_human_feedback.ipynb)||
|module-3|[4_dynamic_breakpoints.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-3/4_dynamic_breakpoints.ipynb)||
|module-3|[5_time_travel.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-3/5_time_travel.ipynb)||
|module-4|[1_parallelization.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-4/1_parallelization.ipynb)||
|module-4|[2_sub_graph.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-4/2_sub_graph.ipynb)||
|module-4|[3_map_reduce.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-4/3_map_reduce.ipynb)||
|module-4|[4_llama_research_assistant.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-4/4_llama_research_assistant.ipynb)||
|module-4|[4_openai_research_assistant.ipynb](https://github.com/panaversity/learn-agentic-ai/blob/main/12_langchain_ecosystem/langgraph/course-notebooks/module-4/4_openai_research_assistant.ipynb)||


## Setup

### Clone repo
```
git clone https://github.com/langchain-ai/langchain-academy.git
$ cd langchain-academy
```

### Create an environment and install dependencies  
```
$ python3 -m venv lc-academy-env
$ source lc-academy-env/bin/activate
$ pip install -r requirements.txt
```

### Running notebooks
Notebooks for each module are in the `module-` folders.
```
$ jupyter notebook
```

### Set OpenAI API key
* If you don't have an OpenAI API key, you can sign up [here](https://openai.com/index/openai-api/).
*  Set `OPENAI_API_KEY` in your environment 

### Sign up for LangSmith

* Sign up [here](https://docs.smith.langchain.com/) 
*  Set `LANGCHAIN_API_KEY`, `LANGCHAIN_TRACING_V2=true` in your environment 

### Tavily for web search

Tavily Search API is a search engine optimized for LLMs and RAG, aimed at efficient, quick, and persistent search results. You can sign up for an API key [here](https://tavily.com/). It's easy to sign up and offers a generous free tier. Some lessons (in Module 4) will use Tavily. Set `TAVILY_API_KEY` in your environment.

### Set up LangGraph Studio

* Currently Studio only has macOS support
* Download the latest `.dmg` file [here](https://github.com/langchain-ai/langgraph-studio?tab=readme-ov-file#download)
* Install Docker desktop for Mac [here](https://docs.docker.com/engine/install/)

### Running Studio
Graphs for studio are in the `module-x/studio/` folders.

* To use Studio, you will need to create a .env file with the relevant API keys
* Run this from the command line to create these files for module 1 to 4, as an example:
```
$ for i in {1..4}; do
  cp module-$i/studio/.env.example module-$i/studio/.env
  echo "OPENAI_API_KEY=\"$OPENAI_API_KEY\"" > module-$i/studio/.env
done
echo "TAVILY_API_KEY=\"$TAVILY_API_KEY\"" >> module-4/studio/.env

```
