From 4cade428d863dd6c83b3e36f15111029c5fdbb56 Mon Sep 17 00:00:00 2001 From: Sydney Runkle <54324534+sydney-runkle@users.noreply.github.com> Date: Thu, 22 May 2025 12:23:43 -0400 Subject: [PATCH] docs: adding interactive graph widget (#4785) --- .../agents/assets/react_agent_graphs/0000.svg | 1 + .../agents/assets/react_agent_graphs/0001.svg | 1 + .../agents/assets/react_agent_graphs/0010.svg | 1 + .../agents/assets/react_agent_graphs/0011.svg | 1 + .../agents/assets/react_agent_graphs/0100.svg | 1 + .../agents/assets/react_agent_graphs/0101.svg | 1 + .../agents/assets/react_agent_graphs/0110.svg | 1 + .../agents/assets/react_agent_graphs/0111.svg | 1 + .../agents/assets/react_agent_graphs/1000.svg | 1 + .../agents/assets/react_agent_graphs/1001.svg | 1 + .../agents/assets/react_agent_graphs/1010.svg | 1 + .../agents/assets/react_agent_graphs/1011.svg | 1 + .../agents/assets/react_agent_graphs/1100.svg | 1 + .../agents/assets/react_agent_graphs/1101.svg | 1 + .../agents/assets/react_agent_graphs/1110.svg | 1 + .../agents/assets/react_agent_graphs/1111.svg | 1 + docs/docs/agents/overview.md | 136 ++++++++++++++++++ docs/docs/assets/react-agent-graphs.json | 19 +++ docs/docs/stylesheets/agent_graph_widget.css | 57 ++++++++ docs/mkdocs.yml | 2 + docs/uv.lock | 3 +- 21 files changed, 232 insertions(+), 1 deletion(-) create mode 100644 docs/docs/agents/assets/react_agent_graphs/0000.svg create mode 100644 docs/docs/agents/assets/react_agent_graphs/0001.svg create mode 100644 docs/docs/agents/assets/react_agent_graphs/0010.svg create mode 100644 docs/docs/agents/assets/react_agent_graphs/0011.svg create mode 100644 docs/docs/agents/assets/react_agent_graphs/0100.svg create mode 100644 docs/docs/agents/assets/react_agent_graphs/0101.svg create mode 100644 docs/docs/agents/assets/react_agent_graphs/0110.svg create mode 100644 docs/docs/agents/assets/react_agent_graphs/0111.svg create mode 100644 docs/docs/agents/assets/react_agent_graphs/1000.svg create mode 100644 docs/docs/agents/assets/react_agent_graphs/1001.svg create mode 100644 docs/docs/agents/assets/react_agent_graphs/1010.svg create mode 100644 docs/docs/agents/assets/react_agent_graphs/1011.svg create mode 100644 docs/docs/agents/assets/react_agent_graphs/1100.svg create mode 100644 docs/docs/agents/assets/react_agent_graphs/1101.svg create mode 100644 docs/docs/agents/assets/react_agent_graphs/1110.svg create mode 100644 docs/docs/agents/assets/react_agent_graphs/1111.svg create mode 100644 docs/docs/assets/react-agent-graphs.json create mode 100644 docs/docs/stylesheets/agent_graph_widget.css diff --git a/docs/docs/agents/assets/react_agent_graphs/0000.svg b/docs/docs/agents/assets/react_agent_graphs/0000.svg new file mode 100644 index 000000000..864b0d461 --- /dev/null +++ b/docs/docs/agents/assets/react_agent_graphs/0000.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/agents/assets/react_agent_graphs/0001.svg b/docs/docs/agents/assets/react_agent_graphs/0001.svg new file mode 100644 index 000000000..2643171df --- /dev/null +++ b/docs/docs/agents/assets/react_agent_graphs/0001.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/agents/assets/react_agent_graphs/0010.svg b/docs/docs/agents/assets/react_agent_graphs/0010.svg new file mode 100644 index 000000000..c63d3a28e --- /dev/null +++ b/docs/docs/agents/assets/react_agent_graphs/0010.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/agents/assets/react_agent_graphs/0011.svg b/docs/docs/agents/assets/react_agent_graphs/0011.svg new file mode 100644 index 000000000..00618e1bb --- /dev/null +++ b/docs/docs/agents/assets/react_agent_graphs/0011.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/agents/assets/react_agent_graphs/0100.svg b/docs/docs/agents/assets/react_agent_graphs/0100.svg new file mode 100644 index 000000000..2d99f88a5 --- /dev/null +++ b/docs/docs/agents/assets/react_agent_graphs/0100.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/agents/assets/react_agent_graphs/0101.svg b/docs/docs/agents/assets/react_agent_graphs/0101.svg new file mode 100644 index 000000000..605b5eaee --- /dev/null +++ b/docs/docs/agents/assets/react_agent_graphs/0101.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/agents/assets/react_agent_graphs/0110.svg b/docs/docs/agents/assets/react_agent_graphs/0110.svg new file mode 100644 index 000000000..bf6e988e7 --- /dev/null +++ b/docs/docs/agents/assets/react_agent_graphs/0110.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/agents/assets/react_agent_graphs/0111.svg b/docs/docs/agents/assets/react_agent_graphs/0111.svg new file mode 100644 index 000000000..eb4af67ec --- /dev/null +++ b/docs/docs/agents/assets/react_agent_graphs/0111.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/agents/assets/react_agent_graphs/1000.svg b/docs/docs/agents/assets/react_agent_graphs/1000.svg new file mode 100644 index 000000000..2d72d4bc7 --- /dev/null +++ b/docs/docs/agents/assets/react_agent_graphs/1000.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/agents/assets/react_agent_graphs/1001.svg b/docs/docs/agents/assets/react_agent_graphs/1001.svg new file mode 100644 index 000000000..f416f3466 --- /dev/null +++ b/docs/docs/agents/assets/react_agent_graphs/1001.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/agents/assets/react_agent_graphs/1010.svg b/docs/docs/agents/assets/react_agent_graphs/1010.svg new file mode 100644 index 000000000..9308976c6 --- /dev/null +++ b/docs/docs/agents/assets/react_agent_graphs/1010.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/agents/assets/react_agent_graphs/1011.svg b/docs/docs/agents/assets/react_agent_graphs/1011.svg new file mode 100644 index 000000000..21fe20c19 --- /dev/null +++ b/docs/docs/agents/assets/react_agent_graphs/1011.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/agents/assets/react_agent_graphs/1100.svg b/docs/docs/agents/assets/react_agent_graphs/1100.svg new file mode 100644 index 000000000..f36fd09aa --- /dev/null +++ b/docs/docs/agents/assets/react_agent_graphs/1100.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/agents/assets/react_agent_graphs/1101.svg b/docs/docs/agents/assets/react_agent_graphs/1101.svg new file mode 100644 index 000000000..7af4855ed --- /dev/null +++ b/docs/docs/agents/assets/react_agent_graphs/1101.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/agents/assets/react_agent_graphs/1110.svg b/docs/docs/agents/assets/react_agent_graphs/1110.svg new file mode 100644 index 000000000..fea6c4e77 --- /dev/null +++ b/docs/docs/agents/assets/react_agent_graphs/1110.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/agents/assets/react_agent_graphs/1111.svg b/docs/docs/agents/assets/react_agent_graphs/1111.svg new file mode 100644 index 000000000..ec9a02cd9 --- /dev/null +++ b/docs/docs/agents/assets/react_agent_graphs/1111.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/docs/agents/overview.md b/docs/docs/agents/overview.md index 22f39ccb9..b8ffb6cf2 100644 --- a/docs/docs/agents/overview.md +++ b/docs/docs/agents/overview.md @@ -53,3 +53,139 @@ The high-level components are organized into several packages, each with a speci | `langmem` | Agent memory management: [**short-term and long-term**](./memory.md) | `pip install -U langmem` | | `agentevals` | Utilities to [**evaluate agent performance**](./evals.md) | `pip install -U agentevals` | +## Visualize an agent graph + +Use the following tool to visualize the graph generated by +[`create_react_agent`][langgraph.prebuilt.chat_agent_executor.create_react_agent] +and to view an outline of the corresponding code. +It allows you to explore the infrastructure of the agent as defined by the presence of: + +* [`tools`](../agents/tools.md): A list of tools (functions, APIs, or other callable objects) that the agent can use to perform tasks. +* [`pre_model_hook`](../how-tos/create-react-agent-manage-message-history.ipynb): A function that is called before the model is invoked. It can be used to condense messages or perform other preprocessing tasks. +* `post_model_hook`: A function that is called after the model is invoked. It can be used to implement guardrails, human-in-the-loop flows, or other postprocessing tasks. +* [`response_format`](../agents/agents.md#6-configure-structured-output): A data structure used to constrain the type of the final output, e.g., a `pydantic` `BaseModel`. + +
+