From 81436ceef88a9e3d2458dd596cfbd475ffdcca64 Mon Sep 17 00:00:00 2001 From: Eugene Yurtsev Date: Tue, 10 Dec 2024 17:22:22 -0500 Subject: [PATCH 1/5] x --- docs/docs/how-tos/human_in_the_loop/interrupt.ipynb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/docs/how-tos/human_in_the_loop/interrupt.ipynb b/docs/docs/how-tos/human_in_the_loop/interrupt.ipynb index 92c94e4a6..a4877deaf 100644 --- a/docs/docs/how-tos/human_in_the_loop/interrupt.ipynb +++ b/docs/docs/how-tos/human_in_the_loop/interrupt.ipynb @@ -11,17 +11,18 @@ "tags": [] }, "source": [ - "# How to use add breakpoints using interrupt?\n", + "# How to use interrupt for human-in-the-loop?\n", "\n", "!!! tip \"Prerequisits\"\n", "\n", " This guide assumes familiarity with the following concepts:\n", "\n", " * [Breakpoints](../../../concepts/breakpoints)\n", - " * [LangGraph Glossary](../../../concepts/low_level)\n", + " * [Interrupt](../../../concepts/low_level#interrupt)\n", + " * [Command](../../../concepts/low_level#command)\n", " \n", "\n", - "An `interrupt` is a convenient way to support human-in-the-loop workflows.\n", + "An [interrupt]( is a convenient way to support human-in-the-loop workflows.\n", "\n", "To use an `interrupt`, you must enable a checkpointer, as the feature relies on persisting the graph state.\n", "\n", From baa88f3c97b8fbb4bbc2cb2aacd9c728426730f3 Mon Sep 17 00:00:00 2001 From: Eugene Yurtsev Date: Tue, 10 Dec 2024 17:56:48 -0500 Subject: [PATCH 2/5] x --- docs/docs/how-tos/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/how-tos/index.md b/docs/docs/how-tos/index.md index 0f01fb73b..d2900ed9d 100644 --- a/docs/docs/how-tos/index.md +++ b/docs/docs/how-tos/index.md @@ -48,8 +48,8 @@ LangGraph makes it easy to manage conversation [memory](../concepts/memory.md) i [Human-in-the-loop](../concepts/human_in_the_loop.md) functionality allows you to involve humans in the decision-making process of your graph. These how-to guides show how to implement human-in-the-loop workflows in your graph. -- [How to add breakpoints](human_in_the_loop/breakpoints.ipynb) -- [How to add dynamic breakpoints](human_in_the_loop/dynamic_breakpoints.ipynb) +- [How to add static breakpoints](human_in_the_loop/breakpoints.ipynb): Use for graph execution step by step. For **human-in-the-loop** workflows, use the new [`interrupt` function](../concepts/human_in_the_loop.md) instead. +- [How to add dynamic breakpoints with `NodeInterrupt` (not recommended)](human_in_the_loop/dynamic_breakpoints.ipynb): This guide shows how to add dynamic breakpoints to your graph using `NodeInterrupt`. Use the new [`interrupt` function](../concepts/human_in_the_loop.md) instead. - [How to edit graph state](human_in_the_loop/edit-graph-state.ipynb) - [How to wait for user input](human_in_the_loop/wait-user-input.ipynb) - [How to view and update past graph state](human_in_the_loop/time-travel.ipynb) From 3a611fb20dffea47552ccf88f74fd6a1868e64bd Mon Sep 17 00:00:00 2001 From: Eugene Yurtsev Date: Tue, 10 Dec 2024 18:09:07 -0500 Subject: [PATCH 3/5] update dynamic breakpoints --- .../docs/how-tos/human_in_the_loop/dynamic_breakpoints.ipynb | 5 ++--- docs/docs/how-tos/index.md | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/docs/how-tos/human_in_the_loop/dynamic_breakpoints.ipynb b/docs/docs/how-tos/human_in_the_loop/dynamic_breakpoints.ipynb index 6f0704017..28a974ba0 100644 --- a/docs/docs/how-tos/human_in_the_loop/dynamic_breakpoints.ipynb +++ b/docs/docs/how-tos/human_in_the_loop/dynamic_breakpoints.ipynb @@ -10,7 +10,7 @@ "\n", "!!! note\n", "\n", - " Current recommended way to add dynamic breakpoints is using [`interrupt()`][langgraph.types.interrupt] API. See this [how-to guide](../interrupt) to learn more.\n", + " For **human-in-the-loop** workflows use the new [`interrupt()`](../../../reference/types/#langgraph.types.interrupt) function for **human-in-the-loop** workflows. Please review the [Human-in-the-loop conceptual guide](../../../concepts/human_in_the_loop) for more information about design patterns with `interrupt`.\n", "\n", "!!! tip \"Prerequisits\"\n", "\n", @@ -18,7 +18,6 @@ "\n", " * [Breakpoints](../../../concepts/breakpoints)\n", " * [LangGraph Glossary](../../../concepts/low_level)\n", - " \n", "\n", "Human-in-the-loop (HIL) interactions are crucial for [agentic systems](https://langchain-ai.github.io/langgraph/concepts/agentic_concepts/#human-in-the-loop). [Breakpoints](https://langchain-ai.github.io/langgraph/concepts/low_level/#breakpoints) are a common HIL interaction pattern, allowing the graph to stop at specific steps and seek human approval before proceeding (e.g., for sensitive actions).\n", "\n", @@ -438,7 +437,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.3" + "version": "3.11.4" } }, "nbformat": 4, diff --git a/docs/docs/how-tos/index.md b/docs/docs/how-tos/index.md index d2900ed9d..507962772 100644 --- a/docs/docs/how-tos/index.md +++ b/docs/docs/how-tos/index.md @@ -48,12 +48,12 @@ LangGraph makes it easy to manage conversation [memory](../concepts/memory.md) i [Human-in-the-loop](../concepts/human_in_the_loop.md) functionality allows you to involve humans in the decision-making process of your graph. These how-to guides show how to implement human-in-the-loop workflows in your graph. -- [How to add static breakpoints](human_in_the_loop/breakpoints.ipynb): Use for graph execution step by step. For **human-in-the-loop** workflows, use the new [`interrupt` function](../concepts/human_in_the_loop.md) instead. -- [How to add dynamic breakpoints with `NodeInterrupt` (not recommended)](human_in_the_loop/dynamic_breakpoints.ipynb): This guide shows how to add dynamic breakpoints to your graph using `NodeInterrupt`. Use the new [`interrupt` function](../concepts/human_in_the_loop.md) instead. - [How to edit graph state](human_in_the_loop/edit-graph-state.ipynb) - [How to wait for user input](human_in_the_loop/wait-user-input.ipynb) - [How to view and update past graph state](human_in_the_loop/time-travel.ipynb) - [How to review tool calls](human_in_the_loop/review-tool-calls.ipynb) +- [How to add static breakpoints](human_in_the_loop/breakpoints.ipynb): Use for debugging purposes. For [**human-in-the-loop**](../concepts/human_in_the_loop.md) workflows, we recommend the [`interrupt()`](../../../reference/types/#langgraph.types.interrupt) function instead. +- [How to add dynamic breakpoints with `NodeInterrupt`](human_in_the_loop/dynamic_breakpoints.ipynb): **Not recommended**: Use the [`interrupt` function](../concepts/human_in_the_loop.md) instead. ### Streaming From 47dcb2d105275fa944ddd1e7b4056a5b30a1f0c8 Mon Sep 17 00:00:00 2001 From: Eugene Yurtsev Date: Tue, 10 Dec 2024 18:10:14 -0500 Subject: [PATCH 4/5] x --- docs/docs/how-tos/human_in_the_loop/interrupt.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/how-tos/human_in_the_loop/interrupt.ipynb b/docs/docs/how-tos/human_in_the_loop/interrupt.ipynb index a4877deaf..51cb2a165 100644 --- a/docs/docs/how-tos/human_in_the_loop/interrupt.ipynb +++ b/docs/docs/how-tos/human_in_the_loop/interrupt.ipynb @@ -22,7 +22,7 @@ " * [Command](../../../concepts/low_level#command)\n", " \n", "\n", - "An [interrupt]( is a convenient way to support human-in-the-loop workflows.\n", + "An `interrupt` is a convenient way to support human-in-the-loop workflows.\n", "\n", "To use an `interrupt`, you must enable a checkpointer, as the feature relies on persisting the graph state.\n", "\n", From 686ee31b751c7c0aefcfa07af5904cf745e6f9c3 Mon Sep 17 00:00:00 2001 From: Eugene Yurtsev Date: Tue, 10 Dec 2024 18:10:55 -0500 Subject: [PATCH 5/5] x --- docs/docs/how-tos/human_in_the_loop/interrupt.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/how-tos/human_in_the_loop/interrupt.ipynb b/docs/docs/how-tos/human_in_the_loop/interrupt.ipynb index 51cb2a165..805f01b65 100644 --- a/docs/docs/how-tos/human_in_the_loop/interrupt.ipynb +++ b/docs/docs/how-tos/human_in_the_loop/interrupt.ipynb @@ -13,7 +13,7 @@ "source": [ "# How to use interrupt for human-in-the-loop?\n", "\n", - "!!! tip \"Prerequisits\"\n", + "!!! tip \"Prerequisites\"\n", "\n", " This guide assumes familiarity with the following concepts:\n", "\n",