From df70a3cf15bfea7ae34db130ba9c96f16acf6ddd Mon Sep 17 00:00:00 2001 From: supersonicbi <15744192+supersonicbi@user.noreply.gitee.com> Date: Fri, 6 Jun 2025 21:07:17 +0800 Subject: [PATCH] (fix)(headless)Empty filters should not give prompt info. --- .../execute/DataInterpretProcessor.java | 4 ++-- .../chat/knowledge/helper/NatureHelper.java | 2 +- .../server/aspect/S2DataPermissionAspect.java | 16 ++++++++++------ 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/chat/server/src/main/java/com/tencent/supersonic/chat/server/processor/execute/DataInterpretProcessor.java b/chat/server/src/main/java/com/tencent/supersonic/chat/server/processor/execute/DataInterpretProcessor.java index 1c3cb6f01..fc0f12e99 100644 --- a/chat/server/src/main/java/com/tencent/supersonic/chat/server/processor/execute/DataInterpretProcessor.java +++ b/chat/server/src/main/java/com/tencent/supersonic/chat/server/processor/execute/DataInterpretProcessor.java @@ -46,8 +46,8 @@ public class DataInterpretProcessor implements ExecuteResultProcessor { public boolean accept(ExecuteContext executeContext) { Agent agent = executeContext.getAgent(); ChatApp chatApp = agent.getChatAppConfig().get(APP_KEY); - return Objects.nonNull(chatApp) && chatApp.isEnable()&& - StringUtils.isNotBlank(executeContext.getResponse().getTextResult()); // 如果都没结果,则无法处理,直接跳过 + return Objects.nonNull(chatApp) && chatApp.isEnable() + && StringUtils.isNotBlank(executeContext.getResponse().getTextResult()); // 如果都没结果,则无法处理,直接跳过 } @Override diff --git a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/knowledge/helper/NatureHelper.java b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/knowledge/helper/NatureHelper.java index 4c276aa37..8b095be3d 100644 --- a/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/knowledge/helper/NatureHelper.java +++ b/headless/chat/src/main/java/com/tencent/supersonic/headless/chat/knowledge/helper/NatureHelper.java @@ -179,7 +179,7 @@ public class NatureHelper { } public static Long parseIdFromNature(String nature, int index) { - if(nature.startsWith("_")){ // 框架的字典都是以_开头的 + if (nature.startsWith("_")) { // 框架的字典都是以_开头的 try { String[] split = nature.split(DictWordType.NATURE_SPILT); if (split.length > index) { diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/aspect/S2DataPermissionAspect.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/aspect/S2DataPermissionAspect.java index a4836182b..339e39baf 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/aspect/S2DataPermissionAspect.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/aspect/S2DataPermissionAspect.java @@ -335,13 +335,17 @@ public class S2DataPermissionAspect { if (StringUtils.isNotEmpty(filter.getDescription())) { descList.add(filter.getDescription()); } - exprList.add(filter.getExpressions().toString()); + if (!"[]".equals(filter.getExpressions().toString())) { + exprList.add(filter.getExpressions().toString()); + } }); - String promptInfo = "当前结果已经过行权限过滤,详细过滤条件如下:%s, 申请权限请联系管理员%s"; - String message = String.format(promptInfo, - CollectionUtils.isEmpty(descList) ? exprList : descList, admins); - queryResultWithColumns.setQueryAuthorization( - new QueryAuthorization(modelResp.getName(), exprList, descList, message)); + if (!CollectionUtils.isEmpty(exprList)) { + String promptInfo = "当前结果已经过行权限过滤,详细过滤条件如下:%s, 申请权限请联系管理员%s"; + String message = String.format(promptInfo, + CollectionUtils.isEmpty(descList) ? exprList : descList, admins); + queryResultWithColumns.setQueryAuthorization( + new QueryAuthorization(modelResp.getName(), exprList, descList, message)); + } } } }