|
@@ -220,37 +220,32 @@ async def handle_client(websocket: WebSocket,
|
|
|
if not question:
|
|
if not question:
|
|
|
await websocket.send_json({"message": "Invalid request", "type": "error"})
|
|
await websocket.send_json({"message": "Invalid request", "type": "error"})
|
|
|
continue
|
|
continue
|
|
|
- if agent.agent_type == "questionTalk":
|
|
|
|
|
- async for result in service.questions_talk(question, chat_id):
|
|
|
|
|
|
|
+ logger.error(agent.type)
|
|
|
|
|
+ if agent.type == "questionTalk":
|
|
|
|
|
+
|
|
|
|
|
+ try:
|
|
|
|
|
+ data = await service.questions_talk(question, chat_id)
|
|
|
|
|
+ output = data.get("output", "")
|
|
|
|
|
+ file_name = data.get("filename", "")
|
|
|
|
|
+
|
|
|
|
|
+ excel_url = None
|
|
|
|
|
+ if file_name:
|
|
|
|
|
+ excel_url = f"/api/files/download/?agent_id=basic_question_talk&file_id={file_name}&file_type=word"
|
|
|
|
|
+ result = {"message": output, "type": "message", "file_url": excel_url}
|
|
|
try:
|
|
try:
|
|
|
- if result[:5] == "data:":
|
|
|
|
|
- # 如果是,则截取掉前5个字符,并去除首尾空白符
|
|
|
|
|
- text = result[5:].strip()
|
|
|
|
|
- else:
|
|
|
|
|
- # 否则,保持原样
|
|
|
|
|
- text = result
|
|
|
|
|
- try:
|
|
|
|
|
- data = json.loads(text)
|
|
|
|
|
- output = data.get("output", "")
|
|
|
|
|
- file_name = data.get("filename", "")
|
|
|
|
|
|
|
+ SessionService(db).update_session(chat_id,
|
|
|
|
|
+ message={"role": "assistant", "content": result})
|
|
|
|
|
+ except Exception as e:
|
|
|
|
|
+ logger.error(e)
|
|
|
|
|
+ logger.error("-----------------11111111--------------------")
|
|
|
|
|
+ await websocket.send_json(result | data)
|
|
|
|
|
+ except Exception as e2:
|
|
|
|
|
+
|
|
|
|
|
+ result = {"message": f"内部错误: {e2}", "type": "close"}
|
|
|
|
|
+ logger.error(str(e2))
|
|
|
|
|
+ logger.error(f"Error process message of basic chuti agent: {e2}")
|
|
|
|
|
+ await websocket.send_json(result)
|
|
|
|
|
|
|
|
- excel_url = None
|
|
|
|
|
- if file_name:
|
|
|
|
|
- excel_url = f"/api/files/download/?agent_id=basic_question_talk&file_id={file_name}&file_type=word"
|
|
|
|
|
- result = {"message": output, "type": "message", "file_url": excel_url}
|
|
|
|
|
- try:
|
|
|
|
|
- SessionService(db).update_session(session_id=chat_id, is_incr=1,
|
|
|
|
|
- message={"role": "assistant", "content": result})
|
|
|
|
|
- except Exception as e:
|
|
|
|
|
- logger.error(e)
|
|
|
|
|
- await websocket.send_json(result | data)
|
|
|
|
|
- except json.JSONDecodeError as e:
|
|
|
|
|
- print(f"Error decoding JSON: {e}")
|
|
|
|
|
- # print(f"Response text: {text}")
|
|
|
|
|
- except Exception as e2:
|
|
|
|
|
- result = {"message": f"内部错误: {e2}", "type": "close"}
|
|
|
|
|
- await websocket.send_json(result)
|
|
|
|
|
- print(f"Error process message of basic agent: {e2}")
|
|
|
|
|
else:
|
|
else:
|
|
|
async for result in service.excel_talk(question, chat_id):
|
|
async for result in service.excel_talk(question, chat_id):
|
|
|
try:
|
|
try:
|
|
@@ -273,7 +268,7 @@ async def handle_client(websocket: WebSocket,
|
|
|
image_url = f"/api/files/download/?agent_id=basic_excel_talk&file_id={image_name}&file_type=image"
|
|
image_url = f"/api/files/download/?agent_id=basic_excel_talk&file_id={image_name}&file_type=image"
|
|
|
result = {"message": output, "type": "message", "excel_url": excel_url, "image_url": image_url}
|
|
result = {"message": output, "type": "message", "excel_url": excel_url, "image_url": image_url}
|
|
|
try:
|
|
try:
|
|
|
- SessionService(db).update_session(session_id=chat_id, is_incr=1,
|
|
|
|
|
|
|
+ SessionService(db).update_session(chat_id,
|
|
|
message={"role": "assistant", "content": result})
|
|
message={"role": "assistant", "content": result})
|
|
|
except Exception as e:
|
|
except Exception as e:
|
|
|
logger.error(e)
|
|
logger.error(e)
|
|
@@ -286,7 +281,10 @@ async def handle_client(websocket: WebSocket,
|
|
|
await websocket.send_json(result)
|
|
await websocket.send_json(result)
|
|
|
print(f"Error process message of basic agent: {e2}")
|
|
print(f"Error process message of basic agent: {e2}")
|
|
|
except Exception as e:
|
|
except Exception as e:
|
|
|
- await websocket.send_json({"message": str(e), "type": "error"})
|
|
|
|
|
|
|
+ logger.error("----------------------------------------------fffffff")
|
|
|
|
|
+ logger.error(e)
|
|
|
|
|
+ print(e)
|
|
|
|
|
+ await websocket.send_json({"message": "出现错误!", "type": "error"})
|
|
|
finally:
|
|
finally:
|
|
|
await websocket.close()
|
|
await websocket.close()
|
|
|
print(f"Client {agent_id} disconnected")
|
|
print(f"Client {agent_id} disconnected")
|