# dooml/langchain-langgraph-tutorial architecture

> Architecture diagram of the GitHub repository dooml/langchain-langgraph-tutorial, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/dooml/langchain-langgraph-tutorial
- Repository: https://github.com/dooml/langchain-langgraph-tutorial

## Overview

This repository is an educational tutorial series, not a shared application: learners choose and run self-contained notebooks to explore LangChain and LangGraph patterns. The main path runs from foundational model and document examples through agents and graph workflows to advanced state, orchestration, and interoperability techniques. Notebook contents were not sampled, so relationships between individual examples are omitted; the README documents Groq as the model provider throughout and identifies the tutorial capabilities represented below.

Main entry points: [`Tutorial01/Tutorial_1_Introduction_to_LangChain.ipynb`](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial01/Tutorial_1_Introduction_to_LangChain.ipynb) (Chains and prompts), [`Tutorial02/Tutorial_2_Working_with_Language_Models.ipynb`](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial02/Tutorial_2_Working_with_Language_Models.ipynb) (Models and parsers), [`Tutorial03/Tutorial_3_Document_Processing.ipynb`](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial03/Tutorial_3_Document_Processing.ipynb) (Documents and CRAG), [`Tutorial04/Tutorial_4_Agents_in_LangChain.ipynb`](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial04/Tutorial_4_Agents_in_LangChain.ipynb) (Tool-using agents)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_foundations["LangChain foundations"]
  node_t01["Chains and prompts"]
  node_t02["Models and parsers"]
  node_t03["Documents and CRAG"]
  node_t04["Tool-using agents"]
  node_t05["Research agents"]
  node_t06["Memory systems"]
end

subgraph group_graphs["Graph applications"]
  node_t07["Graph fundamentals"]
  node_t08["Conditional graph flows"]
  node_t09["LangChain in graphs"]
  node_t10["Application patterns"]
  node_t11["Structured outputs"]
  node_t12["Advanced chains"]
  node_t13["Async and deployment"]
end

subgraph group_orchestration["Agent orchestration"]
  node_t14["Human approval"]
  node_t15["Supervisor agents"]
  node_t16["Swarm agents"]
  node_t17["Nested subgraphs"]
  node_t18["Map and reduce"]
end

subgraph group_state["State and control"]
  node_t19["Persistent memory"]
  node_t20["Graph time travel"]
  node_t21["Functional API"]
end

subgraph group_advanced["Advanced integrations"]
  node_t22["Deep agents"]
  node_t23["Framework utilities"]
  node_t24["Agent middleware"]
  node_t25["MCP and A2A"]
end

node_learner(("Learner"))
node_groq{{"Groq models"}}

node_learner -->|"opens and runs"| node_t01
node_learner -->|"opens and runs"| node_t02
node_learner -->|"opens and runs"| node_t03
node_learner -->|"opens and runs"| node_t04
node_learner -->|"opens and runs"| node_t05
node_learner -->|"opens and runs"| node_t06
node_learner -->|"opens and runs"| node_t07
node_learner -->|"opens and runs"| node_t08
node_learner -->|"opens and runs"| node_t09
node_learner -->|"opens and runs"| node_t10
node_learner -->|"opens and runs"| node_t11
node_learner -->|"opens and runs"| node_t12
node_learner -->|"opens and runs"| node_t13
node_learner -->|"opens and runs"| node_t14
node_learner -->|"opens and runs"| node_t15
node_learner -->|"opens and runs"| node_t16
node_learner -->|"opens and runs"| node_t17
node_learner -->|"opens and runs"| node_t18
node_learner -->|"opens and runs"| node_t19
node_learner -->|"opens and runs"| node_t20
node_learner -->|"opens and runs"| node_t21
node_learner -->|"opens and runs"| node_t22
node_learner -->|"opens and runs"| node_t23
node_learner -->|"opens and runs"| node_t24
node_learner -->|"opens and runs"| node_t25
node_t01 -->|"requests inference"| node_groq
node_t02 -->|"requests inference"| node_groq
node_t03 -->|"requests inference"| node_groq
node_t04 -->|"requests inference"| node_groq
node_t05 -->|"requests inference"| node_groq
node_t06 -->|"requests inference"| node_groq
node_t07 -->|"requests inference"| node_groq
node_t08 -->|"requests inference"| node_groq
node_t09 -->|"requests inference"| node_groq
node_t10 -->|"requests inference"| node_groq
node_t11 -->|"requests inference"| node_groq
node_t12 -->|"requests inference"| node_groq
node_t13 -->|"requests inference"| node_groq
node_t15 -->|"requests inference"| node_groq
node_t16 -->|"requests inference"| node_groq
node_t17 -->|"requests inference"| node_groq
node_t18 -->|"requests inference"| node_groq
node_t19 -->|"requests inference"| node_groq
node_t20 -->|"requests inference"| node_groq
node_t21 -->|"requests inference"| node_groq
node_t22 -->|"requests inference"| node_groq
node_t23 -->|"requests inference"| node_groq
node_t24 -->|"requests inference"| node_groq

