add namespace logger
This commit is contained in:
@@ -86,6 +86,7 @@ class AgentNamespace(Namespace):
|
|||||||
chatmanager.function_manager.add_function(next_chapter, {'user_uuid': user_uuid})
|
chatmanager.function_manager.add_function(next_chapter, {'user_uuid': user_uuid})
|
||||||
|
|
||||||
if not chatmanager.restart:# 尝试加载用户学习进度
|
if not chatmanager.restart:# 尝试加载用户学习进度
|
||||||
|
self.app.logger.info(f"尝试加载用户学习进度: {user_id}, {course_id}, {chapter_name}, {lesson_name}")
|
||||||
progress_result = load_learning_progress(user_id, course_id, chapter_name, lesson_name)
|
progress_result = load_learning_progress(user_id, course_id, chapter_name, lesson_name)
|
||||||
need_skip_chapters = 0
|
need_skip_chapters = 0
|
||||||
|
|
||||||
@@ -96,7 +97,7 @@ class AgentNamespace(Namespace):
|
|||||||
# 根据scores的数量确定需要跳过的章节数
|
# 根据scores的数量确定需要跳过的章节数
|
||||||
need_skip_chapters = len(progress['scores'])
|
need_skip_chapters = len(progress['scores'])
|
||||||
chatmanager.scores = progress['scores']
|
chatmanager.scores = progress['scores']
|
||||||
print(f"恢复用户学习进度: {user_uuid}, 已完成 {need_skip_chapters} 个章节")
|
self.app.logger.info(f"恢复用户学习进度: {user_id}, 已完成 {need_skip_chapters} 个章节")
|
||||||
|
|
||||||
# 恢复聊天历史
|
# 恢复聊天历史
|
||||||
if 'chat_historys' in progress:
|
if 'chat_historys' in progress:
|
||||||
@@ -112,7 +113,7 @@ class AgentNamespace(Namespace):
|
|||||||
# 使用默认值,确保有完整的结构
|
# 使用默认值,确保有完整的结构
|
||||||
chatmanager.chat_historys = progress_result['data']['chat_historys']
|
chatmanager.chat_historys = progress_result['data']['chat_historys']
|
||||||
chatmanager.scores = progress_result['data']['scores']
|
chatmanager.scores = progress_result['data']['scores']
|
||||||
print(f"未找到学习记录,使用默认值: {progress_result['message']}")
|
self.app.logger.info(f"未找到学习记录,使用默认值: {progress_result['message']}")
|
||||||
|
|
||||||
fmd,fmdp,fsp = load_full_markdown_file(course_id, chapter_name, lesson_name)
|
fmd,fmdp,fsp = load_full_markdown_file(course_id, chapter_name, lesson_name)
|
||||||
user_uuid2ase_client[user_uuid] = HSAEngineClient(current_app.config["ASE_ENGINE_URL"], current_app.config["ASE_ENGINE_NAMESPACE"],id=user_id, chatmanager = chatmanager)
|
user_uuid2ase_client[user_uuid] = HSAEngineClient(current_app.config["ASE_ENGINE_URL"], current_app.config["ASE_ENGINE_NAMESPACE"],id=user_id, chatmanager = chatmanager)
|
||||||
@@ -185,10 +186,10 @@ class AgentNamespace(Namespace):
|
|||||||
|
|
||||||
def on_language(self, language):
|
def on_language(self, language):
|
||||||
ex = current_app.extensions
|
ex = current_app.extensions
|
||||||
print(f"Language changed to: {language}")
|
self.app.logger.info(f"Language changed to: {language}")
|
||||||
|
|
||||||
def on_message(self, data):
|
def on_message(self, data):
|
||||||
print(f"Message from client: {data}")
|
self.app.logger.info(f"Message from client: {data}")
|
||||||
ex = current_app.extensions
|
ex = current_app.extensions
|
||||||
chatmanager = ex["user_uuid2chatmanager"]
|
chatmanager = ex["user_uuid2chatmanager"]
|
||||||
uuid = session.get('user_uuid')
|
uuid = session.get('user_uuid')
|
||||||
@@ -198,14 +199,14 @@ class AgentNamespace(Namespace):
|
|||||||
if data['type'] == 'text':
|
if data['type'] == 'text':
|
||||||
res = user_uuid2ase_client[uuid].send_text('dialog', data['data'])
|
res = user_uuid2ase_client[uuid].send_text('dialog', data['data'])
|
||||||
chatmanager[uuid].chat_historys.append({'role': 'user', 'content': data['data']})
|
chatmanager[uuid].chat_historys.append({'role': 'user', 'content': data['data']})
|
||||||
print(f"Send text to route 'dialog' success: {res}")
|
self.app.logger.info(f"Send text to route 'dialog' success: {res}")
|
||||||
|
|
||||||
if data['type'] == 'function': # 在这里 前端会发送允许执行的function与参数
|
if data['type'] == 'function': # 在这里 前端会发送允许执行的function与参数
|
||||||
print("function_call", data['data'])
|
self.app.logger.info(f"function_call: {data['data']}")
|
||||||
d = data['data']
|
d = data['data']
|
||||||
res = chatmanager[uuid].function_call(d['data']['name'], d['data'].get('args', {}))
|
res = chatmanager[uuid].function_call(d['data']['name'], d['data'].get('args', {}))
|
||||||
d['data'] = res.to_dict()
|
d['data'] = res.to_dict()
|
||||||
print("function_call_res", d['data'])
|
self.app.logger.info(f"function_call_res: {d['data']}")
|
||||||
emit(d['route'], d, room=uuid, namespace='/agent')
|
emit(d['route'], d, room=uuid, namespace='/agent')
|
||||||
chatmanager[uuid].chat_historys.append({'role': 'user', 'content': data['data']})
|
chatmanager[uuid].chat_historys.append({'role': 'user', 'content': data['data']})
|
||||||
user_uuid2ase_client[uuid].send_text(d['route'], data['data'])
|
user_uuid2ase_client[uuid].send_text(d['route'], data['data'])
|
||||||
@@ -216,10 +217,10 @@ class AgentNamespace(Namespace):
|
|||||||
uuid = session.get('user_uuid')
|
uuid = session.get('user_uuid')
|
||||||
user_uuid2ase_client = ex["user_uuid2ase_client"]
|
user_uuid2ase_client = ex["user_uuid2ase_client"]
|
||||||
res = user_uuid2ase_client[uuid].send_voice('voice_in', voice_data['data'])
|
res = user_uuid2ase_client[uuid].send_voice('voice_in', voice_data['data'])
|
||||||
print(f"Send voicce to route 'voice_in' success: {res}")
|
self.app.logger.info(f"Send voicce to route 'voice_in' success: {res}")
|
||||||
|
|
||||||
def on_initiative(self,data): # 主动call
|
def on_initiative(self,data): # 主动call
|
||||||
print("User active function call")
|
self.app.logger.info("User active function call")
|
||||||
ex = current_app.extensions
|
ex = current_app.extensions
|
||||||
uuid = session.get('user_uuid')
|
uuid = session.get('user_uuid')
|
||||||
manager = ex["user_uuid2chatmanager"][uuid]
|
manager = ex["user_uuid2chatmanager"][uuid]
|
||||||
@@ -232,7 +233,7 @@ class AgentNamespace(Namespace):
|
|||||||
|
|
||||||
|
|
||||||
def on_disconnect(self,data):
|
def on_disconnect(self,data):
|
||||||
print(f'AgentNamespace client disconnected, session user_uuid: {session.get("user_uuid", "unknown")}')
|
self.app.logger.info(f'AgentNamespace client disconnected, session user_uuid: {session.get("user_uuid", "unknown")}')
|
||||||
ex = current_app.extensions
|
ex = current_app.extensions
|
||||||
uuid = session.get('user_uuid')
|
uuid = session.get('user_uuid')
|
||||||
user_uuid2chatmanager = ex.get("user_uuid2chatmanager", {})
|
user_uuid2chatmanager = ex.get("user_uuid2chatmanager", {})
|
||||||
@@ -242,15 +243,15 @@ class AgentNamespace(Namespace):
|
|||||||
# 获取用户ID
|
# 获取用户ID
|
||||||
uuid2username = ex.get("uuid2username", {})
|
uuid2username = ex.get("uuid2username", {})
|
||||||
user_id = uuid2username.get(uuid, "unknown")
|
user_id = uuid2username.get(uuid, "unknown")
|
||||||
current_app.logger.debug(f"get user's dialog his user_id={user_id}")
|
self.app.logger.debug(f"get user's dialog his user_id={user_id}")
|
||||||
# 调用保存学习进度功能
|
# 调用保存学习进度功能
|
||||||
chatmanager = user_uuid2chatmanager.get(uuid)
|
chatmanager = user_uuid2chatmanager.get(uuid)
|
||||||
if chatmanager:
|
if chatmanager:
|
||||||
save_result = save_learning_progress(chatmanager, user_id)
|
save_result = save_learning_progress(chatmanager, user_id)
|
||||||
print(f"保存学习进度结果: {save_result}")
|
self.app.logger.info(f"保存学习进度结果: {save_result}")
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"保存学习进度时发生异常: {str(e)}")
|
self.app.logger.error(f"保存学习进度时发生异常: {str(e)}")
|
||||||
|
|
||||||
# 执行原有的断开连接逻辑
|
# 执行原有的断开连接逻辑
|
||||||
if uuid in user_uuid2chatmanager:
|
if uuid in user_uuid2chatmanager:
|
||||||
@@ -260,5 +261,5 @@ class AgentNamespace(Namespace):
|
|||||||
if uuid:
|
if uuid:
|
||||||
leave_room(uuid, namespace='/agent')
|
leave_room(uuid, namespace='/agent')
|
||||||
|
|
||||||
print("VSCode client disconnected")
|
self.app.logger.info("VSCode client disconnected")
|
||||||
print("Disconnect reason:"+str(data))
|
self.app.logger.info(f"Disconnect reason: {str(data)}")
|
||||||
|
|||||||
Reference in New Issue
Block a user