Skip to content

Commit

Permalink
(improvement)(headless)Restructure facade and expose only ChatLayerSe…
Browse files Browse the repository at this point in the history
…rvice and SemanticLayerService.
  • Loading branch information
jerryjzhang committed Jul 16, 2024
1 parent 35892f2 commit 1c0b8f8
Show file tree
Hide file tree
Showing 9 changed files with 23 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
import com.tencent.supersonic.headless.chat.query.SemanticQuery;
import com.tencent.supersonic.headless.chat.query.llm.s2sql.LLMSqlQuery;
import com.tencent.supersonic.headless.server.facade.service.ChatLayerService;
import com.tencent.supersonic.headless.server.facade.service.RetrieveService;
import com.tencent.supersonic.headless.server.web.service.RetrieveService;
import com.tencent.supersonic.headless.server.facade.service.SemanticLayerService;
import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.expression.Expression;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import com.tencent.supersonic.headless.api.pojo.request.QuerySqlReq;
import com.tencent.supersonic.headless.api.pojo.response.ParseResp;
import com.tencent.supersonic.headless.server.facade.service.ChatLayerService;
import com.tencent.supersonic.headless.server.facade.service.RetrieveService;
import com.tencent.supersonic.headless.server.facade.service.SemanticLayerService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
Expand All @@ -26,9 +25,6 @@ public class ChatQueryApiController {
@Autowired
private ChatLayerService chatLayerService;

@Autowired
private RetrieveService retrieveService;

@Autowired
private SemanticLayerService semanticLayerService;

Expand All @@ -37,7 +33,7 @@ public Object search(@RequestBody QueryNLReq queryNLReq,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
queryNLReq.setUser(UserHolder.findUser(request, response));
return retrieveService.retrieve(queryNLReq);
return chatLayerService.retrieve(queryNLReq);
}

@PostMapping("/chat/map")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
import com.tencent.supersonic.headless.api.pojo.response.MapInfoResp;
import com.tencent.supersonic.headless.api.pojo.response.MapResp;
import com.tencent.supersonic.headless.api.pojo.response.ParseResp;
import com.tencent.supersonic.headless.api.pojo.response.SearchResult;

import java.util.List;

/***dd
* SemanticLayerService for query and search
Expand All @@ -20,6 +23,8 @@ public interface ChatLayerService {

MapInfoResp map(QueryMapReq queryMapReq);

List<SearchResult> retrieve(QueryNLReq queryNLReq);

void correct(QuerySqlReq querySqlReq, User user);

SqlEvaluation validate(QuerySqlReq querySqlReq, User user);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,14 @@
import com.tencent.supersonic.headless.api.pojo.response.MapInfoResp;
import com.tencent.supersonic.headless.api.pojo.response.MapResp;
import com.tencent.supersonic.headless.api.pojo.response.ParseResp;
import com.tencent.supersonic.headless.api.pojo.response.SearchResult;
import com.tencent.supersonic.headless.chat.ChatQueryContext;
import com.tencent.supersonic.headless.chat.corrector.GrammarCorrector;
import com.tencent.supersonic.headless.chat.corrector.SchemaCorrector;
import com.tencent.supersonic.headless.chat.knowledge.builder.BaseWordBuilder;
import com.tencent.supersonic.headless.chat.query.SemanticQuery;
import com.tencent.supersonic.headless.server.facade.service.ChatLayerService;
import com.tencent.supersonic.headless.server.web.service.RetrieveService;
import com.tencent.supersonic.headless.server.pojo.MetaFilter;
import com.tencent.supersonic.headless.server.utils.ChatWorkflowEngine;
import com.tencent.supersonic.headless.server.utils.ComponentFactory;
Expand Down Expand Up @@ -56,6 +58,8 @@ public class S2ChatLayerService implements ChatLayerService {
@Autowired
private DataSetService dataSetService;
@Autowired
private RetrieveService retrieveService;
@Autowired
private ChatWorkflowEngine chatWorkflowEngine;

@Override
Expand Down Expand Up @@ -127,6 +131,11 @@ public SqlEvaluation validate(QuerySqlReq querySqlReq, User user) {
return semanticParseInfo.getSqlEvaluation();
}

@Override
public List<SearchResult> retrieve(QueryNLReq queryNLReq) {
return retrieveService.retrieve(queryNLReq);
}

private SemanticParseInfo correctSqlReq(QuerySqlReq querySqlReq, User user) {
ChatQueryContext queryCtx = new ChatQueryContext();
SemanticSchema semanticSchema = schemaService.getSemanticSchema();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.tencent.supersonic.headless.server.task;

import com.tencent.supersonic.headless.server.facade.service.FlightService;
import com.tencent.supersonic.headless.server.web.service.FlightService;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import lombok.extern.slf4j.Slf4j;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.server.facade.service;
package com.tencent.supersonic.headless.server.web.service;

import java.util.concurrent.ExecutorService;
import org.apache.arrow.flight.sql.FlightSqlProducer;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.server.facade.service;
package com.tencent.supersonic.headless.server.web.service;

import com.tencent.supersonic.headless.api.pojo.request.QueryNLReq;
import com.tencent.supersonic.headless.api.pojo.response.SearchResult;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.server.facade.service.impl;
package com.tencent.supersonic.headless.server.web.service.impl;

import static com.google.protobuf.Any.pack;
import static com.google.protobuf.ByteString.copyFrom;
Expand All @@ -20,7 +20,7 @@
import com.tencent.supersonic.headless.api.pojo.request.QuerySqlReq;
import com.tencent.supersonic.headless.api.pojo.request.SemanticQueryReq;
import com.tencent.supersonic.headless.api.pojo.response.SemanticQueryResp;
import com.tencent.supersonic.headless.server.facade.service.FlightService;
import com.tencent.supersonic.headless.server.web.service.FlightService;
import com.tencent.supersonic.headless.server.facade.service.SemanticLayerService;
import com.tencent.supersonic.headless.server.utils.FlightUtils;
import java.nio.charset.StandardCharsets;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.tencent.supersonic.headless.server.facade.service.impl;
package com.tencent.supersonic.headless.server.web.service.impl;

import com.google.common.collect.Lists;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
Expand All @@ -21,7 +21,7 @@
import com.tencent.supersonic.headless.chat.mapper.MatchText;
import com.tencent.supersonic.headless.chat.mapper.ModelWithSemanticType;
import com.tencent.supersonic.headless.chat.mapper.SearchMatchStrategy;
import com.tencent.supersonic.headless.server.facade.service.RetrieveService;
import com.tencent.supersonic.headless.server.web.service.RetrieveService;
import com.tencent.supersonic.headless.server.web.service.DataSetService;
import com.tencent.supersonic.headless.server.web.service.SchemaService;
import lombok.extern.slf4j.Slf4j;
Expand Down

0 comments on commit 1c0b8f8

Please sign in to comment.