From 0199767938e7557006774295d8d223b5c5a0f23b Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Wed, 21 Feb 2024 19:00:12 -0300 Subject: [PATCH] Refactor add_messages function to handle different types of records --- src/backend/langflow/memory.py | 38 ++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/src/backend/langflow/memory.py b/src/backend/langflow/memory.py index 5a043fd2e..dbf46b24d 100644 --- a/src/backend/langflow/memory.py +++ b/src/backend/langflow/memory.py @@ -55,26 +55,28 @@ def add_messages(records: Union[list[Record], Record]): """ Add a message to the monitor service. """ - monitor_service = get_monitor_service() + try: + monitor_service = get_monitor_service() - if isinstance(records, Record): - records = [records] + if isinstance(records, Record): + records = [records] - if not all(isinstance(record, (Record, str)) for record in records): - raise ValueError("The records must be instances of Record.") + if not all(isinstance(record, (Record, str)) for record in records): + types = ", ".join([str(type(record)) for record in records]) + raise ValueError(f"The records must be instances of Record. Found: {types}") - messages = [] - for record in records: - if isinstance(record, Record): + messages: list[MessageModel] = [] + for record in records: messages.append(MessageModel.from_record(record)) - else: - raise ValueError("The record must be an instance of Record") - for message in messages: - try: - monitor_service.add_message(message) - except Exception as e: - logger.error(f"Error adding message to monitor service: {e}") - raise e - - return records + for message in messages: + try: + monitor_service.add_message(message) + except Exception as e: + logger.error(f"Error adding message to monitor service: {e}") + logger.exception(e) + raise e + return records + except Exception as e: + logger.exception(e) + raise e