|
|
@@ -685,7 +685,7 @@ async def handle_client(websocket: WebSocket,
|
|
|
complete_response = ""
|
|
|
async for rag_response in dify_service.chat(token, current_user.id, question, files,
|
|
|
conversation_id, {}):
|
|
|
- # print(rag_response)
|
|
|
+ print(rag_response)
|
|
|
try:
|
|
|
if rag_response[:5] == "data:":
|
|
|
# 如果是,则截取掉前5个字符,并去除首尾空白符
|
|
|
@@ -712,9 +712,11 @@ async def handle_client(websocket: WebSocket,
|
|
|
elif isinstance(answer, dict):
|
|
|
|
|
|
message = answer.get("title", "")
|
|
|
+ if answer.get("status") == "failed":
|
|
|
+ message = answer.get("error")
|
|
|
|
|
|
result = {"message": message, "type": "system"}
|
|
|
- continue
|
|
|
+ # continue
|
|
|
elif data.get("event") == "message": # "event": "message_end"
|
|
|
# 正常输出
|
|
|
answer = data.get("answer", "")
|
|
|
@@ -724,7 +726,7 @@ async def handle_client(websocket: WebSocket,
|
|
|
if isinstance(answer, str):
|
|
|
logger.error("----------------未知数据--------------------")
|
|
|
logger.error(data)
|
|
|
- result = {"message": "", "type": "close", "download_url": ""}
|
|
|
+ # result = {"message": "", "type": "close", "download_url": ""}
|
|
|
elif isinstance(answer, dict):
|
|
|
download_url = ""
|
|
|
outputs = answer.get("outputs", {})
|
|
|
@@ -734,8 +736,8 @@ async def handle_client(websocket: WebSocket,
|
|
|
else:
|
|
|
message = answer.get("error", "")
|
|
|
|
|
|
- # result = {"message": message, "type": "message",
|
|
|
- # "download_url": download_url}
|
|
|
+ result = {"message": message, "type": "system",
|
|
|
+ "download_url": download_url}
|
|
|
try:
|
|
|
SessionService(db).update_session(chat_id,
|
|
|
message={"role": "assistant",
|
|
|
@@ -748,7 +750,7 @@ async def handle_client(websocket: WebSocket,
|
|
|
logger.error("保存dify的会话异常!")
|
|
|
logger.error(e)
|
|
|
# await websocket.send_json(result)
|
|
|
- continue
|
|
|
+ # continue
|
|
|
elif data.get("event") == "message_end":
|
|
|
result = {"message": "", "type": "close"}
|
|
|
|