main
HuangHai 4 months ago
parent 373bf4fb3a
commit 8b98169c40

@ -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()
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 连接池已关闭。")

@ -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,

@ -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 已清空。")
Loading…
Cancel
Save