From a1083a92c21434c9216fe6c75f98335aac23112e Mon Sep 17 00:00:00 2001 From: LXW <1264174498@qq.com> Date: Fri, 28 Jun 2024 21:37:02 +0800 Subject: [PATCH] (improvement)(chat) Fixed the problem that the agent's enableSearch setting does not take effect and avoid getting mapinfo when searching (#1277) Co-authored-by: lxwcodemonkey --- .../chat/server/service/impl/ChatServiceImpl.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/ChatServiceImpl.java b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/ChatServiceImpl.java index a4dc20161..1034dcaec 100644 --- a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/ChatServiceImpl.java +++ b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/ChatServiceImpl.java @@ -1,5 +1,6 @@ package com.tencent.supersonic.chat.server.service.impl; +import com.google.common.collect.Lists; 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.ChatParseReq; @@ -55,6 +56,10 @@ public class ChatServiceImpl implements ChatService { @Override public List search(ChatParseReq chatParseReq) { ChatParseContext chatParseContext = buildParseContext(chatParseReq); + Agent agent = chatParseContext.getAgent(); + if (!agent.enableSearch()) { + return Lists.newArrayList(); + } QueryReq queryReq = QueryReqConverter.buildText2SqlQueryReq(chatParseContext); return retrieveService.retrieve(queryReq); } @@ -64,6 +69,7 @@ public class ChatServiceImpl implements ChatService { ParseResp parseResp = new ParseResp(chatParseReq.getChatId(), chatParseReq.getQueryText()); chatManageService.createChatQuery(chatParseReq, parseResp); ChatParseContext chatParseContext = buildParseContext(chatParseReq); + supplyMapInfo(chatParseContext); for (ChatParser chatParser : chatParsers) { chatParser.parse(chatParseContext, parseResp); } @@ -127,10 +133,13 @@ public class ChatServiceImpl implements ChatService { BeanMapper.mapper(chatParseReq, chatParseContext); Agent agent = agentService.getAgent(chatParseReq.getAgentId()); chatParseContext.setAgent(agent); + return chatParseContext; + } + + private void supplyMapInfo(ChatParseContext chatParseContext) { QueryReq queryReq = QueryReqConverter.buildText2SqlQueryReq(chatParseContext); MapResp mapResp = chatQueryService.performMapping(queryReq); chatParseContext.setMapInfo(mapResp.getMapInfo()); - return chatParseContext; } private ChatExecuteContext buildExecuteContext(ChatExecuteReq chatExecuteReq) {