update:移除无用代码

This commit is contained in:
hrz
2025-12-20 00:30:20 +08:00
parent c5e288ca9c
commit b597cb0686
5 changed files with 15 additions and 64 deletions
@@ -83,9 +83,6 @@ public class AgentChatHistoryBizServiceImpl implements AgentChatHistoryBizServic
log.warn("聊天记录上报时,未找到mac地址为 {} 的设备", macAddress); log.warn("聊天记录上报时,未找到mac地址为 {} 的设备", macAddress);
} }
// 异步触发聊天记录总结(仅在对话结束时触发)
triggerChatSummaryAsync(report.getSessionId(), chatType);
return Boolean.TRUE; return Boolean.TRUE;
} }
@@ -130,27 +127,4 @@ public class AgentChatHistoryBizServiceImpl implements AgentChatHistoryBizServic
log.info("设备 {} 对应智能体 {} 上报成功", macAddress, agentId); log.info("设备 {} 对应智能体 {} 上报成功", macAddress, agentId);
} }
/**
* 异步触发聊天记录总结
* 仅在对话结束时(chatType=2)触发总结,避免频繁总结
*/
private void triggerChatSummaryAsync(String sessionId, Byte chatType) {
// 仅在对话结束时触发总结(chatType=2表示对话结束)
if (chatType != null && chatType == 2) {
new Thread(() -> {
try {
log.info("开始为会话 {} 生成聊天记录总结", sessionId);
boolean success = agentChatSummaryService.generateAndSaveChatSummary(sessionId);
if (success) {
log.info("会话 {} 的聊天记录总结生成并保存成功", sessionId);
} else {
log.warn("会话 {} 的聊天记录总结生成失败", sessionId);
}
} catch (Exception e) {
log.error("触发会话 {} 的聊天记录总结时发生异常", sessionId, e);
}
}).start();
}
}
} }
@@ -1,11 +1,19 @@
package xiaozhi.modules.agent.service.impl; package xiaozhi.modules.agent.service.impl;
import lombok.RequiredArgsConstructor; import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.RequiredArgsConstructor;
import xiaozhi.modules.agent.dto.AgentChatHistoryDTO; import xiaozhi.modules.agent.dto.AgentChatHistoryDTO;
import xiaozhi.modules.agent.dto.AgentChatSummaryDTO; import xiaozhi.modules.agent.dto.AgentChatSummaryDTO;
import xiaozhi.modules.agent.dto.AgentMemoryDTO; import xiaozhi.modules.agent.dto.AgentMemoryDTO;
@@ -14,19 +22,12 @@ import xiaozhi.modules.agent.entity.AgentChatHistoryEntity;
import xiaozhi.modules.agent.service.AgentChatHistoryService; import xiaozhi.modules.agent.service.AgentChatHistoryService;
import xiaozhi.modules.agent.service.AgentChatSummaryService; import xiaozhi.modules.agent.service.AgentChatSummaryService;
import xiaozhi.modules.agent.service.AgentService; import xiaozhi.modules.agent.service.AgentService;
import xiaozhi.modules.config.service.ConfigService; import xiaozhi.modules.agent.vo.AgentInfoVO;
import xiaozhi.modules.device.entity.DeviceEntity; import xiaozhi.modules.device.entity.DeviceEntity;
import xiaozhi.modules.device.service.DeviceService; import xiaozhi.modules.device.service.DeviceService;
import xiaozhi.modules.llm.service.LLMService; import xiaozhi.modules.llm.service.LLMService;
import xiaozhi.modules.agent.vo.AgentInfoVO;
import xiaozhi.modules.model.entity.ModelConfigEntity; import xiaozhi.modules.model.entity.ModelConfigEntity;
import xiaozhi.modules.model.service.ModelConfigService; import xiaozhi.modules.model.service.ModelConfigService;
import java.util.Map;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/** /**
* 智能体聊天记录总结服务实现类 * 智能体聊天记录总结服务实现类
@@ -42,7 +43,6 @@ public class AgentChatSummaryServiceImpl implements AgentChatSummaryService {
private final AgentService agentService; private final AgentService agentService;
private final DeviceService deviceService; private final DeviceService deviceService;
private final LLMService llmService; private final LLMService llmService;
private final ConfigService configService;
private final ModelConfigService modelConfigService; private final ModelConfigService modelConfigService;
// 总结规则常量 // 总结规则常量
@@ -89,7 +89,7 @@ public class ShiroConfig {
filterMap.put("/config/**", "server"); filterMap.put("/config/**", "server");
filterMap.put("/agent/chat-history/report", "server"); filterMap.put("/agent/chat-history/report", "server");
filterMap.put("/agent/chat-history/download/**", "anon"); filterMap.put("/agent/chat-history/download/**", "anon");
filterMap.put("/agent/saveMemory/**", "server"); filterMap.put("/agent/chat-summary/**", "server");
filterMap.put("/agent/play/**", "anon"); filterMap.put("/agent/play/**", "anon");
filterMap.put("/voiceClone/play/**", "anon"); filterMap.put("/voiceClone/play/**", "anon");
filterMap.put("/**", "oauth2"); filterMap.put("/**", "oauth2");
@@ -172,20 +172,6 @@ async def get_agent_models(
) )
async def save_mem_local_short(mac_address: str, short_momery: str) -> Optional[Dict]:
try:
return await ManageApiClient._instance._execute_async_request(
"PUT",
f"/agent/saveMemory/" + mac_address,
json={
"summaryMemory": short_momery,
},
)
except Exception as e:
print(f"存储短期记忆到服务器失败: {e}")
return None
async def generate_and_save_chat_summary(session_id: str) -> Optional[Dict]: async def generate_and_save_chat_summary(session_id: str) -> Optional[Dict]:
"""生成并保存聊天记录总结""" """生成并保存聊天记录总结"""
try: try:
@@ -4,10 +4,7 @@ import json
import os import os
import yaml import yaml
from config.config_loader import get_project_dir from config.config_loader import get_project_dir
from config.manage_api_client import ( from config.manage_api_client import generate_and_save_chat_summary
save_mem_local_short,
generate_and_save_chat_summary,
)
import asyncio import asyncio
from core.utils.util import check_model_key from core.utils.util import check_model_key
@@ -181,13 +178,7 @@ class MemoryProvider(MemoryProviderBase):
else: else:
# 当save_to_file为False时,调用Java端的聊天记录总结接口 # 当save_to_file为False时,调用Java端的聊天记录总结接口
summary_id = session_id if session_id else self.role_id summary_id = session_id if session_id else self.role_id
# 使用异步版本,需要在事件循环中运行 await generate_and_save_chat_summary(summary_id)
try:
loop = asyncio.get_running_loop()
loop.create_task(generate_and_save_chat_summary(summary_id))
except RuntimeError:
# 如果没有运行中的事件循环,创建一个新的
asyncio.run(generate_and_save_chat_summary(summary_id))
logger.bind(tag=TAG).info( logger.bind(tag=TAG).info(
f"Save memory successful - Role: {self.role_id}, Session: {session_id}" f"Save memory successful - Role: {self.role_id}, Session: {session_id}"
) )