[improvement][chat] Optimize the logic for obtaining the generic thread pool (#1979)

This commit is contained in:
lexluo09
2024-12-26 23:37:55 +08:00
committed by GitHub
parent 94267f6028
commit a23d1071a3
6 changed files with 33 additions and 26 deletions

View File

@@ -102,8 +102,13 @@ public class NL2SQLParser implements ChatQueryParser {
}
if (parseResp.getSelectedParses().isEmpty()) {
queryNLReq.setMapModeEnum(MapModeEnum.LOOSE);
doParse(queryNLReq, parseResp);
for (MapModeEnum mode : Lists.newArrayList(MapModeEnum.LOOSE)) {
queryNLReq.setMapModeEnum(mode);
doParse(queryNLReq, parseResp);
if (!parseResp.getSelectedParses().isEmpty()) {
break;
}
}
}
if (parseResp.getSelectedParses().isEmpty()) {

View File

@@ -12,7 +12,6 @@ import com.tencent.supersonic.chat.server.service.AgentService;
import com.tencent.supersonic.chat.server.service.ChatQueryService;
import com.tencent.supersonic.chat.server.service.MemoryService;
import com.tencent.supersonic.common.config.ChatModel;
import com.tencent.supersonic.common.config.ThreadPoolConfig;
import com.tencent.supersonic.common.pojo.ChatApp;
import com.tencent.supersonic.common.pojo.User;
import com.tencent.supersonic.common.pojo.enums.AuthType;
@@ -21,11 +20,13 @@ import com.tencent.supersonic.common.util.JsonUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.stream.Collectors;
@Slf4j
@@ -42,7 +43,8 @@ public class AgentServiceImpl extends ServiceImpl<AgentDOMapper, AgentDO> implem
private ChatModelService chatModelService;
@Autowired
private ThreadPoolConfig threadPoolConfig;
@Qualifier("chatExecutor")
private ThreadPoolExecutor executor;
@Override
public List<Agent> getAgents(User user, AuthType authType) {
@@ -108,7 +110,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentDOMapper, AgentDO> implem
* @param agent
*/
private void executeAgentExamplesAsync(Agent agent) {
threadPoolConfig.getChatExecutor().execute(() -> doExecuteAgentExamples(agent));
executor.execute(() -> doExecuteAgentExamples(agent));
}
private synchronized void doExecuteAgentExamples(Agent agent) {