|
|
@@ -315,6 +315,8 @@ async def handle_client(websocket: WebSocket,
|
|
|
logger.error(e)
|
|
|
complete_response = ""
|
|
|
async for rag_response in dify_service.chat(token, current_user.id, question, upload_file_id, conversation_id):
|
|
|
+ logger.error("=============================================")
|
|
|
+ logger.error(rag_response)
|
|
|
try:
|
|
|
if rag_response[:5] == "data:":
|
|
|
# 如果是,则截取掉前5个字符,并去除首尾空白符
|
|
|
@@ -327,6 +329,8 @@ async def handle_client(websocket: WebSocket,
|
|
|
data = json.loads(complete_response)
|
|
|
# data = json_data.get("data")
|
|
|
if "answer" not in data or not isinstance(data["answer"], dict): # 信息过滤
|
|
|
+ logger.error("非法数据--------------------")
|
|
|
+ logger.error(data)
|
|
|
continue
|
|
|
else: # 正常输出
|
|
|
answer = data.get("answer", "")
|
|
|
@@ -336,6 +340,7 @@ async def handle_client(websocket: WebSocket,
|
|
|
SessionService(db).update_session(chat_id,
|
|
|
message={"role": "assistant", "content": data, "conversation_id": data.get("conversation_id")})
|
|
|
except Exception as e:
|
|
|
+ logger.error("保存dify的会话异常!")
|
|
|
logger.error(e)
|
|
|
await websocket.send_json(result)
|
|
|
complete_response = ""
|
|
|
@@ -346,12 +351,7 @@ async def handle_client(websocket: WebSocket,
|
|
|
result = {"message": f"内部错误: {e2}", "type": "close"}
|
|
|
await websocket.send_json(result)
|
|
|
print(f"Error process message of ragflow: {e2}")
|
|
|
- try:
|
|
|
- dialog_chat_history = await ragflow_service.get_session_history(token, chat_id, 1)
|
|
|
- await update_session_history(db, dialog_chat_history, current_user.id)
|
|
|
- except Exception as e:
|
|
|
- logger.error(e)
|
|
|
- logger.error("-----------------保存ragflow的历史会话异常-----------------")
|
|
|
+
|
|
|
|
|
|
# 启动任务处理客户端消息
|
|
|
tasks = [
|