From 159d91fd0fba91aeccdda81a8f377ac109bd83cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A7=A3=28xie=29=E5=85=88=E7=94=9F=F0=9F=8C=BD?= Date: Mon, 18 Nov 2024 14:39:34 +0800 Subject: [PATCH] =?UTF-8?q?(fix)=20(chat)=20=E8=AE=B0=E5=BF=86=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=9B=B4=E6=96=B0=E4=B8=8D=E7=94=9F=E6=95=88=20(#1912?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../supersonic/chat/server/memory/MemoryReviewTask.java | 9 +++++++++ .../chat/server/service/impl/MemoryServiceImpl.java | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/chat/server/src/main/java/com/tencent/supersonic/chat/server/memory/MemoryReviewTask.java b/chat/server/src/main/java/com/tencent/supersonic/chat/server/memory/MemoryReviewTask.java index aeb3c5baa..09889e489 100644 --- a/chat/server/src/main/java/com/tencent/supersonic/chat/server/memory/MemoryReviewTask.java +++ b/chat/server/src/main/java/com/tencent/supersonic/chat/server/memory/MemoryReviewTask.java @@ -88,6 +88,15 @@ public class MemoryReviewTask { return; } + // 如果大模型已经评估过,则不再评估 + if (Objects.nonNull(m.getLlmReviewRet())) { + // directly enable memory if the LLM determines it positive + if (MemoryReviewResult.POSITIVE.equals(m.getLlmReviewRet())) { + memoryService.enableMemory(m); + } + return; + } + String promptStr = createPromptString(m, chatApp.getPrompt()); Prompt prompt = PromptTemplate.from(promptStr).apply(Collections.EMPTY_MAP); diff --git a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/MemoryServiceImpl.java b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/MemoryServiceImpl.java index 2f1f89dd4..4ab32b8dc 100644 --- a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/MemoryServiceImpl.java +++ b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/MemoryServiceImpl.java @@ -49,10 +49,10 @@ public class MemoryServiceImpl implements MemoryService { @Override public void updateMemory(ChatMemoryUpdateReq chatMemoryUpdateReq, User user) { ChatMemoryDO chatMemoryDO = chatMemoryRepository.getMemory(chatMemoryUpdateReq.getId()); + boolean hadEnabled = MemoryStatus.ENABLED.equals(chatMemoryDO.getStatus()); chatMemoryDO.setUpdatedBy(user.getName()); chatMemoryDO.setUpdatedAt(new Date()); BeanMapper.mapper(chatMemoryUpdateReq, chatMemoryDO); - boolean hadEnabled = MemoryStatus.ENABLED.equals(chatMemoryDO.getStatus()); if (MemoryStatus.ENABLED.equals(chatMemoryUpdateReq.getStatus()) && !hadEnabled) { enableMemory(chatMemoryDO); } else if (MemoryStatus.DISABLED.equals(chatMemoryUpdateReq.getStatus()) && hadEnabled) {