Skip to content

Commit 886f31b

Browse files
committed
add in nav
1 parent 096ebfc commit 886f31b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+3707
-3509
lines changed

src/docs.json

Lines changed: 218 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,230 @@
5252
},
5353
"navigation": {
5454
"dropdowns": [
55+
{
56+
"dropdown": "LangGraph",
57+
"icon": "/images/brand/langgraph-pill.svg",
58+
"description": "LangGraph is a framework for building and deploying AI agents",
59+
"tabs": [
60+
{
61+
"tab": "Get started",
62+
"groups": [
63+
{
64+
"group": "Get started",
65+
"pages": [
66+
"oss/overview",
67+
"oss/quickstart",
68+
"oss/run-an-agent",
69+
"oss/template-applications"
70+
]
71+
},
72+
{
73+
"group": "General concepts",
74+
"pages": [
75+
"oss/workflows-and-agents",
76+
"oss/prebuilt-vs-low-level",
77+
{
78+
"group": "Common agent architectures",
79+
"pages": [
80+
"oss/agentic-architectures",
81+
"oss/agentic-rag",
82+
"oss/agent-supervisor",
83+
"oss/sql-agent"
84+
]
85+
}
86+
]
87+
},
88+
{
89+
"group": "Additional resources",
90+
"pages": [
91+
"oss/case-studies",
92+
"oss/faq",
93+
"oss/langgraph-academy"
94+
]
95+
}
96+
]
97+
},
98+
{
99+
"tab": "Build agents",
100+
"groups": [
101+
{
102+
"group": "Basic configuration",
103+
"pages": [
104+
"oss/prebuilts"
105+
]
106+
},
107+
{
108+
"group": "Low-level configuration",
109+
"pages": [
110+
"oss/why-langgraph",
111+
"oss/1-build-basic-chatbot",
112+
"oss/2-add-tools",
113+
"oss/3-add-memory",
114+
"oss/4-human-in-the-loop",
115+
"oss/5-customize-state",
116+
"oss/6-time-travel"
117+
]
118+
},
119+
{
120+
"group": "Components",
121+
"pages": [
122+
"oss/models",
123+
{
124+
"group": "Tools",
125+
"pages": [
126+
"oss/tools",
127+
"oss/call-tools"
128+
]
129+
},
130+
{
131+
"group": "MCP",
132+
"pages": [
133+
"oss/mcp",
134+
"oss/use-mcp"
135+
]
136+
},
137+
{
138+
"group": "Multi-agent",
139+
"pages": [
140+
"oss/multi-agent",
141+
"oss/multi-agent-prebuilts",
142+
"oss/multi-agent-custom"
143+
]
144+
}
145+
]
146+
}
147+
]
148+
},
149+
{
150+
"tab": "Agent runtime",
151+
"groups": [
152+
{
153+
"group": "Capabilities",
154+
"pages": [
155+
"oss/persistence",
156+
"oss/durable-execution",
157+
{
158+
"group": "Streaming",
159+
"pages": [
160+
"oss/streaming",
161+
"oss/use-streaming"
162+
]
163+
},
164+
{
165+
"group": "Human-in-the-loop",
166+
"pages": [
167+
"oss/human-in-the-loop",
168+
"oss/add-human-in-the-loop"
169+
]
170+
},
171+
{
172+
"group": "Time travel",
173+
"pages": [
174+
"oss/time-travel",
175+
"oss/use-time-travel"
176+
]
177+
},
178+
{
179+
"group": "Memory and context",
180+
"pages": [
181+
"oss/memory",
182+
"oss/context",
183+
"oss/add-memory"
184+
]
185+
},
186+
{
187+
"group": "Subgraphs",
188+
"pages": [
189+
"oss/subgraphs",
190+
"oss/use-subgraphs"
191+
]
192+
}
193+
]
194+
},
195+
{
196+
"group": "Run and debug",
197+
"pages": [
198+
"oss/local-server",
199+
"oss/ui",
200+
"oss/trace-agent",
201+
"oss/enable-tracing",
202+
"oss/evals"
203+
]
204+
},
205+
{
206+
"group": "LangGraph APIs",
207+
"pages": [
208+
{
209+
"group": "Graph API",
210+
"pages": [
211+
"oss/graph-api",
212+
"oss/use-graph-api"
213+
]
214+
},
215+
{
216+
"group": "Functional API",
217+
"pages": [
218+
"oss/functional-api",
219+
"oss/use-functional-api"
220+
]
221+
},
222+
"oss/pregel"
223+
]
224+
}
225+
]
226+
},
227+
{
228+
"tab": "Reference",
229+
"groups": [
230+
{
231+
"group": "LangGraph reference",
232+
"pages": [
233+
"oss/reference/overview",
234+
"oss/reference/graphs",
235+
"oss/reference/functional-api",
236+
"oss/reference/pregel",
237+
"oss/reference/checkpointers",
238+
"oss/reference/storage",
239+
"oss/reference/caching",
240+
"oss/reference/types",
241+
"oss/reference/runtime",
242+
"oss/reference/config",
243+
"oss/reference/errors",
244+
"oss/reference/constants",
245+
"oss/reference/channels"
246+
]
247+
},
248+
{
249+
"group": "Prebuilt reference",
250+
"pages": [
251+
"oss/reference/agents",
252+
"oss/reference/supervisor",
253+
"oss/reference/swarm",
254+
"oss/reference/mcp"
255+
]
256+
},
257+
{
258+
"group": "Error troubleshooting",
259+
"pages": [
260+
"oss/common-errors",
261+
"oss/GRAPH_RECURSION_LIMIT",
262+
"oss/INVALID_CHAT_HISTORY",
263+
"oss/INVALID_CONCURRENT_GRAPH_UPDATE",
264+
"oss/INVALID_GRAPH_NODE_RETURN_VALUE",
265+
"oss/MULTIPLE_SUBGRAPHS"
266+
]
267+
}
268+
]
269+
}
270+
]
271+
},
55272
{
56273
"dropdown": "LangGraph Platform",
57274
"icon": "/images/brand/langgraph-platform-pill.svg",
58275
"description": "Platform for building and deploying AI agents",
59276
"tabs": [
60277
{
61-
"tab": "Get Started",
278+
"tab": "Get started",
62279
"groups": [
63280
{
64281
"group": "Overview",

src/oss/1-build-basic-chatbot.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Build a basic chatbot
2+
title: 1. Build a basic chatbot
33
---
44

55
import ChatModelTabs from '/snippets/chat-model-tabs.mdx';

src/oss/2-add-tools.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Add tools
2+
title: 2. Add tools
33
---
44

55
import chatTabs from '/snippets/chat-model-tabs.mdx';

src/oss/3-add-memory.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Add memory
2+
title: 3. Add memory
33
---
44

55
import chatTabs from '/snippets/chat-model-tabs.mdx';

src/oss/4-human-in-the-loop.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Add human-in-the-loop controls
2+
title: 4. Add human-in-the-loop controls
33
---
44

55
import chatTabs from '/snippets/chat-model-tabs.mdx';

src/oss/5-customize-state.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Customize state
2+
title: 5. Customize state
33
---
44

55
import chatTabs from '/snippets/chat-model-tabs.mdx';

src/oss/6-time-travel.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Time travel
2+
title: 6. Time travel
33
---
44

55
import chatTabs from '/snippets/chat-model-tabs.mdx';

src/oss/add-human-in-the-loop.mdx

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1587,6 +1587,7 @@ To debug and test a graph, use [static interrupts](.././human_in_the_loop#key-ca
15871587
</Tabs>
15881588

15891589
<Accordion title="Setting static breakpoints">
1590+
15901591
```python
15911592
from IPython.display import Image, display
15921593
from typing_extensions import TypedDict
@@ -1659,7 +1660,7 @@ To debug and test a graph, use [static interrupts](.././human_in_the_loop#key-ca
16591660

16601661
You can use [LangGraph Studio](.././langgraph_studio) to debug your graph. You can set static breakpoints in the UI and then run the graph. You can also use the UI to inspect the graph state at any point in the execution.
16611662

1662-
![image](.././img/human_in_the_loop/static-interrupt.png){: style="max-height:400px"}
1663+
![image](.././img/human_in_the_loop/static-interrupt.png)
16631664

16641665
LangGraph Studio is free with [locally deployed applications](.././langgraph-platform/local-server) using `langgraph dev`.
16651666
:::
@@ -1674,6 +1675,7 @@ To debug and test a graph, use [static interrupts](.././human_in_the_loop#key-ca
16741675

16751676
<Tabs>
16761677
<Tab title="Compile time">
1678+
16771679
```python
16781680
# highlight-next-line
16791681
graph = graph_builder.compile( # (1)!
@@ -1703,8 +1705,10 @@ To debug and test a graph, use [static interrupts](.././human_in_the_loop#key-ca
17031705
4. A checkpointer is required to enable breakpoints.
17041706
5. The graph is run until the first breakpoint is hit.
17051707
6. The graph is resumed by passing in `None` for the input. This will run the graph until the next breakpoint is hit.
1708+
17061709
</Tab>
17071710
<Tab title="Run time">
1711+
17081712
```python
17091713
# highlight-next-line
17101714
graph.invoke( # (1)!
@@ -1741,10 +1745,12 @@ To debug and test a graph, use [static interrupts](.././human_in_the_loop#key-ca
17411745
You cannot set static breakpoints at runtime for **sub-graphs**.
17421746
If you have a sub-graph, you must set the breakpoints at compilation time.
17431747
</Note>
1748+
17441749
</Tab>
17451750
</Tabs>
17461751

17471752
<Accordion title="Setting static breakpoints">
1753+
17481754
```python
17491755
from IPython.display import Image, display
17501756
from typing_extensions import TypedDict
@@ -1811,13 +1817,14 @@ To debug and test a graph, use [static interrupts](.././human_in_the_loop#key-ca
18111817
for event in graph.stream(None, thread, stream_mode="values"):
18121818
print(event)
18131819
```
1820+
18141821
</Accordion>
18151822

18161823
### Use static interrupts in LangGraph Studio
18171824

18181825
You can use [LangGraph Studio](/langgraph-platform/langgraph_studio) to debug your graph. You can set static breakpoints in the UI and then run the graph. You can also use the UI to inspect the graph state at any point in the execution.
18191826

1820-
![image](.././img/human_in_the_loop/static-interrupt.png){: style="max-height:400px"}
1827+
![image](.././img/human_in_the_loop/static-interrupt.png)
18211828

18221829
LangGraph Studio is free with [locally deployed applications](/langgraph-platform/local-server) using `langgraph dev`.
18231830

@@ -1831,6 +1838,7 @@ Place code with side effects, such as API calls, after the `interrupt` or in a s
18311838

18321839
<Tabs>
18331840
<Tab title="Side effects after interrupt">
1841+
18341842
:::python
18351843
```python
18361844
from langgraph.types import interrupt
@@ -1857,8 +1865,10 @@ Place code with side effects, such as API calls, after the `interrupt` or in a s
18571865
}
18581866
```
18591867
:::
1868+
18601869
</Tab>
18611870
<Tab title="Side effects in a separate node">
1871+
18621872
:::python
18631873
```python
18641874
from langgraph.types import interrupt
@@ -1896,6 +1906,7 @@ Place code with side effects, such as API calls, after the `interrupt` or in a s
18961906
}
18971907
```
18981908
:::
1909+
18991910
</Tab>
19001911
</Tabs>
19011912

@@ -1927,6 +1938,7 @@ async function nodeInParentGraph(state: z.infer<typeof StateAnnotation>) {
19271938
:::
19281939

19291940
<Accordion title="Extended example: parent and subgraph execution flow">
1941+
19301942
Say we have a parent graph with 3 nodes:
19311943

19321944
**Parent Graph**: `node_1``node_2` (subgraph call) → `node_3`

src/oss/agent-supervisor.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
2-
title: Multi-agent supervisor
2+
title: Build a multi-agent supervisor
3+
sidebarTitle: Multi-agent supervisor
34
---
45
[**Supervisor**](.././multi_agent#supervisor) is a multi-agent architecture where **specialized** agents are coordinated by a central **supervisor agent**. The supervisor agent controls all communication flow and task delegation, making decisions about which agent to invoke based on the current context and task requirements.
56

src/oss/agentic-architectures.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
title: Agent architectures
3+
sidebarTitle: Overview
34
---
45

56
Many LLM applications implement a particular control flow of steps before and / or after LLM calls. As an example, [RAG](https://github.com/langchain-ai/rag-from-scratch) performs retrieval of documents relevant to a user question, and passes those documents to an LLM in order to ground the model's response in the provided document context.

0 commit comments

Comments
 (0)