diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/runtime/MemoryRuntime.java b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/runtime/MemoryRuntime.java index 0295c490..1f35bffd 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/runtime/MemoryRuntime.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/runtime/MemoryRuntime.java @@ -25,7 +25,6 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.time.Instant; import java.time.LocalDate; -import java.time.LocalDateTime; import java.time.ZoneId; import java.util.*; import java.util.concurrent.CopyOnWriteArrayList; @@ -47,7 +46,6 @@ public class MemoryRuntime extends AbstractAgentModule.Standalone { private final ReentrantLock runtimeLock = new ReentrantLock(); private Map> topicSlices = new HashMap<>(); private Map> dateIndex = new HashMap<>(); - private HashMap dialogMap = new HashMap<>(); @Init public void init() { @@ -79,7 +77,7 @@ public class MemoryRuntime extends AbstractAgentModule.Standalone { } } - public void recordMemory(MemoryUnit memoryUnit, String topicPath, List relatedTopicPaths, String dialogSummary) { + public void recordMemory(MemoryUnit memoryUnit, String topicPath, List relatedTopicPaths) { memoryCapability.saveMemoryUnit(memoryUnit); MemorySlice memorySlice = memoryUnit.getSlices().getLast(); SliceRef sliceRef = new SliceRef(memoryUnit.getId(), memorySlice.getId()); @@ -90,7 +88,6 @@ public class MemoryRuntime extends AbstractAgentModule.Standalone { bindTopic(relatedTopicPath, sliceRef); } } - updateDialogMap(LocalDateTime.now(), dialogSummary); } private void indexMemoryUnit(MemoryUnit memoryUnit) { @@ -139,40 +136,6 @@ public class MemoryRuntime extends AbstractAgentModule.Standalone { return buildActivatedMemorySlices(findByDate(date)); } - private void updateDialogMap(LocalDateTime dateTime, String newDialogCache) { - runtimeLock.lock(); - try { - List keysToRemove = new ArrayList<>(); - dialogMap.forEach((k, v) -> { - if (dateTime.minusDays(2).isAfter(k)) { - keysToRemove.add(k); - } - }); - for (LocalDateTime temp : keysToRemove) { - dialogMap.remove(temp); - } - dialogMap.put(dateTime, newDialogCache); - saveState(); - } finally { - runtimeLock.unlock(); - } - } - - public String getDialogMapStr() { - StringBuilder str = new StringBuilder(); - dialogMap.entrySet().stream() - .sorted(Map.Entry.comparingByKey()) - .forEach(entry -> str.append("\n\n[") - .append(entry.getKey()) - .append("]\n") - .append(entry.getValue())); - return str.toString(); - } - - public boolean containsDialogSummary(String summary) { - return dialogMap.containsValue(summary); - } - public String getTopicTree() { TopicTreeNode root = new TopicTreeNode(); for (Map.Entry> entry : topicSlices.entrySet()) { @@ -267,12 +230,10 @@ public class MemoryRuntime extends AbstractAgentModule.Standalone { RuntimeState state = (RuntimeState) ois.readObject(); topicSlices = state.topicSlices; dateIndex = state.dateIndex; - dialogMap = state.dialogMap; } catch (Exception e) { log.error("[MemoryRuntime] 加载运行态失败", e); topicSlices = new HashMap<>(); dateIndex = new HashMap<>(); - dialogMap = new HashMap<>(); } } @@ -295,7 +256,6 @@ public class MemoryRuntime extends AbstractAgentModule.Standalone { RuntimeState state = new RuntimeState(); state.topicSlices = new HashMap<>(topicSlices); state.dateIndex = new HashMap<>(dateIndex); - state.dialogMap = new HashMap<>(dialogMap); oos.writeObject(state); } Files.move(tempPath, filePath, java.nio.file.StandardCopyOption.REPLACE_EXISTING); @@ -325,6 +285,5 @@ public class MemoryRuntime extends AbstractAgentModule.Standalone { private Map> topicSlices = new HashMap<>(); private Map> dateIndex = new HashMap<>(); - private HashMap dialogMap = new HashMap<>(); } } diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/selector/MemorySelector.java b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/selector/MemorySelector.java index 5b6016d5..69c652cb 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/selector/MemorySelector.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/selector/MemorySelector.java @@ -210,7 +210,6 @@ public class MemorySelector extends AbstractAgentModule.Running candidates = new LinkedHashMap<>(); setMemoryCandidates(candidates, extractorResult.getMatches()); - removeDuplicateSlice(candidates.values()); EvaluatorInput evaluatorInput = EvaluatorInput.builder() .inputs(snapshotInputs) .memorySlices(new ArrayList<>(candidates.values())) @@ -239,10 +238,6 @@ public class MemorySelector extends AbstractAgentModule.Running candidates) { - candidates.removeIf(m -> memoryRuntime.containsDialogSummary(m.getSummary())); - } - @Override public int order() { return 2; diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/MemoryUpdater.java b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/MemoryUpdater.java index d8b2e4ed..be509e62 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/MemoryUpdater.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/MemoryUpdater.java @@ -172,8 +172,7 @@ public class MemoryUpdater extends AbstractAgentModule.Running(List.of(firstSlice, secondSlice))); - runtime.recordMemory(unit, "topic/main", List.of("topic/related"), "dialog-summary"); + runtime.recordMemory(unit, "topic/main", List.of("topic/related")); Map> topicSlices = topicSlices(runtime); assertEquals(List.of("slice-2"),