(improvement)(launcher) Optimize demo data loading to avoid repeatedly writing data to mysql (#1236)

* (improvement)(launcher) Optimize demo data loading to avoid repeatedly writing data to mysql


Co-authored-by: lxwcodemonkey
This commit is contained in:
LXW
2024-06-27 11:19:21 +08:00
committed by GitHub
parent a655110f5f
commit 9315dc35f9
2 changed files with 7 additions and 18 deletions

View File

@@ -4,11 +4,9 @@ import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.chat.api.pojo.request.ChatExecuteReq; import com.tencent.supersonic.chat.api.pojo.request.ChatExecuteReq;
import com.tencent.supersonic.chat.api.pojo.request.ChatParseReq; import com.tencent.supersonic.chat.api.pojo.request.ChatParseReq;
import com.tencent.supersonic.chat.api.pojo.request.ChatQueryDataReq; import com.tencent.supersonic.chat.api.pojo.request.ChatQueryDataReq;
import com.tencent.supersonic.chat.api.pojo.request.SimilarQueryReq;
import com.tencent.supersonic.chat.server.agent.Agent; import com.tencent.supersonic.chat.server.agent.Agent;
import com.tencent.supersonic.chat.server.executor.ChatExecutor; import com.tencent.supersonic.chat.server.executor.ChatExecutor;
import com.tencent.supersonic.chat.server.parser.ChatParser; import com.tencent.supersonic.chat.server.parser.ChatParser;
import com.tencent.supersonic.chat.server.persistence.dataobject.ChatQueryDO;
import com.tencent.supersonic.chat.server.pojo.ChatExecuteContext; import com.tencent.supersonic.chat.server.pojo.ChatExecuteContext;
import com.tencent.supersonic.chat.server.pojo.ChatParseContext; import com.tencent.supersonic.chat.server.pojo.ChatParseContext;
import com.tencent.supersonic.chat.server.processor.execute.ExecuteResultProcessor; import com.tencent.supersonic.chat.server.processor.execute.ExecuteResultProcessor;
@@ -18,7 +16,6 @@ import com.tencent.supersonic.chat.server.service.ChatManageService;
import com.tencent.supersonic.chat.server.service.ChatService; import com.tencent.supersonic.chat.server.service.ChatService;
import com.tencent.supersonic.chat.server.util.ComponentFactory; import com.tencent.supersonic.chat.server.util.ComponentFactory;
import com.tencent.supersonic.chat.server.util.QueryReqConverter; import com.tencent.supersonic.chat.server.util.QueryReqConverter;
import com.tencent.supersonic.chat.server.util.SimilarQueryManager;
import com.tencent.supersonic.common.util.BeanMapper; import com.tencent.supersonic.common.util.BeanMapper;
import com.tencent.supersonic.common.util.ContextUtils; import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.headless.api.pojo.SemanticParseInfo; import com.tencent.supersonic.headless.api.pojo.SemanticParseInfo;
@@ -48,8 +45,6 @@ public class ChatServiceImpl implements ChatService {
private ChatQueryService chatQueryService; private ChatQueryService chatQueryService;
@Autowired @Autowired
private RetrieveService retrieveService; private RetrieveService retrieveService;
@Autowired
private SimilarQueryManager similarQueryManager;
private List<ChatParser> chatParsers = ComponentFactory.getChatParsers(); private List<ChatParser> chatParsers = ComponentFactory.getChatParsers();
private List<ChatExecutor> chatExecutors = ComponentFactory.getChatExecutors(); private List<ChatExecutor> chatExecutors = ComponentFactory.getChatExecutors();
private List<ParseResultProcessor> parseResultProcessors = ComponentFactory.getParseProcessors(); private List<ParseResultProcessor> parseResultProcessors = ComponentFactory.getParseProcessors();
@@ -95,7 +90,6 @@ public class ChatServiceImpl implements ChatService {
for (ExecuteResultProcessor processor : executeResultProcessors) { for (ExecuteResultProcessor processor : executeResultProcessors) {
processor.process(chatExecuteContext, queryResult); processor.process(chatExecuteContext, queryResult);
} }
saveQueryResult(chatExecuteReq, queryResult);
} }
return queryResult; return queryResult;
@@ -143,15 +137,4 @@ public class ChatServiceImpl implements ChatService {
return chatQueryService.queryDimensionValue(dimensionValueReq, user); return chatQueryService.queryDimensionValue(dimensionValueReq, user);
} }
public void saveQueryResult(ChatExecuteReq chatExecuteReq, QueryResult queryResult) {
//The history record only retains the query result of the first parse
if (chatExecuteReq.getParseId() > 1) {
return;
}
ChatQueryDO chatQueryDO = chatManageService.saveQueryResult(chatExecuteReq, queryResult);
SimilarQueryReq similarQueryReq = SimilarQueryReq.builder().queryId(chatExecuteReq.getQueryId())
.queryText(chatQueryDO.getQueryText()).agentId(chatQueryDO.getAgentId()).build();
similarQueryManager.saveSimilarQuery(similarQueryReq);
}
} }

View File

@@ -11,6 +11,9 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
import java.util.stream.Collectors;
@Component @Component
@Slf4j @Slf4j
@Order(2) @Order(2)
@@ -35,6 +38,9 @@ public class SmallTalkDemo extends S2BaseDemo {
@Override @Override
boolean checkNeedToRun() { boolean checkNeedToRun() {
return true; List<String> agentNames = agentService.getAgents()
.stream().map(Agent::getName).collect(Collectors.toList());
return !agentNames.contains("来闲聊");
} }
} }