| | |
| | | await websocket.send_json(result) |
| | | |
| | | else: |
| | | message_data = {} |
| | | logger.error("---------------------excel_talk-----------------------------") |
| | | excel_url = "" |
| | | image_url = "" |
| | | async for data in service.excel_talk(question, chat_id): |
| | | logger.error(data) |
| | | # logger.error(data) |
| | | output = data.get("output", "") |
| | | excel_name = data.get("excel_name", "") |
| | | image_name = data.get("image_name", "") |
| | |
| | | return None |
| | | return (f"/api/files/download/?agent_id={agent_id}&file_id={name}" |
| | | f"&file_type={file_type}") |
| | | excel_url = build_file_url(excel_name, 'excel') |
| | | image_url = build_file_url(image_name, 'image') |
| | | if excel_url or data.get("e", ""): |
| | | try: |
| | | SessionService(db).update_session(chat_id, |
| | | message={ |
| | | "content": output, |
| | | "excel_url": excel_url, |
| | | "image_url": image_url, |
| | | "sql": data.get("sql", ""), |
| | | "code": data.get("code", ""), |
| | | "e": data.get("e", ""), |
| | | "role": "assistant"}) |
| | | except Exception as e: |
| | | logger.error(f"Unexpected error when update_session: {e}") |
| | | if excel_name: |
| | | excel_url = build_file_url(excel_name, 'excel') |
| | | if image_name: |
| | | image_url = build_file_url(image_name, 'image') |
| | | if data["type"] == "message": |
| | | message_data = { |
| | | "content": output, |
| | | "excel_url": excel_url, |
| | | "image_url": image_url, |
| | | "sql": data.get("sql", ""), |
| | | "code": data.get("code", ""), |
| | | "e": data.get("e", ""), |
| | | "role": "assistant"} |
| | | |
| | | # 发送结果给客户端 |
| | | data["type"] = "message" |
| | | # data["type"] = "message" |
| | | data["message"] = output |
| | | data["excel_url"] = excel_url |
| | | data["image_url"] = image_url |
| | | await websocket.send_json(data) |
| | | if message_data: |
| | | try: |
| | | SessionService(db).update_session(chat_id,message=message_data) |
| | | except Exception as e: |
| | | logger.error(f"Unexpected error when update_session: {e}") |
| | | except Exception as e: |
| | | logger.error(e) |
| | | await websocket.send_json({"message": "出现错误!", "type": "error"}) |