From 494c8ef0d2b3eeb77439e6af430ddae7882cf47a Mon Sep 17 00:00:00 2001 From: Sydney Runkle <54324534+sydney-runkle@users.noreply.github.com> Date: Wed, 4 Jun 2025 21:29:19 -0400 Subject: [PATCH] docs: remove references to `StateGraph(dict)` (#4964) remove StateGraph(dict) --- docs/docs/concepts/low_level.md | 12 +++++++++--- libs/langgraph/langgraph/graph/state.py | 12 +++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/docs/docs/concepts/low_level.md b/docs/docs/concepts/low_level.md index 755a9e4ba..945a9cc41 100644 --- a/docs/docs/concepts/low_level.md +++ b/docs/docs/concepts/low_level.md @@ -197,19 +197,25 @@ In LangGraph, nodes are typically python functions (sync or async) where the **f Similar to `NetworkX`, you add these nodes to a graph using the [add_node][langgraph.graph.StateGraph.add_node] method: ```python +from typing_extensions import TypedDict + from langchain_core.runnables import RunnableConfig from langgraph.graph import StateGraph -builder = StateGraph(dict) +class State(TypedDict): + input: str + results: str + +builder = StateGraph(State) -def my_node(state: dict, config: RunnableConfig): +def my_node(state: State, config: RunnableConfig): print("In node: ", config["configurable"]["user_id"]) return {"results": f"Hello, {state['input']}!"} # The second argument is optional -def my_other_node(state: dict): +def my_other_node(state: State): return state diff --git a/libs/langgraph/langgraph/graph/state.py b/libs/langgraph/langgraph/graph/state.py index a1f26631f..72f0f9f66 100644 --- a/libs/langgraph/langgraph/graph/state.py +++ b/libs/langgraph/langgraph/graph/state.py @@ -376,12 +376,18 @@ class StateGraph(Generic[StateT, InputT]): Example: ```python + from typing_extensions import TypedDict + + from langchain_core.runnables import RunnableConfig from langgraph.graph import START, StateGraph - def my_node(state, config): + class State(TypedDict): + x: int + + def my_node(state: State, config: RunnableConfig) -> State: return {"x": state["x"] + 1} - builder = StateGraph(dict) + builder = StateGraph(State) builder.add_node(my_node) # node name will be 'my_node' builder.add_edge(START, "my_node") graph = builder.compile() @@ -391,7 +397,7 @@ class StateGraph(Generic[StateT, InputT]): Example: Customize the name: ```python - builder = StateGraph(dict) + builder = StateGraph(State) builder.add_node("my_fair_node", my_node) builder.add_edge(START, "my_fair_node") graph = builder.compile()