From f249dda1376dd5a525e74617900351c5bbc61705 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期一, 02 十二月 2024 09:26:18 +0800
Subject: [PATCH] 报告生成
---
app/api/chat.py | 51 ++++++++++++++++++++++++++++++++-------------------
1 files changed, 32 insertions(+), 19 deletions(-)
diff --git a/app/api/chat.py b/app/api/chat.py
index 7e85a8e..51c8409 100644
--- a/app/api/chat.py
+++ b/app/api/chat.py
@@ -251,39 +251,52 @@
await websocket.send_json(result)
else:
+ message_data = {}
logger.error("---------------------excel_talk-----------------------------")
+ excel_url = ""
+ image_url = ""
+ image_name = ""
+ excel_name = ""
async for data in service.excel_talk(question, chat_id):
- logger.error(data)
+ # logger.error(data)
output = data.get("output", "")
- excel_name = data.get("excel_name", "")
- image_name = data.get("image_name", "")
+ e_name = data.get("excel_name", "")
+ i_name = data.get("image_name", "")
def build_file_url(name, file_type):
if not name:
return None
return (f"/api/files/download/?agent_id={agent_id}&file_id={name}"
f"&file_type={file_type}")
- excel_url = build_file_url(excel_name, 'excel')
- image_url = build_file_url(image_name, 'image')
- if excel_url or data.get("e", ""):
- try:
- SessionService(db).update_session(chat_id,
- message={
- "content": output,
- "excel_url": excel_url,
- "image_url": image_url,
- "sql": data.get("sql", ""),
- "code": data.get("code", ""),
- "e": data.get("e", ""),
- "role": "assistant"})
- except Exception as e:
- logger.error(f"Unexpected error when update_session: {e}")
+ if e_name:
+ excel_url = build_file_url(e_name, 'excel')
+ excel_name = e_name
+ if i_name:
+ image_url = build_file_url(i_name, 'image')
+ image_name = i_name
+ if data["type"] == "message":
+ message_data = {
+ "content": output,
+ "excel_url": excel_url,
+ "image_url": image_url,
+ "image_name": image_name,
+ "excel_name": excel_name,
+ "sql": data.get("sql", ""),
+ "code": data.get("code", ""),
+ "e": data.get("e", ""),
+ "role": "assistant"}
+
# 鍙戦�佺粨鏋滅粰瀹㈡埛绔�
- data["type"] = "message"
+ # data["type"] = "message"
data["message"] = output
data["excel_url"] = excel_url
data["image_url"] = image_url
await websocket.send_json(data)
+ if message_data:
+ try:
+ SessionService(db).update_session(chat_id,message=message_data)
+ except Exception as e:
+ logger.error(f"Unexpected error when update_session: {e}")
except Exception as e:
logger.error(e)
await websocket.send_json({"message": "鍑虹幇閿欒锛�", "type": "error"})
--
Gitblit v1.8.0