mirror of
https://github.com/slhaf/Partner.git
synced 2026-05-12 16:53:04 +08:00
refactor(memory): remove legacy activated memory slice records in memory core
This commit is contained in:
@@ -1,22 +1,14 @@
|
||||
package work.slhaf.partner.core.memory;
|
||||
|
||||
import work.slhaf.partner.api.agent.factory.capability.annotation.Capability;
|
||||
import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice;
|
||||
import work.slhaf.partner.core.memory.pojo.MemorySlice;
|
||||
import work.slhaf.partner.core.memory.pojo.MemoryUnit;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
@Capability(value = "memory")
|
||||
public interface MemoryCapability {
|
||||
|
||||
void clearActivatedSlices();
|
||||
|
||||
void updateActivatedSlices(List<ActivatedMemorySlice> memorySlices);
|
||||
|
||||
List<ActivatedMemorySlice> getActivatedSlices();
|
||||
|
||||
void saveMemoryUnit(MemoryUnit memoryUnit);
|
||||
|
||||
MemoryUnit getMemoryUnit(String unitId);
|
||||
|
||||
@@ -7,16 +7,17 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityCore;
|
||||
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityMethod;
|
||||
import work.slhaf.partner.core.PartnerCore;
|
||||
import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice;
|
||||
import work.slhaf.partner.core.memory.pojo.MemorySlice;
|
||||
import work.slhaf.partner.core.memory.pojo.MemoryUnit;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Serial;
|
||||
import java.time.Instant;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Comparator;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
|
||||
@@ -32,7 +33,6 @@ public class MemoryCore extends PartnerCore<MemoryCore> {
|
||||
|
||||
private final Lock memoryLock = new ReentrantLock();
|
||||
private ConcurrentHashMap<String, MemoryUnit> memoryUnits = new ConcurrentHashMap<>();
|
||||
private List<ActivatedMemorySlice> activatedSlices = new CopyOnWriteArrayList<>();
|
||||
|
||||
// 默认值一般只存在于智能体初次启动时
|
||||
private String memorySessionId = UUID.randomUUID().toString();
|
||||
@@ -41,21 +41,6 @@ public class MemoryCore extends PartnerCore<MemoryCore> {
|
||||
public MemoryCore() throws IOException, ClassNotFoundException {
|
||||
}
|
||||
|
||||
@CapabilityMethod
|
||||
public void clearActivatedSlices() {
|
||||
activatedSlices.clear();
|
||||
}
|
||||
|
||||
@CapabilityMethod
|
||||
public void updateActivatedSlices(List<ActivatedMemorySlice> memorySlices) {
|
||||
activatedSlices = new CopyOnWriteArrayList<>(memorySlices);
|
||||
}
|
||||
|
||||
@CapabilityMethod
|
||||
public List<ActivatedMemorySlice> getActivatedSlices() {
|
||||
return new ArrayList<>(activatedSlices);
|
||||
}
|
||||
|
||||
@CapabilityMethod
|
||||
public void saveMemoryUnit(MemoryUnit memoryUnit) {
|
||||
memoryLock.lock();
|
||||
|
||||
@@ -2,7 +2,7 @@ package work.slhaf.partner.module.action.planner.evaluator.entity;
|
||||
|
||||
import lombok.Data;
|
||||
import work.slhaf.partner.api.chat.pojo.Message;
|
||||
import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice;
|
||||
import work.slhaf.partner.module.memory.selector.ActivatedMemorySlice;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -13,10 +13,10 @@ import work.slhaf.partner.core.cognition.CognitionCapability;
|
||||
import work.slhaf.partner.core.memory.MemoryCapability;
|
||||
import work.slhaf.partner.core.memory.exception.UnExistedDateIndexException;
|
||||
import work.slhaf.partner.core.memory.exception.UnExistedTopicException;
|
||||
import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice;
|
||||
import work.slhaf.partner.core.memory.pojo.MemorySlice;
|
||||
import work.slhaf.partner.core.memory.pojo.MemoryUnit;
|
||||
import work.slhaf.partner.core.memory.pojo.SliceRef;
|
||||
import work.slhaf.partner.module.memory.selector.ActivatedMemorySlice;
|
||||
|
||||
import java.io.*;
|
||||
import java.nio.file.Files;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.partner.core.memory.pojo;
|
||||
package work.slhaf.partner.module.memory.selector;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
@@ -17,7 +17,6 @@ import work.slhaf.partner.core.cognition.CognitionCapability;
|
||||
import work.slhaf.partner.core.cognition.ContextBlock;
|
||||
import work.slhaf.partner.core.memory.exception.UnExistedDateIndexException;
|
||||
import work.slhaf.partner.core.memory.exception.UnExistedTopicException;
|
||||
import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice;
|
||||
import work.slhaf.partner.module.memory.runtime.MemoryRuntime;
|
||||
import work.slhaf.partner.module.memory.selector.evaluator.SliceSelectEvaluator;
|
||||
import work.slhaf.partner.module.memory.selector.evaluator.entity.EvaluatorInput;
|
||||
|
||||
@@ -15,8 +15,8 @@ import work.slhaf.partner.core.action.ActionCapability;
|
||||
import work.slhaf.partner.core.action.ActionCore;
|
||||
import work.slhaf.partner.core.cognition.CognitionCapability;
|
||||
import work.slhaf.partner.core.cognition.ContextBlock;
|
||||
import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice;
|
||||
import work.slhaf.partner.module.TaskBlock;
|
||||
import work.slhaf.partner.module.memory.selector.ActivatedMemorySlice;
|
||||
import work.slhaf.partner.module.memory.selector.evaluator.entity.EvaluatorBatchInput;
|
||||
import work.slhaf.partner.module.memory.selector.evaluator.entity.EvaluatorBatchResult;
|
||||
import work.slhaf.partner.module.memory.selector.evaluator.entity.EvaluatorInput;
|
||||
|
||||
@@ -2,7 +2,7 @@ package work.slhaf.partner.module.memory.selector.evaluator.entity;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice;
|
||||
import work.slhaf.partner.module.memory.selector.ActivatedMemorySlice;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -2,7 +2,7 @@ package work.slhaf.partner.module.memory.selector.evaluator.entity;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice;
|
||||
import work.slhaf.partner.module.memory.selector.ActivatedMemorySlice;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
Reference in New Issue
Block a user