From 0fb33825d91361c59b8d84427d5f35f838674a19 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Wed, 21 Jun 2023 14:04:45 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(chat.py):=20change=20data=20?= =?UTF-8?q?to=20error=20in=20yield=20statement=20when=20flow=5Fid=20is=20i?= =?UTF-8?q?nvalid=20=F0=9F=90=9B=20fix(chat.py):=20catch=20exception=20whe?= =?UTF-8?q?n=20building=20graph=20and=20yield=20error=20message=20When=20t?= =?UTF-8?q?he=20flow=5Fid=20is=20invalid,=20the=20yield=20statement=20shou?= =?UTF-8?q?ld=20return=20an=20error=20message=20instead=20of=20data.=20Add?= =?UTF-8?q?itionally,=20when=20building=20the=20graph,=20an=20exception=20?= =?UTF-8?q?could=20occur,=20so=20we=20added=20a=20try-except=20block=20to?= =?UTF-8?q?=20catch=20any=20exceptions=20and=20yield=20an=20error=20messag?= =?UTF-8?q?e=20instead=20of=20data.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/api/v1/chat.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/backend/langflow/api/v1/chat.py b/src/backend/langflow/api/v1/chat.py index ed0caeba2..8d754975b 100644 --- a/src/backend/langflow/api/v1/chat.py +++ b/src/backend/langflow/api/v1/chat.py @@ -75,7 +75,7 @@ async def stream_build(flow_id: str): try: if flow_id not in flow_data_store: error_message = "Invalid session ID" - yield f"data: {json.dumps({'error': error_message})}\n\n" + yield f"error: {json.dumps({'error': error_message})}\n\n" return graph_data = flow_data_store[flow_id].get("data") @@ -86,7 +86,15 @@ async def stream_build(flow_id: str): return logger.debug("Building langchain object") - graph = Graph.from_payload(graph_data) + try: + # Some error could happen when building the graph + graph = Graph.from_payload(graph_data) + except Exception as exc: + logger.error(exc) + error_message = str(exc) + yield f"error: {json.dumps({'error': error_message})}\n\n" + return + number_of_nodes = len(graph.nodes) for i, vertex in enumerate(graph.generator_build(), 1): try: