From 20afabd90a3cc76bad2065fdad55686704637353 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Mon, 14 Aug 2023 12:23:54 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(manager.py):=20change=20cach?= =?UTF-8?q?e=5Fmanager.set=20to=20cache=5Fmanager.upsert=20to=20update=20o?= =?UTF-8?q?r=20insert=20cache=20value=20=E2=9C=A8=20feat(manager.py):=20ad?= =?UTF-8?q?d=20result=5Fdict=20to=20cache=20instead=20of=20directly=20sett?= =?UTF-8?q?ing=20langchain=5Fobject=20to=20improve=20cache=20semantics=20?= =?UTF-8?q?=F0=9F=90=9B=20fix(manager.py):=20handle=20case=20when=20langch?= =?UTF-8?q?ain=5Fobject=20is=20not=20found=20in=20cache=20and=20raise=20Va?= =?UTF-8?q?lueError?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/chat/manager.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/backend/langflow/chat/manager.py b/src/backend/langflow/chat/manager.py index 6c78a2d77..b4ccd931e 100644 --- a/src/backend/langflow/chat/manager.py +++ b/src/backend/langflow/chat/manager.py @@ -170,8 +170,8 @@ class ChatManager: """ Set the cache for a client. """ - client_id = f"{client_id}_chat" - self.cache_manager.set(client_id, langchain_object) + result_dict = {"result": langchain_object, "type": type(langchain_object)} + self.cache_manager.upsert(client_id, result_dict) return client_id in self.cache_manager async def handle_websocket(self, client_id: str, websocket: WebSocket): @@ -194,9 +194,13 @@ class ChatManager: continue with self.cache_manager.set_client_id(client_id): - langchain_object = self.in_memory_cache.get(f"{client_id}_chat") - await self.process_message(client_id, payload, langchain_object) + if langchain_object := self.in_memory_cache.get(client_id).get( + "result" + ): + await self.process_message(client_id, payload, langchain_object) + else: + raise ValueError("No langchain object found in cache") except Exception as exc: # Handle any exceptions that might occur logger.error(f"Error handling websocket: {exc}")