mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 11:07:06 +00:00
(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:
@@ -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);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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("来闲聊");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user