From d58ba7e5a167f2d74a6bd593e1673ff0623bfa51 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Fri, 16 Feb 2024 18:13:15 -0300 Subject: [PATCH] Refactor chat service code for readability and maintainability --- src/backend/langflow/services/chat/service.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/backend/langflow/services/chat/service.py b/src/backend/langflow/services/chat/service.py index 0d7f9ca6c..ab4f7c9a8 100644 --- a/src/backend/langflow/services/chat/service.py +++ b/src/backend/langflow/services/chat/service.py @@ -59,7 +59,9 @@ class ChatService(Service): """Send the last chat message to the client.""" client_id = self.chat_cache.current_client_id if client_id in self.active_connections: - chat_response = self.chat_history.get_history(client_id, filter_messages=False)[-1] + chat_response = self.chat_history.get_history( + client_id, filter_messages=False + )[-1] if chat_response.is_bot: # Process FileResponse if isinstance(chat_response, FileResponse): @@ -86,7 +88,9 @@ class ChatService(Service): data_type=self.last_cached_object_dict["type"], ) - self.chat_history.add_message(self.chat_cache.current_client_id, chat_response) + self.chat_history.add_message( + self.chat_cache.current_client_id, chat_response + ) async def connect(self, client_id: str, websocket: WebSocket): self.active_connections[client_id] = websocket @@ -209,7 +213,9 @@ class ChatService(Service): await self.process_message(client_id, payload, build_result) else: - raise RuntimeError(f"Could not find a build result for client_id {client_id}") + raise RuntimeError( + f"Could not find a build result for client_id {client_id}" + ) except Exception as exc: # Handle any exceptions that might occur logger.exception(f"Error handling websocket: {exc}") @@ -241,6 +247,12 @@ class ChatService(Service): """ return self.cache_service.get(client_id) + def clear_cache(self, client_id: str): + """ + Clear the cache for a client. + """ + self.cache_service.clear(client_id) + def dict_to_markdown_table(my_dict): markdown_table = "| Key | Value |\n|---|---|\n"