From 8973022070bcfd4d73e0871e420fb84e8f16b481 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Tue, 30 Jan 2024 20:17:58 -0300 Subject: [PATCH] Add log_message function to monitor utils.py --- .../langflow/services/monitor/utils.py | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/src/backend/langflow/services/monitor/utils.py b/src/backend/langflow/services/monitor/utils.py index 5cb20a0f9..c8fc8f581 100644 --- a/src/backend/langflow/services/monitor/utils.py +++ b/src/backend/langflow/services/monitor/utils.py @@ -1,4 +1,7 @@ -from typing import Any, Dict, Type +from typing import Any, Dict, Optional, Type + +from langflow.services.deps import get_monitor_service +from loguru import logger import duckdb from pydantic import BaseModel @@ -77,3 +80,30 @@ def add_row_to_table( # Execute the insert statement conn.execute(insert_sql, values) + + +async def log_message( + sender_type: str, + sender_name: str, + message: str, + session_id: str, + artifacts: Optional[dict] = None, +): + try: + from langflow.graph.vertex.base import Vertex + + if isinstance(session_id, Vertex): + session_id = await session_id.build() # type: ignore + + monitor_service = get_monitor_service() + row = { + "sender_type": sender_type, + "sender_name": sender_name, + "message": message, + "artifacts": artifacts or {}, + "session_id": session_id, + "timestamp": monitor_service.get_timestamp(), + } + monitor_service.add_row(table_name="messages", data=row) + except Exception as e: + logger.error(f"Error logging message: {e}")