From 54a5e45d217a7fcffca0fee01236f9a1051bb6a0 Mon Sep 17 00:00:00 2001 From: Eugene Yurtsev Date: Wed, 11 Dec 2024 12:37:54 -0500 Subject: [PATCH 1/4] x --- docs/docs/concepts/human_in_the_loop.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/docs/concepts/human_in_the_loop.md b/docs/docs/concepts/human_in_the_loop.md index 7f7576501..2f246a8da 100644 --- a/docs/docs/concepts/human_in_the_loop.md +++ b/docs/docs/concepts/human_in_the_loop.md @@ -105,7 +105,7 @@ thread_config = {"configurable": {"thread_id": "some_id"}} graph.invoke(Command(resume=True), config=thread_config) ``` -See [how to review tool calls](../../how-tos/human_in_the_loop/review-tool-calls) for a more detailed example. +See [how to review tool calls](../how-tos/human_in_the_loop/review-tool-calls) for a more detailed example. ### Review & Edit State @@ -150,7 +150,7 @@ graph.invoke( ) ``` -See [How to wait for user input using interrupt](../../how-tos/human_in_the_loop/wait-user-input) for a more detailed example. +See [How to wait for user input using interrupt](../how-tos/human_in_the_loop/wait-user-input) for a more detailed example. ### Review Tool Calls @@ -193,7 +193,7 @@ def human_review_node(state) -> Command[Literal["call_llm", "run_tool"]]: return Command(goto="call_llm", update={"messages": [feedback_msg]}) ``` -See [how to review tool calls](../../how-tos/human_in_the_loop/review-tool-calls) for a more detailed example. +See [how to review tool calls](../how-tos/human_in_the_loop/review-tool-calls) for a more detailed example. ### Multi-turn conversation From 11ce54d7e4c97190b8131df7da8584b787578dd5 Mon Sep 17 00:00:00 2001 From: Eugene Yurtsev Date: Wed, 11 Dec 2024 12:39:53 -0500 Subject: [PATCH 2/4] x --- docs/docs/concepts/human_in_the_loop.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/docs/concepts/human_in_the_loop.md b/docs/docs/concepts/human_in_the_loop.md index 2f246a8da..8a5a77453 100644 --- a/docs/docs/concepts/human_in_the_loop.md +++ b/docs/docs/concepts/human_in_the_loop.md @@ -2,7 +2,7 @@ !!! tip "This guide uses the new `interrupt` function." - As of LangGraph 0.2.57, the recommended way to set breakpoints is using the [interrupt](../reference/types.md#langgraph.types.interrupt) function as it significantly simplifies **human-in-the-loop** patterns. Please see the [Breakpoints](breakpoints.md) guide for more information. + As of LangGraph 0.2.57, the recommended way to set breakpoints is using the [`interrupt` function][langgraph.types.interrupt] as it simplifies **human-in-the-loop** patterns. Please see the [Breakpoints](breakpoints.md) guide for more information. If you're looking for the previous version of this conceptual guide, which relied on static breakpoints and `NodeInterrupt` exception, it is available [here](v0-human-in-the-loop.md). @@ -105,7 +105,7 @@ thread_config = {"configurable": {"thread_id": "some_id"}} graph.invoke(Command(resume=True), config=thread_config) ``` -See [how to review tool calls](../how-tos/human_in_the_loop/review-tool-calls) for a more detailed example. +See [how to review tool calls](../../how-tos/human_in_the_loop/review-tool-calls.ipynb) for a more detailed example. ### Review & Edit State @@ -150,7 +150,7 @@ graph.invoke( ) ``` -See [How to wait for user input using interrupt](../how-tos/human_in_the_loop/wait-user-input) for a more detailed example. +See [How to wait for user input using interrupt](../../how-tos/human_in_the_loop/wait-user-input) for a more detailed example. ### Review Tool Calls @@ -193,7 +193,7 @@ def human_review_node(state) -> Command[Literal["call_llm", "run_tool"]]: return Command(goto="call_llm", update={"messages": [feedback_msg]}) ``` -See [how to review tool calls](../how-tos/human_in_the_loop/review-tool-calls) for a more detailed example. +See [how to review tool calls](../../how-tos/human_in_the_loop/review-tool-calls) for a more detailed example. ### Multi-turn conversation From 3db266bb93c879415d8df007bd304db5a3c3c253 Mon Sep 17 00:00:00 2001 From: Eugene Yurtsev Date: Wed, 11 Dec 2024 12:41:03 -0500 Subject: [PATCH 3/4] x --- docs/docs/concepts/human_in_the_loop.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/docs/docs/concepts/human_in_the_loop.md b/docs/docs/concepts/human_in_the_loop.md index 8a5a77453..15413b3c8 100644 --- a/docs/docs/concepts/human_in_the_loop.md +++ b/docs/docs/concepts/human_in_the_loop.md @@ -105,8 +105,6 @@ thread_config = {"configurable": {"thread_id": "some_id"}} graph.invoke(Command(resume=True), config=thread_config) ``` -See [how to review tool calls](../../how-tos/human_in_the_loop/review-tool-calls.ipynb) for a more detailed example. - ### Review & Edit State
@@ -150,8 +148,6 @@ graph.invoke( ) ``` -See [How to wait for user input using interrupt](../../how-tos/human_in_the_loop/wait-user-input) for a more detailed example. - ### Review Tool Calls
@@ -193,8 +189,6 @@ def human_review_node(state) -> Command[Literal["call_llm", "run_tool"]]: return Command(goto="call_llm", update={"messages": [feedback_msg]}) ``` -See [how to review tool calls](../../how-tos/human_in_the_loop/review-tool-calls) for a more detailed example. - ### Multi-turn conversation
@@ -273,8 +267,6 @@ it may be part of a larger graph consisting of multiple nodes and include a cond ) ``` -See [how to implement multi-turn conversations](../how-tos/multi-agent-multi-turn-convo.ipynb) for a more detailed example. - ### Validating human input If you need to validate the input provided by the human within the graph itself (rather than on the client side), you can achieve this by using multiple interrupt calls within a single node. From 32702dea0871555ff5f884715e2461c04a29c141 Mon Sep 17 00:00:00 2001 From: Eugene Yurtsev Date: Wed, 11 Dec 2024 12:42:54 -0500 Subject: [PATCH 4/4] x --- docs/docs/concepts/human_in_the_loop.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/docs/concepts/human_in_the_loop.md b/docs/docs/concepts/human_in_the_loop.md index 15413b3c8..2d5ffd7f9 100644 --- a/docs/docs/concepts/human_in_the_loop.md +++ b/docs/docs/concepts/human_in_the_loop.md @@ -105,6 +105,8 @@ thread_config = {"configurable": {"thread_id": "some_id"}} graph.invoke(Command(resume=True), config=thread_config) ``` +See [how to review tool calls](../how-tos/human_in_the_loop/review-tool-calls.ipynb) for a more detailed example. + ### Review & Edit State
@@ -148,6 +150,8 @@ graph.invoke( ) ``` +See [How to wait for user input using interrupt](../how-tos/human_in_the_loop/wait-user-input.ipynb) for a more detailed example. + ### Review Tool Calls
@@ -189,6 +193,8 @@ def human_review_node(state) -> Command[Literal["call_llm", "run_tool"]]: return Command(goto="call_llm", update={"messages": [feedback_msg]}) ``` +See [how to review tool calls](../how-tos/human_in_the_loop/review-tool-calls.ipynb) for a more detailed example. + ### Multi-turn conversation
@@ -267,6 +273,8 @@ it may be part of a larger graph consisting of multiple nodes and include a cond ) ``` +See [how to implement multi-turn conversations](../how-tos/multi-agent-multi-turn-convo.ipynb) for a more detailed example. + ### Validating human input If you need to validate the input provided by the human within the graph itself (rather than on the client side), you can achieve this by using multiple interrupt calls within a single node.