mirror of
https://github.com/tencentmusic/supersonic.git
synced 2026-04-27 19:04:25 +08:00
(improvement)(Chat) Move chat-core to headless (#805)
Co-authored-by: jolunoluo
This commit is contained in:
@@ -3,30 +3,28 @@ package com.tencent.supersonic;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.chat.api.pojo.request.ExecuteQueryReq;
|
||||
import com.tencent.supersonic.chat.api.pojo.request.QueryReq;
|
||||
import com.tencent.supersonic.chat.api.pojo.response.ParseResp;
|
||||
import com.tencent.supersonic.chat.core.agent.Agent;
|
||||
import com.tencent.supersonic.chat.core.agent.AgentConfig;
|
||||
import com.tencent.supersonic.chat.core.agent.AgentToolType;
|
||||
import com.tencent.supersonic.chat.core.agent.LLMParserTool;
|
||||
import com.tencent.supersonic.chat.core.agent.RuleParserTool;
|
||||
import com.tencent.supersonic.chat.core.plugin.Plugin;
|
||||
import com.tencent.supersonic.chat.core.plugin.PluginParseConfig;
|
||||
import com.tencent.supersonic.chat.core.query.plugin.ParamOption;
|
||||
import com.tencent.supersonic.chat.core.query.plugin.WebBase;
|
||||
import com.tencent.supersonic.chat.api.pojo.request.ChatExecuteReq;
|
||||
import com.tencent.supersonic.chat.api.pojo.request.ChatParseReq;
|
||||
import com.tencent.supersonic.chat.server.agent.Agent;
|
||||
import com.tencent.supersonic.chat.server.agent.AgentConfig;
|
||||
import com.tencent.supersonic.chat.server.agent.AgentToolType;
|
||||
import com.tencent.supersonic.chat.server.agent.LLMParserTool;
|
||||
import com.tencent.supersonic.chat.server.agent.RuleParserTool;
|
||||
import com.tencent.supersonic.chat.server.plugin.Plugin;
|
||||
import com.tencent.supersonic.chat.server.plugin.PluginParseConfig;
|
||||
import com.tencent.supersonic.chat.server.plugin.build.ParamOption;
|
||||
import com.tencent.supersonic.chat.server.plugin.build.WebBase;
|
||||
import com.tencent.supersonic.chat.server.service.AgentService;
|
||||
import com.tencent.supersonic.chat.server.service.ChatService;
|
||||
import com.tencent.supersonic.chat.server.service.PluginService;
|
||||
import com.tencent.supersonic.chat.server.service.QueryService;
|
||||
import com.tencent.supersonic.common.pojo.SysParameter;
|
||||
import com.tencent.supersonic.common.service.SysParameterService;
|
||||
import com.tencent.supersonic.common.util.JsonUtil;
|
||||
import com.tencent.supersonic.headless.api.pojo.response.ParseResp;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.CommandLineRunner;
|
||||
import org.springframework.core.annotation.Order;
|
||||
@@ -39,9 +37,6 @@ import org.springframework.util.CollectionUtils;
|
||||
public class ChatDemoLoader implements CommandLineRunner {
|
||||
|
||||
private User user = User.getFakeUser();
|
||||
@Qualifier("chatQueryService")
|
||||
@Autowired
|
||||
private QueryService queryService;
|
||||
@Autowired
|
||||
private ChatService chatService;
|
||||
@Autowired
|
||||
@@ -84,26 +79,24 @@ public class ChatDemoLoader implements CommandLineRunner {
|
||||
}
|
||||
|
||||
private void parseAndExecute(int chatId, String queryText) throws Exception {
|
||||
QueryReq queryRequest = new QueryReq();
|
||||
queryRequest.setQueryText(queryText);
|
||||
queryRequest.setChatId(chatId);
|
||||
queryRequest.setAgentId(1);
|
||||
queryRequest.setUser(User.getFakeUser());
|
||||
ParseResp parseResp = queryService.performParsing(queryRequest);
|
||||
ChatParseReq chatParseReq = new ChatParseReq();
|
||||
chatParseReq.setQueryText(queryText);
|
||||
chatParseReq.setChatId(chatId);
|
||||
chatParseReq.setAgentId(1);
|
||||
chatParseReq.setUser(User.getFakeUser());
|
||||
ParseResp parseResp = chatService.performParsing(chatParseReq);
|
||||
if (CollectionUtils.isEmpty(parseResp.getSelectedParses())) {
|
||||
log.info("parseResp.getSelectedParses() is empty");
|
||||
return;
|
||||
}
|
||||
ExecuteQueryReq executeReq = ExecuteQueryReq.builder().build();
|
||||
ChatExecuteReq executeReq = new ChatExecuteReq();
|
||||
executeReq.setQueryId(parseResp.getQueryId());
|
||||
executeReq.setParseId(parseResp.getSelectedParses().get(0).getId());
|
||||
executeReq.setQueryText(queryRequest.getQueryText());
|
||||
executeReq.setParseInfo(parseResp.getSelectedParses().get(0));
|
||||
executeReq.setQueryText(queryText);
|
||||
executeReq.setChatId(parseResp.getChatId());
|
||||
executeReq.setUser(queryRequest.getUser());
|
||||
executeReq.setAgentId(1);
|
||||
executeReq.setUser(User.getFakeUser());
|
||||
executeReq.setSaveAnswer(true);
|
||||
queryService.performExecution(executeReq);
|
||||
chatService.performExecution(executeReq);
|
||||
}
|
||||
|
||||
public void addSampleChats() throws Exception {
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
package com.tencent.supersonic;
|
||||
|
||||
import com.tencent.supersonic.chat.core.parser.JavaLLMProxy;
|
||||
import com.tencent.supersonic.chat.core.parser.sql.llm.SqlExamplarLoader;
|
||||
import com.tencent.supersonic.chat.core.parser.sql.llm.SqlExample;
|
||||
import com.tencent.supersonic.chat.core.utils.ComponentFactory;
|
||||
import com.tencent.supersonic.common.config.EmbeddingConfig;
|
||||
import java.util.List;
|
||||
import com.tencent.supersonic.headless.core.chat.parser.JavaLLMProxy;
|
||||
import com.tencent.supersonic.headless.core.chat.parser.llm.SqlExamplarLoader;
|
||||
import com.tencent.supersonic.headless.core.chat.parser.llm.SqlExample;
|
||||
import com.tencent.supersonic.headless.core.utils.ComponentFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.CommandLineRunner;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.stereotype.Component;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
|
||||
@@ -1,35 +1,28 @@
|
||||
com.tencent.supersonic.chat.core.mapper.SchemaMapper=\
|
||||
com.tencent.supersonic.chat.core.mapper.EmbeddingMapper, \
|
||||
com.tencent.supersonic.chat.core.mapper.KeywordMapper, \
|
||||
com.tencent.supersonic.chat.core.mapper.QueryFilterMapper, \
|
||||
com.tencent.supersonic.chat.core.mapper.EntityMapper
|
||||
com.tencent.supersonic.headless.core.chat.mapper.SchemaMapper=\
|
||||
com.tencent.supersonic.headless.core.chat.mapper.EmbeddingMapper, \
|
||||
com.tencent.supersonic.headless.core.chat.mapper.KeywordMapper, \
|
||||
com.tencent.supersonic.headless.core.chat.mapper.QueryFilterMapper, \
|
||||
com.tencent.supersonic.headless.core.chat.mapper.EntityMapper
|
||||
|
||||
com.tencent.supersonic.chat.core.parser.SemanticParser=\
|
||||
com.tencent.supersonic.chat.core.parser.sql.rule.RuleSqlParser, \
|
||||
com.tencent.supersonic.chat.core.parser.sql.llm.LLMSqlParser, \
|
||||
com.tencent.supersonic.chat.core.parser.plugin.embedding.EmbeddingRecallParser, \
|
||||
com.tencent.supersonic.chat.core.parser.plugin.function.FunctionCallParser, \
|
||||
com.tencent.supersonic.chat.core.parser.QueryTypeParser
|
||||
com.tencent.supersonic.headless.core.chat.parser.SemanticParser=\
|
||||
com.tencent.supersonic.headless.core.chat.parser.rule.RuleSqlParser, \
|
||||
com.tencent.supersonic.headless.core.chat.parser.llm.LLMSqlParser, \
|
||||
com.tencent.supersonic.headless.core.chat.parser.QueryTypeParser
|
||||
|
||||
com.tencent.supersonic.chat.core.corrector.SemanticCorrector=\
|
||||
com.tencent.supersonic.chat.core.corrector.SchemaCorrector, \
|
||||
com.tencent.supersonic.chat.core.corrector.TimeCorrector, \
|
||||
com.tencent.supersonic.chat.core.corrector.GrammarCorrector
|
||||
com.tencent.supersonic.headless.core.chat.corrector.SemanticCorrector=\
|
||||
com.tencent.supersonic.headless.core.chat.corrector.SchemaCorrector, \
|
||||
com.tencent.supersonic.headless.core.chat.corrector.TimeCorrector, \
|
||||
com.tencent.supersonic.headless.core.chat.corrector.GrammarCorrector
|
||||
|
||||
com.tencent.supersonic.chat.server.processor.parse.ParseResultProcessor=\
|
||||
com.tencent.supersonic.chat.server.processor.parse.ParseInfoProcessor, \
|
||||
com.tencent.supersonic.chat.server.processor.parse.QueryRankProcessor, \
|
||||
com.tencent.supersonic.chat.server.processor.parse.EntityInfoProcessor, \
|
||||
com.tencent.supersonic.chat.server.processor.parse.SqlInfoProcessor, \
|
||||
com.tencent.supersonic.chat.server.processor.parse.TimeCostProcessor, \
|
||||
com.tencent.supersonic.chat.server.processor.parse.RespBuildProcessor, \
|
||||
com.tencent.supersonic.chat.server.processor.parse.QueryRecommendProcessor
|
||||
com.tencent.supersonic.headless.server.processor.ResultProcessor=\
|
||||
com.tencent.supersonic.headless.server.processor.ParseInfoProcessor, \
|
||||
com.tencent.supersonic.headless.server.processor.QueryRankProcessor, \
|
||||
com.tencent.supersonic.headless.server.processor.SqlInfoProcessor, \
|
||||
com.tencent.supersonic.headless.server.processor.TimeCostProcessor, \
|
||||
com.tencent.supersonic.headless.server.processor.RespBuildProcessor
|
||||
|
||||
com.tencent.supersonic.chat.core.query.semantic.SemanticInterpreter=\
|
||||
com.tencent.supersonic.chat.core.query.semantic.LocalSemanticInterpreter
|
||||
|
||||
com.tencent.supersonic.chat.core.parser.sql.llm.DataSetResolver=\
|
||||
com.tencent.supersonic.chat.core.parser.sql.llm.HeuristicDataSetResolver
|
||||
com.tencent.supersonic.headless.core.chat.parser.llm.DataSetResolver=\
|
||||
com.tencent.supersonic.headless.core.chat.parser.llm.HeuristicDataSetResolver
|
||||
|
||||
com.tencent.supersonic.auth.authentication.interceptor.AuthenticationInterceptor=\
|
||||
com.tencent.supersonic.auth.authentication.interceptor.DefaultAuthenticationInterceptor
|
||||
|
||||
Reference in New Issue
Block a user