From 31dd6c65a90db9c7c6f4f5bb89a4c69df869396e Mon Sep 17 00:00:00 2001 From: Eugene Yurtsev Date: Tue, 10 Dec 2024 22:20:55 -0500 Subject: [PATCH] x --- .../human_in_the_loop/time-travel.ipynb | 3 ++- docs/docs/how-tos/index.md | 20 +++++++++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/docs/docs/how-tos/human_in_the_loop/time-travel.ipynb b/docs/docs/how-tos/human_in_the_loop/time-travel.ipynb index 40ff56c86..7e363b12d 100644 --- a/docs/docs/how-tos/human_in_the_loop/time-travel.ipynb +++ b/docs/docs/how-tos/human_in_the_loop/time-travel.ipynb @@ -10,7 +10,8 @@ "!!! tip \"Prerequisites\"\n", "\n", " This guide assumes familiarity with the following concepts:\n", - " \n", + "\n", + " * [Time Travel](../../../concepts/time-travel)\n", " * [Breakpoints](../../../concepts/breakpoints)\n", " * [LangGraph Glossary](../../../concepts/low_level)\n", "\n", diff --git a/docs/docs/how-tos/index.md b/docs/docs/how-tos/index.md index 06e5caf23..b28b7f025 100644 --- a/docs/docs/how-tos/index.md +++ b/docs/docs/how-tos/index.md @@ -48,13 +48,25 @@ 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 edit graph state](human_in_the_loop/edit-graph-state.ipynb) -- [How to wait for user input using `interrupt`](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) + +Key workflows: + +- [How to wait for user input](human_in_the_loop/wait-user-input.ipynb): A basic example that shows how to implement a human-in-the-loop workflow in your graph using the `interrupt` function. +- [How to review tool calls](human_in_the_loop/review-tool-calls.ipynb): Incorporate human-in-the-loop for reviewing/editing/accepting tool call requests before they executed using the `interrupt` function. + + +Other methods: + - [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 edit graph state](human_in_the_loop/edit-graph-state.ipynb): Edit graph state using `graph.update_state` method. Use this if implementing a **human-in-the-loop** workflow via **static breakpoints**. - [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. +### Time Travel + +[Time travel](../concepts/time-travel.md) allows you to replay past actions in your LangGraph application to explore alternative paths and debug issues. These how-to guides show how to use time travel in your graph. + +- [How to view and update past graph state](human_in_the_loop/time-travel.ipynb) + ### Streaming [Streaming](../concepts/streaming.md) is crucial for enhancing the responsiveness of applications built on LLMs. By displaying output progressively, even before a complete response is ready, streaming significantly improves user experience (UX), particularly when dealing with the latency of LLMs.