-
Notifications
You must be signed in to change notification settings - Fork 14
Closed
Description
I'm running into below error when trying to execute the graph. Here is the code for setting up.
Here is how, I'm initializing checkpointer:
async def _initialize_async_redis_checkpointer(self, checkpointer_redis_config: RedisConfig):
"""Async method to initialize Redis client and checkpointer."""
redis_uri = self._REDIS_URI_FORMAT.format(
password=checkpointer_redis_config.password,
host=checkpointer_redis_config.host,
port=checkpointer_redis_config.port,
db_name=checkpointer_redis_config.db_name,
)
self._checkpointer = AsyncRedisSaver(redis_url=redis_uri)
await self._checkpointer.asetup()
self._logger.info("Redis client and checkpointer initialized.")
Code for flowing checkpointer to the graph:
async def _create_agent_graph(
self,
assistant: Callable,
tools: list[BaseTool],
state_type: Type,
checkpointer: Optional[BaseCheckpointSaver] = None,
):
graph = StateGraph(state_type)
graph.add_edge(START, "assistant")
graph.add_node("assistant", assistant)
graph.add_node("tools", ToolNode(tools))
graph.add_conditional_edges("assistant", tools_condition)
graph.add_edge("tools", "assistant")
if checkpointer is None:
self._logger.info("Checkpointer is not initialized. Proceeding without checkpointing.")
return graph.compile()
return graph.compile(checkpointer=checkpointer)
Code for executing the graph:
last_state: DefaultState = state
config = {"configurable": {"thread_id": state["thread_id"]}}
self._logger.info("Starting execution of the graph")
async for chunk in compiled_graph.astream(state, stream_mode="values", config=config):
Error logs:
17:36:23 asyncio ERROR Task exception was never retrieved
future: <Task finished name='Task-9' coro=<AgentExecutor._initialize_async_redis_checkpointer() done, defined at /home/satyaprakash/sourcecode/agent_service/src/cortex6/agent_service/executor/agent_executor.py:106> exception=ResponseError('unknown command `MODULE`, with args beginning with: `LIST`, ')>
Traceback (most recent call last):
File "/home/satyaprakash/sourcecode/agent_service/src/cortex6/agent_service/executor/agent_executor.py", line 116, in _initialize_async_redis_checkpointer
await self._checkpointer.asetup()
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/langgraph/checkpoint/redis/aio.py", line 120, in asetup
await self.checkpoints_index.set_client(self._redis)
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/redisvl/index/index.py", line 117, in wrapper
await RedisConnectionFactory.validate_async_redis(
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/redisvl/redis/connection.py", line 324, in validate_async_redis
installed_modules = await RedisConnectionFactory.get_modules_async(redis_client)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/redisvl/redis/connection.py", line 285, in get_modules_async
return unpack_redis_modules(convert_bytes(await client.module_list()))
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/sentry_sdk/integrations/redis/asyncio.py", line 65, in _sentry_execute_command
return await old_execute_command(self, name, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/redis/asyncio/client.py", line 616, in execute_command
return await conn.retry.call_with_retry(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry
return await do()
^^^^^^^^^^
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response
return await self.parse_response(conn, command_name, **options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/redis/asyncio/client.py", line 637, in parse_response
response = await connection.read_response()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/redis/asyncio/connection.py", line 577, in read_response
raise response from None
redis.exceptions.ResponseError: unknown command `MODULE`, with args beginning with: `LIST`,
17:36:24 asyncio ERROR Task exception was never retrieved
future: <Task finished name='Task-10' coro=<AgentExecutor.execute() done, defined at /home/satyaprakash/sourcecode/agent_service/src/cortex6/agent_service/executor/agent_executor.py:82> exception=RedisSearchError('Error while searching: unknown command `FT.SEARCH`, with args beginning with: `checkpoints`, `@thread_id:{e9740550\\-5ba7\\-4323\\-87cd\\-d868a1ada256_8eb6fbef\\-d953\\-4abb\\-80d8\\-2f90c7f5b11b_a16607e8\\-bb97\\-486`, ')>
Traceback (most recent call last):
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/redisvl/index/index.py", line 1186, in search
return await self._redis_client.ft(self.schema.index.name).search( # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/redis/commands/search/commands.py", line 940, in search
res = await self.execute_command(SEARCH_CMD, *args, **options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/sentry_sdk/integrations/redis/asyncio.py", line 65, in _sentry_execute_command
return await old_execute_command(self, name, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/redis/asyncio/client.py", line 616, in execute_command
return await conn.retry.call_with_retry(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry
return await do()
^^^^^^^^^^
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/redis/asyncio/client.py", line 590, in _send_command_parse_response
return await self.parse_response(conn, command_name, **options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/redis/asyncio/client.py", line 634, in parse_response
response = await connection.read_response(disable_decoding=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/redis/asyncio/connection.py", line 577, in read_response
raise response from None
redis.exceptions.ResponseError: unknown command `FT.SEARCH`, with args beginning with: `checkpoints`, `@thread_id:{e9740550\-5ba7\-4323\-87cd\-d868a1ada256_8eb6fbef\-d953\-4abb\-80d8\-2f90c7f5b11b_a16607e8\-bb97\-486`,
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/satyaprakash/sourcecode/agent_service/src/cortex6/agent_service/executor/agent_executor.py", line 99, in execute
final_state: DefaultState = await self._ainvoke_graph(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/satyaprakash/sourcecode/agent_service/src/cortex6/agent_service/executor/agent_executor.py", line 278, in _ainvoke_graph
async for chunk in compiled_graph.astream(state, stream_mode="values", config=config):
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/langgraph/pregel/__init__.py", line 2227, in astream
async with AsyncPregelLoop(
^^^^^^^^^^^^^^^^
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/langgraph/pregel/loop.py", line 1058, in __aenter__
saved = await self.checkpointer.aget_tuple(self.checkpoint_config)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/langgraph/checkpoint/redis/aio.py", line 162, in aget_tuple
results = await self.checkpoints_index.search(checkpoints_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/satyaprakash/.pyenv/versions/agent_service312/lib/python3.12/site-packages/redisvl/index/index.py", line 1190, in search
raise RedisSearchError(f"Error while searching: {str(e)}") from e
redisvl.exceptions.RedisSearchError: Error while searching: unknown command `FT.SEARCH`, with args beginning with: `checkpoints`, `@thread_id:{e9740550\-5ba7\-4323\-87cd\-d868a1ada256_8eb6fbef\-d953\-4abb\-80d8\-2f90c7f5b11b_a16607e8\-bb97\-486`,
Metadata
Metadata
Assignees
Labels
No labels