|  |  |  | 
|---|
|  |  |  | print(f"Error process message of ragflow: {e2}") | 
|---|
|  |  |  | elif agent.type == "reportWorkflow": | 
|---|
|  |  |  |  | 
|---|
|  |  |  | token = DfTokenDao(db).get_token_by_id(DOCUMENT_TO_CLEANING) | 
|---|
|  |  |  | if not token: | 
|---|
|  |  |  | await websocket.send_json({"message": "Invalid token document_to_cleaning", "type": "error"}) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | while True: | 
|---|
|  |  |  | receive_message = await websocket.receive_json() | 
|---|
|  |  |  | print(f"Received from client {chat_id}: {receive_message}") | 
|---|
|  |  |  | 
|---|
|  |  |  | inputs_list = [] | 
|---|
|  |  |  | is_next = 0 | 
|---|
|  |  |  | if workflow_type == 1: | 
|---|
|  |  |  | token = DfTokenDao(db).get_token_by_id(DOCUMENT_TO_CLEANING) | 
|---|
|  |  |  | if not token: | 
|---|
|  |  |  | await websocket.send_json( | 
|---|
|  |  |  | {"message": "Invalid token document_to_cleaning", "type": "error"}) | 
|---|
|  |  |  | inputs["input_files"] = files | 
|---|
|  |  |  | inputs["Completion_of_main_indicators"] = title | 
|---|
|  |  |  | inputs_list.append({"inputs": inputs, "token": token, "workflow_type": workflow_type}) | 
|---|
|  |  |  | 
|---|
|  |  |  | {"message": "Invalid token document_to_title", "type": "error"}) | 
|---|
|  |  |  | inputs_list.append({"inputs": inputs, "token": token, "workflow_type": workflow_type}) | 
|---|
|  |  |  | elif workflow_type == 3 and is_clean == 1 or tokens >= max_token: | 
|---|
|  |  |  | token = DfTokenDao(db).get_token_by_id(DOCUMENT_TO_CLEANING) | 
|---|
|  |  |  | if not token: | 
|---|
|  |  |  | await websocket.send_json( | 
|---|
|  |  |  | {"message": "Invalid token document_to_cleaning", "type": "error"}) | 
|---|
|  |  |  | inputs["input_files"] = files | 
|---|
|  |  |  | inputs["Completion_of_main_indicators"] = title | 
|---|
|  |  |  | inputs_list.append({"inputs": inputs, "token": token, "workflow_type": 1}) | 
|---|
|  |  |  | 
|---|
|  |  |  | workflow_dict = {} | 
|---|
|  |  |  | if input["workflow_type"] == 1 or input["workflow_type"] == 2: | 
|---|
|  |  |  | async for rag_response in dify_service.workflow(input["token"], current_user.id, i): | 
|---|
|  |  |  | print(rag_response) | 
|---|
|  |  |  | # print(rag_response) | 
|---|
|  |  |  | try: | 
|---|
|  |  |  | if rag_response[:5] == "data:": | 
|---|
|  |  |  | # 如果是,则截取掉前5个字符,并去除首尾空白符 | 
|---|
|  |  |  | 
|---|
|  |  |  | node_data["data"]["outputs"] = {} | 
|---|
|  |  |  | if "inputs" in node_data["data"]: | 
|---|
|  |  |  | node_data["data"]["inputs"] = {} | 
|---|
|  |  |  | print(node_data) | 
|---|
|  |  |  | # print(node_data) | 
|---|
|  |  |  | node_list.append(node_data) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | complete_response = "" | 
|---|
|  |  |  | 
|---|
|  |  |  | node_data["data"]["outputs"] = {} | 
|---|
|  |  |  | if "inputs" in node_data["data"]: | 
|---|
|  |  |  | node_data["data"]["inputs"] = {} | 
|---|
|  |  |  | print(node_data) | 
|---|
|  |  |  | # print(node_data) | 
|---|
|  |  |  | node_list.append(node_data) | 
|---|
|  |  |  | complete_response = "" | 
|---|
|  |  |  | if data.get("event") == "node_started":  # "event": "message_end" | 
|---|