diff --git a/AI/WxMini/Milvus/X1_create_collection.py b/AI/WxMini/Milvus/X1_create_collection.py index 5de6417d..9c513aa5 100644 --- a/AI/WxMini/Milvus/X1_create_collection.py +++ b/AI/WxMini/Milvus/X1_create_collection.py @@ -1,7 +1,8 @@ from pymilvus import FieldSchema, DataType, utility -from WxMini.Milvus.Config.MulvusConfig import * + from WxMini.Milvus.Utils.MilvusCollectionManager import MilvusCollectionManager from WxMini.Milvus.Utils.MilvusConnectionPool import * +from WxMini.Utils.MySQLUtil import * # 1. 使用连接池管理 Milvus 连接 milvus_pool = MilvusConnectionPool(host=MS_HOST, port=MS_PORT, max_connections=MS_MAX_CONNECTIONS) @@ -39,4 +40,20 @@ print(f"集合 '{collection_name}' 创建成功。") milvus_pool.release_connection(connection) # 8. 关闭连接池 -milvus_pool.close() \ No newline at end of file +milvus_pool.close() + +# 9、 清空MYSQL中的表 +# 获取事件循环 +loop = asyncio.get_event_loop() + +# 初始化 MySQL 连接池 +mysql_pool = loop.run_until_complete(init_mysql_pool()) +print("MySQL 连接池已初始化。") + +# 清空表 +loop.run_until_complete(truncate_chat_log(mysql_pool)) + +# 关闭连接池 +mysql_pool.close() +loop.run_until_complete(mysql_pool.wait_closed()) +print("MySQL 连接池已关闭。") diff --git a/AI/WxMini/Start.py b/AI/WxMini/Start.py index 1b88420f..22e1769d 100644 --- a/AI/WxMini/Start.py +++ b/AI/WxMini/Start.py @@ -140,9 +140,7 @@ async def reply(session_id: str = Form(...), prompt: str = Form(...)): await asyncio.to_thread(collection_manager.insert_data, entities) logger.info("用户输入和大模型反馈已记录到向量数据库。") - # 记录聊天数据到 MySQL - await save_chat_to_mysql(app.state.mysql_pool, session_id, prompt, result) - logger.info("用户输入和大模型反馈已记录到 MySQL 数据库。") + # 调用 TTS 生成 MP3 uuid_str = str(uuid.uuid4()) @@ -159,6 +157,11 @@ async def reply(session_id: str = Form(...), prompt: str = Form(...)): # 完整的 URL url = 'https://ylt.oss-cn-hangzhou.aliyuncs.com/' + tts_file + + # 记录聊天数据到 MySQL + await save_chat_to_mysql(app.state.mysql_pool, session_id, prompt, result,url) + logger.info("用户输入和大模型反馈已记录到 MySQL 数据库。") + return { "success": True, "url": url, diff --git a/AI/WxMini/Utils/MySQLUtil.py b/AI/WxMini/Utils/MySQLUtil.py index 147b8342..157ecc71 100644 --- a/AI/WxMini/Utils/MySQLUtil.py +++ b/AI/WxMini/Utils/MySQLUtil.py @@ -25,12 +25,20 @@ async def init_mysql_pool(): # 保存聊天记录到 MySQL -async def save_chat_to_mysql(mysql_pool, session_id, prompt, result): +async def save_chat_to_mysql(mysql_pool, session_id, prompt, result,audio_url): async with mysql_pool.acquire() as conn: async with conn.cursor() as cur: await cur.execute( - "INSERT INTO t_chat_log (session_id, user_input, model_response, create_time) VALUES (%s, %s, %s, NOW())", - (session_id, prompt, result) + "INSERT INTO t_chat_log (session_id, user_input, model_response,audio_url, create_time) VALUES (%s, %s, %s, %s, NOW())", + (session_id, prompt, result,audio_url) ) await conn.commit() logger.info("用户输入和大模型反馈已记录到 MySQL 数据库。") + +# 清空表 +async def truncate_chat_log(mysql_pool): + async with mysql_pool.acquire() as conn: + async with conn.cursor() as cur: + await cur.execute("TRUNCATE TABLE t_chat_log") + await conn.commit() + logger.info("表 t_chat_log 已清空。") \ No newline at end of file diff --git a/AI/WxMini/Utils/__pycache__/MySQLUtil.cpython-310.pyc b/AI/WxMini/Utils/__pycache__/MySQLUtil.cpython-310.pyc index 710d61e1..8ec19b77 100644 Binary files a/AI/WxMini/Utils/__pycache__/MySQLUtil.cpython-310.pyc and b/AI/WxMini/Utils/__pycache__/MySQLUtil.cpython-310.pyc differ