zhaoqingang пре 1 година
родитељ
комит
6be3990bfe
2 измењених фајлова са 12 додато и 7 уклоњено
  1. 6 6
      app/api/chat.py
  2. 6 1
      app/service/difyService.py

+ 6 - 6
app/api/chat.py

@@ -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 = [

+ 6 - 1
app/service/difyService.py

@@ -5,6 +5,8 @@ import httpx
 from typing import Union, Dict, List
 from fastapi import HTTPException
 from starlette import status
+
+from Log import logger
 from app.config.config import settings
 from app.utils.rsa_crypto import RagflowCrypto
 
@@ -93,7 +95,7 @@ class DifyService:
                 if response.status_code == 200:
                     try:
                         async for answer in response.aiter_text():
-                            print(f"response of ragflow chat: {answer}")
+                            # print(f"response of ragflow chat: {answer}")
                             yield answer
                     except GeneratorExit as e:
                         print(e)
@@ -128,6 +130,9 @@ class DifyService:
         async with httpx.AsyncClient() as client:
             response = await client.post(url, headers=headers, files=files, data=data)
             data = self._handle_response(response)
+            logger.error("----------------------------ffff-------------------------------")
+            logger.error(response.status_code)
+            logger.error(response.text)
             # file_path = data.get("file_path", "")
             result = {
                 "file_path": data