From 345f2822f5072c34d9f969ae077830af968043b9 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期四, 27 二月 2025 11:44:31 +0800
Subject: [PATCH] 优化输出

---
 app/service/v2/chat.py |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/app/service/v2/chat.py b/app/service/v2/chat.py
index a35c775..a24f88d 100644
--- a/app/service/v2/chat.py
+++ b/app/service/v2/chat.py
@@ -169,7 +169,7 @@
         query = chat_data.query
     else:
         query = "start new workflow"
-    session = await add_session_log(db, session_id, query, chat_id, user_id, mode, conversation_id, 3)
+    session = await add_session_log(db, session_id,query if query else "start new conversation", chat_id, user_id, mode, conversation_id, 3)
     if session:
         conversation_id = session.conversation_id
     try:
@@ -205,6 +205,9 @@
                 data["outputs"] = await data_process(data.get("outputs", {}))
                 data["files"] = await data_process(data.get("files", []))
                 data["process_data"] = ""
+                if data.get("status") == "failed":
+                    status = http_500
+                    error = data.get("error", "")
                 node_list.append(ans)
                 event = [smart_workflow_started, smart_node_started, smart_node_finished][
                     [workflow_started, node_started, node_finished].index(ans.get("event"))]
@@ -213,6 +216,9 @@
                 answer_workflow = data.get("outputs", {}).get("output")
                 download_url = data.get("outputs", {}).get("download_url")
                 event = smart_workflow_finished
+                if data.get("status") == "failed":
+                    status = http_500
+                    error = data.get("error", "")
                 node_list.append(ans)
 
             elif ans.get("event") == message_end:
@@ -234,7 +240,7 @@
         except:
             ...
     finally:
-        await update_session_log(db, session_id, {"role": "assistant", "answer": answer_event or answer_agent or answer_workflow,
+        await update_session_log(db, session_id, {"role": "assistant", "answer": answer_event or answer_agent or answer_workflow or error,
                                                   "download_url":download_url,
                                                   "node_list": node_list, "task_id": task_id, "id": message_id,
                                                   "error": error}, conversation_id)

--
Gitblit v1.8.0