From 30221da4a816b877915d8fea6ea217f5b3af88b9 Mon Sep 17 00:00:00 2001 From: Arjun Natarajan Date: Thu, 27 Mar 2025 14:38:20 -0400 Subject: [PATCH 1/4] docs for cloning traces locally --- .../docs/cloud/how-tos/clone_traces_studio.md | 31 ++++++++++++++++++ docs/docs/cloud/how-tos/img/run_in_studio.png | Bin 0 -> 60649 bytes docs/docs/how-tos/clone_traces_studio.md | 0 docs/docs/how-tos/index.md | 1 + 4 files changed, 32 insertions(+) create mode 100644 docs/docs/cloud/how-tos/clone_traces_studio.md create mode 100644 docs/docs/cloud/how-tos/img/run_in_studio.png create mode 100644 docs/docs/how-tos/clone_traces_studio.md diff --git a/docs/docs/cloud/how-tos/clone_traces_studio.md b/docs/docs/cloud/how-tos/clone_traces_studio.md new file mode 100644 index 000000000..2b71fe3f4 --- /dev/null +++ b/docs/docs/cloud/how-tos/clone_traces_studio.md @@ -0,0 +1,31 @@ +# Testing local agents with remote traces + +## Overview + +A common workflow when debugging production-deployed agents is to test the same thread against a local version of the same agent, which may have modifications. + +To support this, LangGraph Studio, in combination with LangSmith, allows you to clone remote threads traced in LangSmith into your locally running agent. This cloned thread can then be used to re-run specific nodes within Studio. + +## Requirements + +!!! info "Prerequisites" + + - langgraph>=0.3.18 + - langgraph-api>=0.0.32 + +- A thread traced in LangSmith. +- A locally running agent. See [here](../how-tos/local-studio.md) for setup instructions. + - Note that your local agent must be using the above specified `langgraph` and `langgraph-api` versions. + - The nodes present in the remote trace must exist in at least one of the graphs in your local agent. + +## Cloning Thread + +First navigate to the LangSmith trace. Here you should see a button to "Run in Studio". + +![Run in Studio](../img/run_in_studio.png){width=1200} + +This will prompt you to enter the url that your locally running agent is accesible at. Once provided, select "Clone thread locally". If you have multiple graphs in your agent, you will also be prompted to select a graph to clone this thread under. + +Once selected, a will a new thread in your local agent will be created and the thread history will be reconstruced to reflect the original trace. + +Alternatively, if your trace originates from an agent deployed on LangGraph Platform, you can "View original thread" to open Studio with the actual deployed thread. diff --git a/docs/docs/cloud/how-tos/img/run_in_studio.png b/docs/docs/cloud/how-tos/img/run_in_studio.png new file mode 100644 index 0000000000000000000000000000000000000000..a74d362de26ec545ec697902105fb6b41276b76f GIT binary patch literal 60649 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⪙o9moG^S2B~qS5(q| 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�p1}Hy1e=Gl4gK~l4 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 P03SIiCCPH}5B~oJAzm*Y literal 0 HcmV?d00001 diff --git a/docs/docs/how-tos/clone_traces_studio.md b/docs/docs/how-tos/clone_traces_studio.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/docs/how-tos/index.md b/docs/docs/how-tos/index.md index 978642c81..8421001a6 100644 --- a/docs/docs/how-tos/index.md +++ b/docs/docs/how-tos/index.md @@ -300,6 +300,7 @@ LangGraph Studio is a built-in UI for visualizing, testing, and debugging your a - [How to interact with threads in LangGraph Studio](../cloud/how-tos/threads_studio.md) - [How to add nodes as dataset examples in LangGraph Studio](../cloud/how-tos/datasets_studio.md) - [How to engineer prompts in LangGraph Studio](../cloud/how-tos/iterate_graph_studio.md) +- [How to test your agent against remote traces](../cloud/how-tos/clone_traces_studio.md) ## Troubleshooting From 2b728410e9712723aeda9964680636d044afc0d6 Mon Sep 17 00:00:00 2001 From: Arjun Natarajan Date: Thu, 27 Mar 2025 14:47:27 -0400 Subject: [PATCH 2/4] spell check --- docs/docs/cloud/how-tos/clone_traces_studio.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/cloud/how-tos/clone_traces_studio.md b/docs/docs/cloud/how-tos/clone_traces_studio.md index 2b71fe3f4..de528df4e 100644 --- a/docs/docs/cloud/how-tos/clone_traces_studio.md +++ b/docs/docs/cloud/how-tos/clone_traces_studio.md @@ -24,7 +24,7 @@ First navigate to the LangSmith trace. Here you should see a button to "Run in S ![Run in Studio](../img/run_in_studio.png){width=1200} -This will prompt you to enter the url that your locally running agent is accesible at. Once provided, select "Clone thread locally". If you have multiple graphs in your agent, you will also be prompted to select a graph to clone this thread under. +This will prompt you to enter the url that your locally running agent is accessible at. Once provided, select "Clone thread locally". If you have multiple graphs in your agent, you will also be prompted to select a graph to clone this thread under. Once selected, a will a new thread in your local agent will be created and the thread history will be reconstruced to reflect the original trace. From 9b05ab64531eed5bcb9767b09646ad9ba252039a Mon Sep 17 00:00:00 2001 From: Arjun Natarajan Date: Fri, 28 Mar 2025 09:27:30 -0400 Subject: [PATCH 3/4] mkdocs yaml --- docs/mkdocs.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 049a6a4ab..2e6388980 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -256,6 +256,8 @@ nav: - cloud/how-tos/invoke_studio.md - cloud/how-tos/threads_studio.md - cloud/how-tos/datasets_studio.md + - cloud/how-tos/iterate_graph_studio.md + - cloud/how-tos/clone_traces_studio.md - Concepts: - concepts/index.md - LangGraph: From a7f012a19cde10b715e5b3bc2d6ae9c2cf786c98 Mon Sep 17 00:00:00 2001 From: Arjun Natarajan Date: Fri, 28 Mar 2025 09:37:05 -0400 Subject: [PATCH 4/4] fix link --- docs/docs/cloud/how-tos/clone_traces_studio.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/cloud/how-tos/clone_traces_studio.md b/docs/docs/cloud/how-tos/clone_traces_studio.md index de528df4e..3df5b5831 100644 --- a/docs/docs/cloud/how-tos/clone_traces_studio.md +++ b/docs/docs/cloud/how-tos/clone_traces_studio.md @@ -14,7 +14,7 @@ To support this, LangGraph Studio, in combination with LangSmith, allows you to - langgraph-api>=0.0.32 - A thread traced in LangSmith. -- A locally running agent. See [here](../how-tos/local-studio.md) for setup instructions. +- A locally running agent. See [here](../../how-tos/local-studio.md) for setup instructions. - Note that your local agent must be using the above specified `langgraph` and `langgraph-api` versions. - The nodes present in the remote trace must exist in at least one of the graphs in your local agent.