diff --git a/src/backend/langflow/api/v1/endpoints.py b/src/backend/langflow/api/v1/endpoints.py index e6bb08a12..6fea926d7 100644 --- a/src/backend/langflow/api/v1/endpoints.py +++ b/src/backend/langflow/api/v1/endpoints.py @@ -41,8 +41,10 @@ async def predict_flow( raise ValueError(f"Flow {flow_id} has no data") graph_data = flow.data if predict_request.tweaks: - graph_data = process_tweaks(graph_data, predict_request.tweaks) - + try: + graph_data = process_tweaks(graph_data, predict_request.tweaks) + except Exception as exc: + logger.error(f"Error processing tweaks: {exc}") response = process_graph_cached(graph_data, predict_request.message) return PredictResponse( result=response.get("result", ""), diff --git a/src/backend/langflow/processing/process.py b/src/backend/langflow/processing/process.py index deabe34dc..7f20371bc 100644 --- a/src/backend/langflow/processing/process.py +++ b/src/backend/langflow/processing/process.py @@ -179,7 +179,10 @@ def process_tweaks(graph_data: Dict, tweaks: Dict): # the dict of tweaks contains the name of a certain parameter and the value to be tweaked # We need to process the graph data to add the tweaks - nodes = graph_data["data"]["nodes"] + if "data" not in graph_data or "nodes" in graph_data["data"]: + nodes = graph_data["nodes"] + else: + nodes = graph_data["data"]["nodes"] for node in nodes: node_id = node["id"] if node_id in tweaks: