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 d3fa92a8c..f65caa63f 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 @@ -36,7 +36,13 @@ public class MemoryServiceImpl implements MemoryService { @Override public void createMemory(ChatMemoryDO memory) { - chatMemoryRepository.createMemory(memory); + // do not save duplicate memory for exactly the same question + List memories = getMemories(ChatMemoryFilter.builder() + .agentId(memory.getAgentId()) + .question(memory.getQuestion()).build()); + if (memories.size() == 0) { + chatMemoryRepository.createMemory(memory); + } } @Override