From 74d286ea8e5be898d142f9ebed0d0c72dbdc5900 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期五, 14 二月 2025 16:30:18 +0800 Subject: [PATCH] merge master --- app/api/chat.py | 26 +++++++++++++++++--------- 1 files changed, 17 insertions(+), 9 deletions(-) diff --git a/app/api/chat.py b/app/api/chat.py index 2c03a58..6e54cb9 100644 --- a/app/api/chat.py +++ b/app/api/chat.py @@ -11,7 +11,7 @@ from app.api import get_current_user_websocket from app.config.config import settings from app.config.const import IMAGE_TO_TEXT, DOCUMENT_TO_REPORT, DOCUMENT_TO_CLEANING, DOCUMENT_IA_QUESTIONS, \ - DOCUMENT_TO_REPORT_TITLE, DOCUMENT_TO_TITLE, DOCUMENT_TO_PAPER + DOCUMENT_TO_REPORT_TITLE, DOCUMENT_TO_TITLE, DOCUMENT_TO_PAPER, DOCUMENT_IA_QUESTIONS_DS from app.models import MenuCapacityModel from app.models.agent_model import AgentModel, AgentType from app.models.base_model import get_db @@ -435,6 +435,7 @@ receive_message = await websocket.receive_json() print(f"Received from client {chat_id}: {receive_message}") upload_files = receive_message.get('upload_files', []) + upload_filenames = receive_message.get('upload_filenames', []) title = receive_message.get('title', "") sub_titles = receive_message.get('sub_titles', "") workflow_type = receive_message.get('workflow', 1) @@ -458,7 +459,7 @@ AgentType.DIFY, current_user.id, {"role": "user", "content": title if title else title_query, "type": workflow_type, - "is_clean": is_clean}, + "is_clean": is_clean, "upload_filenames":upload_filenames}, workflow_type ) conversation_id = session.conversation_id @@ -807,8 +808,12 @@ result = {"message": f"鍐呴儴閿欒锛� {e2}", "type": "close"} await websocket.send_json(result) print(f"Error process message of ragflow: {e2}") - elif chat_type == "documentIa": - token = DfTokenDao(db).get_token_by_id(DOCUMENT_IA_QUESTIONS) + elif chat_type == "documentIa" or chat_type == "documentIaDs": + token_dict = { + "documentIa": DOCUMENT_IA_QUESTIONS, + "documentIaDs": DOCUMENT_IA_QUESTIONS_DS, + } + token = DfTokenDao(db).get_token_by_id(token_dict[chat_type]) # print(token) if not token: await websocket.send_json({"message": "Invalid token", "type": "error"}) @@ -819,6 +824,7 @@ receive_message = await websocket.receive_json() print(f"Received from client {chat_id}: {receive_message}") upload_file_id = receive_message.get('upload_file_id', []) + upload_filenames = receive_message.get('upload_filenames', []) question = receive_message.get('message', "") if not question and not image_url: await websocket.send_json({"message": "Invalid request", "type": "error"}) @@ -830,7 +836,7 @@ agent_id, AgentType.DIFY, current_user.id, - {"role": "user", "content": question} + {"role": "user", "content": question, "upload_filenames": upload_filenames} ) conversation_id = session.conversation_id except Exception as e: @@ -874,11 +880,13 @@ logger.error(data) continue elif isinstance(answer, dict): + if answer.get("status") == "failed": + message = answer.get("error", "") + else: + message = answer.get("title", "") - message = answer.get("title", "") - - result = {"message": message, "type": "system"} - continue + result = {"message": message, "type": "system"} + # continue elif data.get("event") == "message": # "event": "message_end" # 姝e父杈撳嚭 answer = data.get("answer", "") -- Gitblit v1.8.0