You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(examples): fix documentation and align dependency versions
- Update redisvl version from >=0.5.1 to >=0.11.0 in Dockerfile and README
- Fix .gitignore comment: /docs -> /examples
- Fix README reference to parent directory mount path
- Fix create-react-agent-hitl.ipynb to use uuid for unique thread IDs
- Update notebook markdown to reference RedisStore instead of InMemoryStore
- Update notebook markdown to reference RedisSaver instead of MemorySaver
These changes ensure:
1. Security fix (CVE-2025-64439) via redisvl >=0.11.0
2. Accurate documentation matching actual implementations
3. Notebooks work correctly with checkpoint state isolation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
"18:45:35 langgraph.checkpoint.redis INFO Redis client is a standalone client\n"
123
+
"0.2.0\n",
124
+
"02:38:15 langgraph.checkpoint.redis INFO Redis client is a standalone client\n",
125
+
"02:38:15 redisvl.index.index INFO Index already exists, not overwriting.\n",
126
+
"02:38:15 redisvl.index.index INFO Index already exists, not overwriting.\n",
127
+
"02:38:15 redisvl.index.index INFO Index already exists, not overwriting.\n"
128
+
]
129
+
},
130
+
{
131
+
"name": "stderr",
132
+
"output_type": "stream",
133
+
"text": [
134
+
"/tmp/ipykernel_519/104821471.py:41: LangGraphDeprecatedSinceV10: create_react_agent has been moved to `langchain.agents`. Please update your import to `from langchain.agents import create_agent`. Deprecated in LangGraph V1.0 to be removed in V2.0.\n",
135
+
" graph = create_react_agent(\n"
125
136
]
126
137
}
127
138
],
@@ -198,35 +209,11 @@
198
209
},
199
210
{
200
211
"cell_type": "code",
201
-
"execution_count": 5,
212
+
"execution_count": null,
202
213
"id": "9ffff6c3-a4f5-47c9-b51d-97caaee85cd6",
203
214
"metadata": {},
204
-
"outputs": [
205
-
{
206
-
"name": "stdout",
207
-
"output_type": "stream",
208
-
"text": [
209
-
"================================\u001b[1m Human Message \u001b[0m=================================\n",
210
-
"\n",
211
-
"what is the weather in SF, CA?\n",
212
-
"18:45:36 httpx INFO HTTP Request: POST https://api.openai.com/v1/chat/completions \"HTTP/1.1 200 OK\"\n",
213
-
"==================================\u001b[1m Ai Message \u001b[0m==================================\n",
Copy file name to clipboardExpand all lines: examples/cross-thread-persistence-functional.ipynb
+2-17Lines changed: 2 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -119,22 +119,7 @@
119
119
"cell_type": "markdown",
120
120
"id": "c4c550b5-1954-496b-8b9d-800361af17dc",
121
121
"metadata": {},
122
-
"source": [
123
-
"### Define store\n",
124
-
"\n",
125
-
"In this example we will create a workflow that will be able to retrieve information about a user's preferences. We will do so by defining an `InMemoryStore` - an object that can store data in memory and query that data.\n",
126
-
"\n",
127
-
"When storing objects using the `Store` interface you define two things:\n",
128
-
"\n",
129
-
"* the namespace for the object, a tuple (similar to directories)\n",
130
-
"* the object key (similar to filenames)\n",
131
-
"\n",
132
-
"In our example, we'll be using `(\"memories\", <user_id>)` as namespace and random UUID as key for each new memory.\n",
133
-
"\n",
134
-
"Importantly, to determine the user, we will be passing `user_id` via the config keyword argument of the node function.\n",
135
-
"\n",
136
-
"Let's first define our store!"
137
-
]
122
+
"source": "### Define store\n\nIn this example we will create a workflow that will be able to retrieve information about a user's preferences. We will do so by defining a `RedisStore` - an object that can store data in Redis and query that data.\n\nWhen storing objects using the `Store` interface you define two things:\n\n* the namespace for the object, a tuple (similar to directories)\n* the object key (similar to filenames)\n\nIn our example, we'll be using `(\"memories\", <user_id>)` as namespace and random UUID as key for each new memory.\n\nImportantly, to determine the user, we will be passing `user_id` via the config keyword argument of the node function.\n\nLet's first define our store!"
Copy file name to clipboardExpand all lines: examples/cross-thread-persistence.ipynb
+2-17Lines changed: 2 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -105,22 +105,7 @@
105
105
"cell_type": "markdown",
106
106
"id": "c4c550b5-1954-496b-8b9d-800361af17dc",
107
107
"metadata": {},
108
-
"source": [
109
-
"## Define store\n",
110
-
"\n",
111
-
"In this example we will create a graph that will be able to retrieve information about a user's preferences. We will do so by defining an `InMemoryStore` - an object that can store data in memory and query that data. We will then pass the store object when compiling the graph. This allows each node in the graph to access the store: when you define node functions, you can define `store` keyword argument, and LangGraph will automatically pass the store object you compiled the graph with.\n",
112
-
"\n",
113
-
"When storing objects using the `Store` interface you define two things:\n",
114
-
"\n",
115
-
"* the namespace for the object, a tuple (similar to directories)\n",
116
-
"* the object key (similar to filenames)\n",
117
-
"\n",
118
-
"In our example, we'll be using `(\"memories\", <user_id>)` as namespace and random UUID as key for each new memory.\n",
119
-
"\n",
120
-
"Importantly, to determine the user, we will be passing `user_id` via the config keyword argument of the node function.\n",
121
-
"\n",
122
-
"Let's first define an `InMemoryStore` already populated with some memories about the users."
123
-
]
108
+
"source": "## Define store\n\nIn this example we will create a graph that will be able to retrieve information about a user's preferences. We will do so by defining a `RedisStore` - an object that can store data in Redis and query that data. We will then pass the store object when compiling the graph. This allows each node in the graph to access the store: when you define node functions, you can define `store` keyword argument, and LangGraph will automatically pass the store object you compiled the graph with.\n\nWhen storing objects using the `Store` interface you define two things:\n\n* the namespace for the object, a tuple (similar to directories)\n* the object key (similar to filenames)\n\nIn our example, we'll be using `(\"memories\", <user_id>)` as namespace and random UUID as key for each new memory.\n\nImportantly, to determine the user, we will be passing `user_id` via the config keyword argument of the node function.\n\nLet's first define a `RedisStore` already populated with some memories about the users."
0 commit comments