mirror of
https://github.com/slhaf/Partner.git
synced 2026-05-12 08:43:02 +08:00
调整包结构; 新增调度模块大致框架; 尝试实现能力注册与注入机制,减轻重复逻辑,增强扩展性
This commit is contained in:
8
pom.xml
8
pom.xml
@@ -44,8 +44,12 @@
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
<version>RELEASE</version>
|
||||
<scope>test</scope>
|
||||
<version>5.13.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.reflections</groupId>
|
||||
<artifactId>reflections</artifactId>
|
||||
<version>0.10.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
|
||||
@@ -10,19 +10,22 @@ import work.slhaf.agent.common.config.Config;
|
||||
import work.slhaf.agent.common.exception_handler.GlobalExceptionHandler;
|
||||
import work.slhaf.agent.common.exception_handler.pojo.GlobalException;
|
||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
||||
import work.slhaf.agent.core.cognation.common.exception.UserNotExistsException;
|
||||
import work.slhaf.agent.core.cognation.common.pojo.ActiveData;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.cognation.CognationCore;
|
||||
import work.slhaf.agent.core.cognation.cognation.exception.UserNotExistsException;
|
||||
import work.slhaf.agent.core.cognation.cognation.pojo.ActiveData;
|
||||
import work.slhaf.agent.core.cognation.common.pojo.MemoryResult;
|
||||
import work.slhaf.agent.core.cognation.common.pojo.MemorySliceResult;
|
||||
import work.slhaf.agent.core.cognation.submodule.cache.CacheCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.CacheCapability;
|
||||
import work.slhaf.agent.core.cognation.submodule.cache.CacheCore;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.MemoryCapability;
|
||||
import work.slhaf.agent.core.cognation.submodule.dispatch.DispatchCore;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.MemoryCapability;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.MemoryCore;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.MemorySlice;
|
||||
import work.slhaf.agent.core.cognation.submodule.perceive.PerceiveCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.PerceiveCapability;
|
||||
import work.slhaf.agent.core.cognation.submodule.perceive.PerceiveCore;
|
||||
import work.slhaf.agent.core.cognation.submodule.perceive.pojo.User;
|
||||
import work.slhaf.agent.shared.memory.EvaluatedSlice;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.EvaluatedSlice;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Serial;
|
||||
@@ -53,6 +56,7 @@ public class CognationManager extends PersistableObject implements CacheCapabili
|
||||
private CacheCore cacheCore;
|
||||
private MemoryCore memoryCore;
|
||||
private PerceiveCore perceiveCore;
|
||||
private DispatchCore dispatchCore;
|
||||
|
||||
private ActiveData activeData;
|
||||
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
package work.slhaf.agent.core.cognation;
|
||||
|
||||
public class NewCognationManager {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package work.slhaf.agent.core.cognation.capability;
|
||||
|
||||
import org.reflections.Reflections;
|
||||
import work.slhaf.agent.core.cognation.capability.exception.CapabilityRegisterFailedException;
|
||||
import work.slhaf.agent.core.cognation.capability.interfaces.Capability;
|
||||
import work.slhaf.agent.core.cognation.capability.interfaces.CapabilityCore;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public class CapabilityRegister {
|
||||
|
||||
public static volatile CapabilityRegister capabilityRegister;
|
||||
|
||||
private CapabilityRegister(){
|
||||
}
|
||||
|
||||
public static CapabilityRegister getInstance(){
|
||||
if (capabilityRegister == null) {
|
||||
synchronized (CapabilityRegister.class) {
|
||||
if (capabilityRegister == null) {
|
||||
capabilityRegister = new CapabilityRegister();
|
||||
}
|
||||
}
|
||||
}
|
||||
return capabilityRegister;
|
||||
}
|
||||
|
||||
public void registerCapabilities(){
|
||||
//检查可注册能力是否正常
|
||||
statusCheck();
|
||||
//扫描现有Capability, value为键,返回函数路由表
|
||||
}
|
||||
|
||||
private void statusCheck(){
|
||||
Reflections reflections = new Reflections("work.slhaf.agent.core");
|
||||
Set<Class<?>> cores = reflections.getTypesAnnotatedWith(CapabilityCore.class);
|
||||
Set<Class<?>> capabilities = reflections.getTypesAnnotatedWith(Capability.class);
|
||||
if (cores.size() != capabilities.size()){
|
||||
throw new CapabilityRegisterFailedException("Capability 注册异常: 已存在的CapabilityCore与Capability数量不匹配!");
|
||||
}
|
||||
if (checkValuesMatched(cores,capabilities)){
|
||||
throw new CapabilityRegisterFailedException("Capability 注册异常: 已存在的CapabilityCore与Capability不匹配!");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static boolean checkValuesMatched(Set<Class<?>> cores, Set<Class<?>> capabilities) {
|
||||
List<String> coresValues = new ArrayList<>();
|
||||
List<String> capabilitiesValues = new ArrayList<>();
|
||||
for (Class<?> core : cores) {
|
||||
CapabilityCore annotation = core.getAnnotation(CapabilityCore.class);
|
||||
if (annotation != null) {
|
||||
coresValues.add(annotation.value());
|
||||
}
|
||||
}
|
||||
for (Class<?> capability : capabilities) {
|
||||
Capability annotation = capability.getAnnotation(Capability.class);
|
||||
if (annotation != null) {
|
||||
capabilitiesValues.add(annotation.value());
|
||||
}
|
||||
}
|
||||
return coresValues.equals(capabilitiesValues);
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,12 @@
|
||||
package work.slhaf.agent.core.cognation.submodule.cache;
|
||||
package work.slhaf.agent.core.cognation.capability.ability;
|
||||
|
||||
import work.slhaf.agent.core.cognation.capability.interfaces.Capability;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.HashMap;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
@Capability(value = "cache")
|
||||
public interface CacheCapability {
|
||||
HashMap<LocalDateTime, String> getDialogMap();
|
||||
ConcurrentHashMap<LocalDateTime, String> getUserDialogMap(String userId);
|
||||
@@ -1,12 +1,11 @@
|
||||
package work.slhaf.agent.core.cognation;
|
||||
package work.slhaf.agent.core.cognation.capability.ability;
|
||||
|
||||
import work.slhaf.agent.common.chat.pojo.Message;
|
||||
import work.slhaf.agent.shared.memory.EvaluatedSlice;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.EvaluatedSlice;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
|
||||
public interface CognationCapability {
|
||||
List<Message> getChatMessages();
|
||||
@@ -0,0 +1,4 @@
|
||||
package work.slhaf.agent.core.cognation.capability.ability;
|
||||
|
||||
public interface DispatchCapability {
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.agent.core.cognation.submodule.memory;
|
||||
package work.slhaf.agent.core.cognation.capability.ability;
|
||||
|
||||
import work.slhaf.agent.core.cognation.common.pojo.MemoryResult;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.MemorySlice;
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.agent.core.cognation.submodule.perceive;
|
||||
package work.slhaf.agent.core.cognation.capability.ability;
|
||||
|
||||
import work.slhaf.agent.core.cognation.submodule.perceive.pojo.User;
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
package work.slhaf.agent.core.cognation.capability.exception;
|
||||
|
||||
public class CapabilityRegisterFailedException extends RuntimeException {
|
||||
public CapabilityRegisterFailedException(String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package work.slhaf.agent.core.cognation.capability.interfaces;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target(ElementType.TYPE)
|
||||
public @interface Capability {
|
||||
String value();
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package work.slhaf.agent.core.cognation.capability.interfaces;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target(ElementType.TYPE)
|
||||
public @interface CapabilityCore {
|
||||
String value();
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package work.slhaf.agent.core.cognation.capability.interfaces;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@Target(ElementType.FIELD)
|
||||
public @interface InjectCapability {
|
||||
String value();
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.agent.core.cognation;
|
||||
package work.slhaf.agent.core.cognation.cognation;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.agent.core.cognation.common.exception;
|
||||
package work.slhaf.agent.core.cognation.cognation.exception;
|
||||
|
||||
public class UserNotExistsException extends RuntimeException {
|
||||
public UserNotExistsException(String message) {
|
||||
@@ -1,7 +1,7 @@
|
||||
package work.slhaf.agent.core.cognation.common.pojo;
|
||||
package work.slhaf.agent.core.cognation.cognation.pojo;
|
||||
|
||||
import lombok.Data;
|
||||
import work.slhaf.agent.shared.memory.EvaluatedSlice;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.EvaluatedSlice;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -4,6 +4,7 @@ import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
||||
import work.slhaf.agent.core.cognation.capability.interfaces.CapabilityCore;
|
||||
import work.slhaf.agent.core.cognation.common.pojo.MemoryResult;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.MemorySlice;
|
||||
|
||||
@@ -16,6 +17,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@Slf4j
|
||||
@CapabilityCore(value = "cache")
|
||||
public class CacheCore extends PersistableObject {
|
||||
|
||||
@Serial
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package work.slhaf.agent.core.cognation.submodule.dispatch;
|
||||
|
||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
||||
import work.slhaf.agent.core.cognation.submodule.dispatch.pojo.DispatchData;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
public class DispatchCore extends PersistableObject {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
public static volatile DispatchCore dispatchCore;
|
||||
|
||||
public static DispatchCore getInstance() {
|
||||
if (dispatchCore == null) {
|
||||
synchronized (DispatchCore.class) {
|
||||
if (dispatchCore == null) {
|
||||
dispatchCore = new DispatchCore();
|
||||
}
|
||||
}
|
||||
}
|
||||
return dispatchCore;
|
||||
}
|
||||
|
||||
public void dispatch(DispatchData dispatchData){
|
||||
|
||||
}
|
||||
|
||||
public void listDispatchData(){
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package work.slhaf.agent.core.cognation.submodule.dispatch.pojo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class DispatchData {
|
||||
private LocalDateTime dateTime;
|
||||
private String userId;
|
||||
private String comment;
|
||||
|
||||
//TODO 替换为<执行器>或者<插件>
|
||||
private String executor;
|
||||
}
|
||||
@@ -3,8 +3,8 @@ package work.slhaf.agent.core.cognation.submodule.memory;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
||||
import work.slhaf.agent.core.cognation.common.exception.UnExistedDateIndexException;
|
||||
import work.slhaf.agent.core.cognation.common.exception.UnExistedTopicException;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.exception.UnExistedDateIndexException;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.exception.UnExistedTopicException;
|
||||
import work.slhaf.agent.core.cognation.common.pojo.MemoryResult;
|
||||
import work.slhaf.agent.core.cognation.common.pojo.MemorySliceResult;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.MemorySlice;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.agent.core.cognation.common.exception;
|
||||
package work.slhaf.agent.core.cognation.submodule.memory.exception;
|
||||
|
||||
public class NullSliceListException extends RuntimeException {
|
||||
public NullSliceListException(String message) {
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.agent.core.cognation.common.exception;
|
||||
package work.slhaf.agent.core.cognation.submodule.memory.exception;
|
||||
|
||||
public class UnExistedDateIndexException extends RuntimeException {
|
||||
public UnExistedDateIndexException(String message) {
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.agent.core.cognation.common.exception;
|
||||
package work.slhaf.agent.core.cognation.submodule.memory.exception;
|
||||
|
||||
public class UnExistedTopicException extends RuntimeException {
|
||||
public UnExistedTopicException(String message) {
|
||||
@@ -1,4 +1,4 @@
|
||||
package work.slhaf.agent.shared.memory;
|
||||
package work.slhaf.agent.core.cognation.submodule.memory.pojo;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
@@ -4,7 +4,7 @@ import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
||||
import work.slhaf.agent.core.cognation.common.exception.NullSliceListException;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.exception.NullSliceListException;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.MemorySlice;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
@@ -8,7 +8,7 @@ import work.slhaf.agent.common.chat.constant.ChatConstant;
|
||||
import work.slhaf.agent.common.chat.pojo.ChatResponse;
|
||||
import work.slhaf.agent.common.chat.pojo.Message;
|
||||
import work.slhaf.agent.common.chat.pojo.MetaMessage;
|
||||
import work.slhaf.agent.core.cognation.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.CognationManager;
|
||||
import work.slhaf.agent.core.interaction.data.context.InteractionContext;
|
||||
import work.slhaf.agent.core.interaction.module.InteractionModule;
|
||||
|
||||
@@ -3,13 +3,13 @@ package work.slhaf.agent.module.modules.memory.selector;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import work.slhaf.agent.core.cognation.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.CognationManager;
|
||||
import work.slhaf.agent.core.cognation.common.exception.UnExistedDateIndexException;
|
||||
import work.slhaf.agent.core.cognation.common.exception.UnExistedTopicException;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.exception.UnExistedDateIndexException;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.exception.UnExistedTopicException;
|
||||
import work.slhaf.agent.core.cognation.common.pojo.MemoryResult;
|
||||
import work.slhaf.agent.core.cognation.submodule.cache.CacheCapability;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.MemoryCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.CacheCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.MemoryCapability;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.MemorySlice;
|
||||
import work.slhaf.agent.core.interaction.data.context.InteractionContext;
|
||||
import work.slhaf.agent.core.session.SessionManager;
|
||||
@@ -19,7 +19,7 @@ import work.slhaf.agent.module.modules.memory.selector.evaluator.data.EvaluatorI
|
||||
import work.slhaf.agent.module.modules.memory.selector.extractor.MemorySelectExtractor;
|
||||
import work.slhaf.agent.module.modules.memory.selector.extractor.data.ExtractorMatchData;
|
||||
import work.slhaf.agent.module.modules.memory.selector.extractor.data.ExtractorResult;
|
||||
import work.slhaf.agent.shared.memory.EvaluatedSlice;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.EvaluatedSlice;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@@ -16,7 +16,7 @@ import work.slhaf.agent.module.modules.memory.selector.evaluator.data.EvaluatorB
|
||||
import work.slhaf.agent.module.modules.memory.selector.evaluator.data.EvaluatorInput;
|
||||
import work.slhaf.agent.module.modules.memory.selector.evaluator.data.EvaluatorResult;
|
||||
import work.slhaf.agent.module.modules.memory.selector.evaluator.data.SliceSummary;
|
||||
import work.slhaf.agent.shared.memory.EvaluatedSlice;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.EvaluatedSlice;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
||||
@@ -9,9 +9,9 @@ import work.slhaf.agent.common.chat.pojo.Message;
|
||||
import work.slhaf.agent.common.chat.pojo.MetaMessage;
|
||||
import work.slhaf.agent.common.exception_handler.GlobalExceptionHandler;
|
||||
import work.slhaf.agent.common.exception_handler.pojo.GlobalException;
|
||||
import work.slhaf.agent.core.cognation.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.CognationManager;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.MemoryCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.MemoryCapability;
|
||||
import work.slhaf.agent.core.interaction.data.context.InteractionContext;
|
||||
import work.slhaf.agent.core.session.SessionManager;
|
||||
import work.slhaf.agent.module.common.Model;
|
||||
@@ -19,7 +19,7 @@ import work.slhaf.agent.module.common.ModelConstant;
|
||||
import work.slhaf.agent.module.modules.memory.selector.extractor.data.ExtractorInput;
|
||||
import work.slhaf.agent.module.modules.memory.selector.extractor.data.ExtractorMatchData;
|
||||
import work.slhaf.agent.module.modules.memory.selector.extractor.data.ExtractorResult;
|
||||
import work.slhaf.agent.shared.memory.EvaluatedSlice;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.EvaluatedSlice;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -3,7 +3,7 @@ package work.slhaf.agent.module.modules.memory.selector.extractor.data;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import work.slhaf.agent.common.chat.pojo.Message;
|
||||
import work.slhaf.agent.shared.memory.EvaluatedSlice;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.EvaluatedSlice;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
@@ -6,12 +6,12 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import work.slhaf.agent.common.chat.constant.ChatConstant;
|
||||
import work.slhaf.agent.common.chat.pojo.Message;
|
||||
import work.slhaf.agent.common.thread.InteractionThreadPoolExecutor;
|
||||
import work.slhaf.agent.core.cognation.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.CognationManager;
|
||||
import work.slhaf.agent.core.cognation.submodule.cache.CacheCapability;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.MemoryCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.CacheCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.MemoryCapability;
|
||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.MemorySlice;
|
||||
import work.slhaf.agent.core.cognation.submodule.perceive.PerceiveCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.PerceiveCapability;
|
||||
import work.slhaf.agent.core.interaction.data.context.InteractionContext;
|
||||
import work.slhaf.agent.core.interaction.module.InteractionModule;
|
||||
import work.slhaf.agent.core.session.SessionManager;
|
||||
|
||||
@@ -3,7 +3,7 @@ package work.slhaf.agent.module.modules.perceive.selector;
|
||||
import lombok.Setter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import work.slhaf.agent.core.cognation.CognationManager;
|
||||
import work.slhaf.agent.core.cognation.submodule.perceive.PerceiveCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.PerceiveCapability;
|
||||
import work.slhaf.agent.core.cognation.submodule.perceive.pojo.User;
|
||||
import work.slhaf.agent.core.interaction.data.context.InteractionContext;
|
||||
import work.slhaf.agent.module.common.PreModule;
|
||||
|
||||
@@ -4,9 +4,9 @@ import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import work.slhaf.agent.common.thread.InteractionThreadPoolExecutor;
|
||||
import work.slhaf.agent.core.cognation.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.CognationManager;
|
||||
import work.slhaf.agent.core.cognation.submodule.perceive.PerceiveCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.PerceiveCapability;
|
||||
import work.slhaf.agent.core.cognation.submodule.perceive.pojo.User;
|
||||
import work.slhaf.agent.core.interaction.data.context.InteractionContext;
|
||||
import work.slhaf.agent.core.interaction.module.InteractionModule;
|
||||
|
||||
@@ -4,9 +4,9 @@ import com.alibaba.fastjson2.JSONObject;
|
||||
import lombok.Data;
|
||||
import work.slhaf.agent.common.chat.pojo.ChatResponse;
|
||||
import work.slhaf.agent.common.chat.pojo.Message;
|
||||
import work.slhaf.agent.core.cognation.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.CognationManager;
|
||||
import work.slhaf.agent.core.cognation.submodule.perceive.PerceiveCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.PerceiveCapability;
|
||||
import work.slhaf.agent.core.cognation.submodule.perceive.pojo.User;
|
||||
import work.slhaf.agent.core.interaction.data.context.InteractionContext;
|
||||
import work.slhaf.agent.module.common.Model;
|
||||
|
||||
@@ -5,9 +5,9 @@ import com.alibaba.fastjson2.JSONObject;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import work.slhaf.agent.common.chat.pojo.ChatResponse;
|
||||
import work.slhaf.agent.core.cognation.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.CognationManager;
|
||||
import work.slhaf.agent.core.cognation.submodule.perceive.PerceiveCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.PerceiveCapability;
|
||||
import work.slhaf.agent.core.interaction.data.context.InteractionContext;
|
||||
import work.slhaf.agent.module.common.Model;
|
||||
import work.slhaf.agent.module.common.ModelConstant;
|
||||
|
||||
@@ -2,7 +2,7 @@ package work.slhaf.agent.module.modules.process;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import work.slhaf.agent.core.cognation.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.CognationManager;
|
||||
import work.slhaf.agent.core.interaction.data.context.InteractionContext;
|
||||
import work.slhaf.agent.core.interaction.module.InteractionModule;
|
||||
|
||||
@@ -2,9 +2,9 @@ package work.slhaf.agent.module.modules.process;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import work.slhaf.agent.core.cognation.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.CognationCapability;
|
||||
import work.slhaf.agent.core.cognation.CognationManager;
|
||||
import work.slhaf.agent.core.cognation.submodule.perceive.PerceiveCapability;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.PerceiveCapability;
|
||||
import work.slhaf.agent.core.cognation.submodule.perceive.pojo.User;
|
||||
import work.slhaf.agent.core.interaction.data.InteractionInputData;
|
||||
import work.slhaf.agent.core.interaction.data.context.InteractionContext;
|
||||
|
||||
30
src/test/java/ReflectionTest.java
Normal file
30
src/test/java/ReflectionTest.java
Normal file
@@ -0,0 +1,30 @@
|
||||
import org.junit.jupiter.api.Test;
|
||||
import work.slhaf.agent.core.cognation.capability.CapabilityRegister;
|
||||
import work.slhaf.agent.core.cognation.capability.ability.MemoryCapability;
|
||||
import work.slhaf.agent.core.cognation.common.pojo.MemoryResult;
|
||||
|
||||
import java.lang.reflect.Proxy;
|
||||
import java.util.function.Function;
|
||||
|
||||
public class ReflectionTest {
|
||||
|
||||
@Test
|
||||
public void test1() {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void proxyTest() {
|
||||
MemoryCapability memory = (MemoryCapability) Proxy.newProxyInstance(this.getClass().getClassLoader(), new Class[]{MemoryCapability.class}, (proxy, method, args) -> {
|
||||
if ("selectMemory".equals(method.getName())){
|
||||
System.out.println(111);
|
||||
return new MemoryResult();
|
||||
}
|
||||
return null;
|
||||
});
|
||||
memory.selectMemory("111");
|
||||
|
||||
Function<String, Integer> function = s -> {
|
||||
return s.length();
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user