click node_t01 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial01/Tutorial_1_Introduction_to_LangChain.ipynb"
click node_t02 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial02/Tutorial_2_Working_with_Language_Models.ipynb"
click node_t03 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial03/Tutorial_3_Document_Processing.ipynb"
click node_t04 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial04/Tutorial_4_Agents_in_LangChain.ipynb"
click node_t05 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial05/Tutorial_5_Advanced_Agent_Techniques.ipynb"
click node_t06 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial06/Tutorial_6_Memory_Systems_in_LangChain.ipynb"
click node_t07 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial07/Tutorial_7_introduction_to_langgraph.ipynb"
click node_t08 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial08/Tutorial_8_complex_flows_langgraph.ipynb"
click node_t09 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial09/Tutorial_9_combining_langchain_langgraph.ipynb"
click node_t10 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial10/Tutorial_10_real_world_applications.ipynb"
click node_t11 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial11/Tutorial_11_structured_data.ipynb"
click node_t12 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial12/Tutorial_12_advanced_langchain_techniques.ipynb"
click node_t13 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial13/Tutorial_13_best_practices_and_advanced_topics.ipynb"
click node_t14 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial14/Tutorial_14_human_in_the_loop.ipynb"
click node_t15 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial15/Tutorial_15_supervisor_agent.ipynb"
click node_t16 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial16/Tutorial_16_swarm_agents.ipynb"
click node_t17 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial17/Tutorial_17_subgraphs.ipynb"
click node_t18 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial18/Tutorial_18_parallelization_map_reduce.ipynb"
click node_t19 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial19/Tutorial_19_long_term_memory.ipynb"
click node_t20 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial20/Tutorial_20_time_travel.ipynb"
click node_t21 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial21/Tutorial_21_functional_api.ipynb"
click node_t22 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial22/Tutorial_22_deep_agents.ipynb"
click node_t23 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial23/Tutorial_23_langchain_utilities.ipynb"
click node_t24 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial24/Tutorial_24_agent_middleware.ipynb"
click node_t25 "https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial25/Tutorial_25_mcp_a2a_protocol.ipynb"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_t01,node_t02,node_t03,node_t04,node_t05,node_t06 toneBlue
class node_t07,node_t08,node_t09,node_t10,node_t11,node_t12,node_t13 toneAmber
class node_t14,node_t15,node_t16,node_t17,node_t18 toneMint
class node_t19,node_t20,node_t21 toneRose
class node_t22,node_t23,node_t24,node_t25,node_learner,node_groq toneIndigo
```

## Components

### LangChain foundations

- [Chains and prompts](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial01/Tutorial_1_Introduction_to_LangChain.ipynb): `Tutorial01/Tutorial_1_Introduction_to_LangChain.ipynb`
- [Models and parsers](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial02/Tutorial_2_Working_with_Language_Models.ipynb): `Tutorial02/Tutorial_2_Working_with_Language_Models.ipynb`
- [Documents and CRAG](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial03/Tutorial_3_Document_Processing.ipynb): `Tutorial03/Tutorial_3_Document_Processing.ipynb`
- [Tool-using agents](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial04/Tutorial_4_Agents_in_LangChain.ipynb): `Tutorial04/Tutorial_4_Agents_in_LangChain.ipynb`
- [Research agents](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial05/Tutorial_5_Advanced_Agent_Techniques.ipynb): `Tutorial05/Tutorial_5_Advanced_Agent_Techniques.ipynb`
- [Memory systems](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial06/Tutorial_6_Memory_Systems_in_LangChain.ipynb): `Tutorial06/Tutorial_6_Memory_Systems_in_LangChain.ipynb`

### Graph applications

- [Graph fundamentals](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial07/Tutorial_7_introduction_to_langgraph.ipynb): `Tutorial07/Tutorial_7_introduction_to_langgraph.ipynb`
- [Conditional graph flows](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial08/Tutorial_8_complex_flows_langgraph.ipynb): `Tutorial08/Tutorial_8_complex_flows_langgraph.ipynb`
- [LangChain in graphs](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial09/Tutorial_9_combining_langchain_langgraph.ipynb): `Tutorial09/Tutorial_9_combining_langchain_langgraph.ipynb`
- [Application patterns](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial10/Tutorial_10_real_world_applications.ipynb): `Tutorial10/Tutorial_10_real_world_applications.ipynb`
- [Structured outputs](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial11/Tutorial_11_structured_data.ipynb): `Tutorial11/Tutorial_11_structured_data.ipynb`
- [Advanced chains](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial12/Tutorial_12_advanced_langchain_techniques.ipynb): `Tutorial12/Tutorial_12_advanced_langchain_techniques.ipynb`
- [Async and deployment](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial13/Tutorial_13_best_practices_and_advanced_topics.ipynb): `Tutorial13/Tutorial_13_best_practices_and_advanced_topics.ipynb`

### Agent orchestration

- [Human approval](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial14/Tutorial_14_human_in_the_loop.ipynb): `Tutorial14/Tutorial_14_human_in_the_loop.ipynb`
- [Supervisor agents](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial15/Tutorial_15_supervisor_agent.ipynb): `Tutorial15/Tutorial_15_supervisor_agent.ipynb`
- [Swarm agents](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial16/Tutorial_16_swarm_agents.ipynb): `Tutorial16/Tutorial_16_swarm_agents.ipynb`
- [Nested subgraphs](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial17/Tutorial_17_subgraphs.ipynb): `Tutorial17/Tutorial_17_subgraphs.ipynb`
- [Map and reduce](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial18/Tutorial_18_parallelization_map_reduce.ipynb): `Tutorial18/Tutorial_18_parallelization_map_reduce.ipynb`

### State and control

- [Persistent memory](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial19/Tutorial_19_long_term_memory.ipynb): `Tutorial19/Tutorial_19_long_term_memory.ipynb`
- [Graph time travel](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial20/Tutorial_20_time_travel.ipynb): `Tutorial20/Tutorial_20_time_travel.ipynb`
- [Functional API](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial21/Tutorial_21_functional_api.ipynb): `Tutorial21/Tutorial_21_functional_api.ipynb`

### Advanced integrations

- [Deep agents](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial22/Tutorial_22_deep_agents.ipynb): `Tutorial22/Tutorial_22_deep_agents.ipynb`
- [Framework utilities](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial23/Tutorial_23_langchain_utilities.ipynb): `Tutorial23/Tutorial_23_langchain_utilities.ipynb`
- [Agent middleware](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial24/Tutorial_24_agent_middleware.ipynb): `Tutorial24/Tutorial_24_agent_middleware.ipynb`
- [MCP and A2A](https://github.com/dooml/langchain-langgraph-tutorial/blob/main/Tutorial25/Tutorial_25_mcp_a2a_protocol.ipynb): `Tutorial25/Tutorial_25_mcp_a2a_protocol.ipynb`

### Other components

- **Learner**
- **Groq models**

## Connections

- Learner → Chains and prompts: opens and runs
- Learner → Models and parsers: opens and runs
- Learner → Documents and CRAG: opens and runs
- Learner → Tool-using agents: opens and runs
- Learner → Research agents: opens and runs
- Learner → Memory systems: opens and runs
- Learner → Graph fundamentals: opens and runs
- Learner → Conditional graph flows: opens and runs
- Learner → LangChain in graphs: opens and runs
- Learner → Application patterns: opens and runs
- Learner → Structured outputs: opens and runs
- Learner → Advanced chains: opens and runs
- Learner → Async and deployment: opens and runs
- Learner → Human approval: opens and runs
- Learner → Supervisor agents: opens and runs
- Learner → Swarm agents: opens and runs
- Learner → Nested subgraphs: opens and runs
- Learner → Map and reduce: opens and runs
- Learner → Persistent memory: opens and runs
- Learner → Graph time travel: opens and runs
- Learner → Functional API: opens and runs
- Learner → Deep agents: opens and runs
- Learner → Framework utilities: opens and runs
- Learner → Agent middleware: opens and runs
- Learner → MCP and A2A: opens and runs
- Chains and prompts → Groq models: requests inference
- Models and parsers → Groq models: requests inference
- Documents and CRAG → Groq models: requests inference
- Tool-using agents → Groq models: requests inference
- Research agents → Groq models: requests inference
- Memory systems → Groq models: requests inference
- Graph fundamentals → Groq models: requests inference
- Conditional graph flows → Groq models: requests inference
- LangChain in graphs → Groq models: requests inference
- Application patterns → Groq models: requests inference
- Structured outputs → Groq models: requests inference
- Advanced chains → Groq models: requests inference
- Async and deployment → Groq models: requests inference
- Supervisor agents → Groq models: requests inference
- Swarm agents → Groq models: requests inference
- Nested subgraphs → Groq models: requests inference
- Map and reduce → Groq models: requests inference
- Persistent memory → Groq models: requests inference
- Graph time travel → Groq models: requests inference
- Functional API → Groq models: requests inference
- Deep agents → Groq models: requests inference
- Framework utilities → Groq models: requests inference
- Agent middleware → Groq models: requests inference
