mirror of
https://github.com/slhaf/Partner.git
synced 2026-05-12 16:53:04 +08:00
推进核心服务注册机制,并调整了Partner的模块结构
- 为了方便调试,将项目分为两个子模块,demo模块中进行新机制的开发工作,core模块为原来的Partner项目; - 新增了多个注解,用于适配新的核心服务注册机制; - 在`CapabilityRegisterFactory`中,将首先启动`statusCheck`,检查各个注解是否正常工作,包括以下内容: - `CapabilityCore`核心服务与`Capability`接口是否匹配 - 核心服务中的`CapabilityMethod`是否与`Capability`接口中的方法匹配 - 是否存在待协调方法`ToCoordinatedMethod`以及对应的存在于`BaseCognationManager`子类实现中
This commit is contained in:
20
.gitignore
vendored
20
.gitignore
vendored
@@ -38,14 +38,14 @@ build/
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
/data/
|
/data/
|
||||||
/config/
|
/config/
|
||||||
/src/test/java/memory/test.json
|
/Partner-Core/src/main/java/src/test/java/memory/test.json
|
||||||
/src/test/java/memory/result/input1.json
|
/Partner-Core/src/main/java/src/test/java/memory/result/input1.json
|
||||||
/src/test/java/memory/result/input2.json
|
/Partner-Core/src/main/java/src/test/java/memory/result/input2.json
|
||||||
/src/test/java/memory/result/output1.json
|
/Partner-Core/src/main/java/src/test/java/memory/result/output1.json
|
||||||
/src/test/java/memory/result/output2.json
|
/Partner-Core/src/main/java/src/test/java/memory/result/output2.json
|
||||||
/src/test/java/memory/result/total_input.json
|
/Partner-Core/src/main/java/src/test/java/memory/result/total_input.json
|
||||||
/src/test/java/memory/result/input3.json
|
/Partner-Core/src/main/java/src/test/java/memory/result/input3.json
|
||||||
/src/test/java/memory/result/input4.json
|
/Partner-Core/src/main/java/src/test/java/memory/result/input4.json
|
||||||
/src/test/java/memory/result/primary_input.json
|
/Partner-Core/src/main/java/src/test/java/memory/result/primary_input.json
|
||||||
/src/main/resources/prompt/module/memory/topic_extractor.json.bak
|
/Partner-Core/src/main/java/src/main/resources/prompt/module/memory/topic_extractor.json.bak
|
||||||
/backup/
|
/backup/
|
||||||
|
|||||||
6
.idea/encodings.xml
generated
6
.idea/encodings.xml
generated
@@ -1,6 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="Encoding">
|
<component name="Encoding">
|
||||||
|
<file url="file://$PROJECT_DIR$/Partner-Capability-Demo/src/main/java" charset="UTF-8" />
|
||||||
|
<file url="file://$PROJECT_DIR$/Partner-Capability-Demo/src/main/resources" charset="UTF-8" />
|
||||||
|
<file url="file://$PROJECT_DIR$/Partner-Core/src/main/java" charset="UTF-8" />
|
||||||
|
<file url="file://$PROJECT_DIR$/Partner-Core/src/main/java/src/main/java" charset="UTF-8" />
|
||||||
|
<file url="file://$PROJECT_DIR$/Partner-Core/src/main/java/src/main/resources" charset="UTF-8" />
|
||||||
|
<file url="file://$PROJECT_DIR$/Partner-Core/src/main/resources" charset="UTF-8" />
|
||||||
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
||||||
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
20
Partner-Capability-Demo/pom.xml
Normal file
20
Partner-Capability-Demo/pom.xml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>work.slhaf</groupId>
|
||||||
|
<artifactId>Partner</artifactId>
|
||||||
|
<version>0.5.0</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>Partner-Capability-Demo</artifactId>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>21</maven.compiler.source>
|
||||||
|
<maven.compiler.target>21</maven.compiler.target>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
</project>
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package work.slhaf.demo;
|
||||||
|
|
||||||
|
import work.slhaf.demo.capability.BaseCognationManager;
|
||||||
|
import work.slhaf.demo.capability.interfaces.Coordinated;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class MyCognationManager extends BaseCognationManager {
|
||||||
|
|
||||||
|
@Coordinated(capability = "memory")
|
||||||
|
public List<String> selectMemory(String path){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package work.slhaf.demo.capability;
|
||||||
|
|
||||||
|
public class BaseCognationManager {
|
||||||
|
}
|
||||||
@@ -0,0 +1,232 @@
|
|||||||
|
package work.slhaf.demo.capability;
|
||||||
|
|
||||||
|
import lombok.Setter;
|
||||||
|
import org.reflections.Reflections;
|
||||||
|
import org.reflections.scanners.Scanners;
|
||||||
|
import org.reflections.util.ClasspathHelper;
|
||||||
|
import org.reflections.util.ConfigurationBuilder;
|
||||||
|
import work.slhaf.demo.capability.exception.*;
|
||||||
|
import work.slhaf.demo.capability.interfaces.*;
|
||||||
|
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
public class CapabilityRegisterFactory {
|
||||||
|
|
||||||
|
public static volatile CapabilityRegisterFactory capabilityRegisterFactory;
|
||||||
|
|
||||||
|
@Setter
|
||||||
|
private Reflections reflections;
|
||||||
|
|
||||||
|
private CapabilityRegisterFactory() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static CapabilityRegisterFactory getInstance() {
|
||||||
|
if (capabilityRegisterFactory == null) {
|
||||||
|
synchronized (CapabilityRegisterFactory.class) {
|
||||||
|
if (capabilityRegisterFactory == null) {
|
||||||
|
capabilityRegisterFactory = new CapabilityRegisterFactory();
|
||||||
|
capabilityRegisterFactory.setReflections(getReflections());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return capabilityRegisterFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Reflections getReflections() {
|
||||||
|
//后续可替换为根据传入的启动类获取路径
|
||||||
|
Collection<URL> urls = ClasspathHelper.forJavaClassPath();
|
||||||
|
return new Reflections(
|
||||||
|
new ConfigurationBuilder()
|
||||||
|
.setUrls(urls)
|
||||||
|
.setScanners(Scanners.TypesAnnotated, Scanners.MethodsAnnotated, Scanners.SubTypes)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void registerCapabilities() {
|
||||||
|
//检查可注册能力是否正常
|
||||||
|
statusCheck();
|
||||||
|
//扫描现有Capability, value为键,返回函数路由表, 函数路由表内部通过反射调用对应core的方法
|
||||||
|
//扫描时也需要排除掉
|
||||||
|
}
|
||||||
|
|
||||||
|
private void statusCheck() {
|
||||||
|
Set<Class<?>> cores = reflections.getTypesAnnotatedWith(CapabilityCore.class);
|
||||||
|
Set<Class<?>> capabilities = reflections.getTypesAnnotatedWith(Capability.class);
|
||||||
|
checkCountAndCapabilities(cores, capabilities);
|
||||||
|
checkCapabilityMethods(cores, capabilities);
|
||||||
|
checkCoordinatedMethods(capabilities);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkCoordinatedMethods(Set<Class<?>> capabilities) {
|
||||||
|
//检查各个capability中是否含有ToCoordinated注解
|
||||||
|
//如果含有,则需要查找AbstractCognationManager的子类,看这里是否有对应的Coordinated注解所在方法
|
||||||
|
Set<String> methodsToCoordinated = capabilities.stream()
|
||||||
|
.flatMap(capability -> Arrays.stream(capability.getDeclaredMethods()))
|
||||||
|
.filter(method -> method.isAnnotationPresent(ToCoordinated.class))
|
||||||
|
.map(method -> {
|
||||||
|
String capabilityValue = method.getDeclaringClass().getAnnotation(Capability.class).value();
|
||||||
|
return capabilityValue + "." + methodSignature(method);
|
||||||
|
})
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
if (!methodsToCoordinated.isEmpty()) {
|
||||||
|
Set<Class<? extends BaseCognationManager>> subTypesOfAbsCM = reflections.getSubTypesOf(BaseCognationManager.class);
|
||||||
|
Set<String> methodsCoordinated = getMethodsCoordinated(subTypesOfAbsCM);
|
||||||
|
if (!methodsCoordinated.equals(methodsToCoordinated)) {
|
||||||
|
// 找出缺少的协调方法
|
||||||
|
Set<String> missingMethods = new HashSet<>(methodsToCoordinated);
|
||||||
|
missingMethods.removeAll(methodsCoordinated);
|
||||||
|
|
||||||
|
// 找出多余的协调方法
|
||||||
|
Set<String> extraMethods = new HashSet<>(methodsCoordinated);
|
||||||
|
extraMethods.removeAll(methodsToCoordinated);
|
||||||
|
|
||||||
|
// 抛出异常或记录错误
|
||||||
|
if (!missingMethods.isEmpty()) {
|
||||||
|
throw new UnMatchedCoordinatedMethodException("缺少协调方法: " + String.join(", ", missingMethods));
|
||||||
|
}
|
||||||
|
if (!extraMethods.isEmpty()) {
|
||||||
|
throw new UnMatchedCoordinatedMethodException("发现多余的协调方法: " + String.join(", ", extraMethods));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Set<String> getMethodsCoordinated(Set<Class<? extends BaseCognationManager>> subTypesOfAbsCM) {
|
||||||
|
Set<String> methodsCoordinated = new HashSet<>();
|
||||||
|
for (Class<? extends BaseCognationManager> cm : subTypesOfAbsCM) {
|
||||||
|
Method[] methods = cm.getMethods();
|
||||||
|
for (Method method : methods) {
|
||||||
|
if (method.isAnnotationPresent(Coordinated.class)) {
|
||||||
|
methodsCoordinated.add(method.getAnnotation(Coordinated.class).capability() + "." + methodSignature(method));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return methodsCoordinated;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void checkCapabilityMethods(Set<Class<?>> cores, Set<Class<?>> capabilities) {
|
||||||
|
HashMap<String, List<Method>> capabilitiesMethods = getCapabilityMethods(capabilities);
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
for (Class<?> core : cores) {
|
||||||
|
List<Method> methodsWithAnnotation = Arrays.stream(core.getMethods())
|
||||||
|
.filter(method -> method.isAnnotationPresent(CapabilityMethod.class))
|
||||||
|
.toList();
|
||||||
|
List<Method> capabilityMethods = capabilitiesMethods.get(core.getAnnotation(CapabilityCore.class).value());
|
||||||
|
LackRecord lackRecord = checkMethodsMatched(methodsWithAnnotation, capabilityMethods);
|
||||||
|
if (lackRecord.hasNotEmptyRecord()) {
|
||||||
|
sb.append(lackRecord.toLackErrorMsg(core.getAnnotation(CapabilityCore.class).value()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!sb.isEmpty()) {
|
||||||
|
throw new UnMatchedCapabilityMethodException(sb.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private LackRecord checkMethodsMatched(List<Method> methodsWithAnnotation, List<Method> capabilityMethods) {
|
||||||
|
Set<String> collectedMethodsWithAnnotation = methodsWithAnnotation.stream()
|
||||||
|
.filter(method -> !method.isAnnotationPresent(ToCoordinated.class))
|
||||||
|
.map(this::methodSignature)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
Set<String> collectedCapabilityMethods = capabilityMethods.stream()
|
||||||
|
.filter(method -> !method.isAnnotationPresent(ToCoordinated.class))
|
||||||
|
.map(this::methodSignature)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
return checkMethodsMatched(collectedMethodsWithAnnotation, collectedCapabilityMethods);
|
||||||
|
}
|
||||||
|
|
||||||
|
private LackRecord checkMethodsMatched(Set<String> collectedMethodsWithAnnotation, Set<String> collectedCapabilityMethods) {
|
||||||
|
List<String> coreLack = new ArrayList<>();
|
||||||
|
List<String> capLack = new ArrayList<>();
|
||||||
|
// 找出 core 中多余的方法
|
||||||
|
for (String coreSig : collectedMethodsWithAnnotation) {
|
||||||
|
if (!collectedCapabilityMethods.contains(coreSig)) {
|
||||||
|
capLack.add(coreSig);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 找出 capability 中多余的方法
|
||||||
|
for (String capSig : collectedCapabilityMethods) {
|
||||||
|
if (!collectedMethodsWithAnnotation.contains(capSig)) {
|
||||||
|
coreLack.add(capSig);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return new LackRecord(coreLack, capLack);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private String methodSignature(Method method) {
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
sb.append("(");
|
||||||
|
sb.append(method.getReturnType().getName()).append(" ");
|
||||||
|
sb.append(method.getName()).append("(");
|
||||||
|
Class<?>[] paramTypes = method.getParameterTypes();
|
||||||
|
for (int i = 0; i < paramTypes.length; i++) {
|
||||||
|
sb.append(paramTypes[i].getName());
|
||||||
|
if (i < paramTypes.length - 1) sb.append(",");
|
||||||
|
}
|
||||||
|
sb.append(")").append(")");
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private HashMap<String, List<Method>> getCapabilityMethods(Set<Class<?>> capabilities) {
|
||||||
|
HashMap<String, List<Method>> capabilityMethods = new HashMap<>();
|
||||||
|
capabilities.forEach(capability -> {
|
||||||
|
capabilityMethods.put(capability.getAnnotation(Capability.class).value(), Arrays.stream(capability.getMethods()).toList());
|
||||||
|
});
|
||||||
|
return capabilityMethods;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkCountAndCapabilities(Set<Class<?>> cores, Set<Class<?>> capabilities) {
|
||||||
|
if (cores.size() != capabilities.size()) {
|
||||||
|
throw new UnMatchedCapabilityException("Capability 注册异常: 已存在的CapabilityCore与Capability数量不匹配!");
|
||||||
|
}
|
||||||
|
if (!checkValuesMatched(cores, capabilities)) {
|
||||||
|
throw new UnMatchedCapabilityException("Capability 注册异常: 已存在的CapabilityCore与Capability不匹配!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private boolean checkValuesMatched(Set<Class<?>> cores, Set<Class<?>> capabilities) {
|
||||||
|
Set<String> coresValues = new HashSet<>();
|
||||||
|
Set<String> capabilitiesValues = new HashSet<>();
|
||||||
|
for (Class<?> core : cores) {
|
||||||
|
CapabilityCore annotation = core.getAnnotation(CapabilityCore.class);
|
||||||
|
if (annotation != null) {
|
||||||
|
if (coresValues.contains(annotation.value())) {
|
||||||
|
throw new DuplicateCapabilityException(String.format("Capability 注册异常: 重复的Capability核心: %s", annotation.value()));
|
||||||
|
}
|
||||||
|
coresValues.add(annotation.value());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (Class<?> capability : capabilities) {
|
||||||
|
Capability annotation = capability.getAnnotation(Capability.class);
|
||||||
|
if (annotation != null) {
|
||||||
|
if (capabilitiesValues.contains(annotation.value())) {
|
||||||
|
throw new DuplicateCapabilityException(String.format("Capability 注册异常: 重复的Capability接口: %s", annotation.value()));
|
||||||
|
}
|
||||||
|
capabilitiesValues.add(annotation.value());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return coresValues.equals(capabilitiesValues);
|
||||||
|
}
|
||||||
|
|
||||||
|
record LackRecord(List<String> coreLack, List<String> capLack) {
|
||||||
|
public boolean hasNotEmptyRecord() {
|
||||||
|
return !coreLack.isEmpty() || !capLack.isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toLackErrorMsg(String capabilityName) {
|
||||||
|
StringBuilder sb = new StringBuilder("\n").append(capabilityName).append("\n");
|
||||||
|
if (!coreLack.isEmpty()) {
|
||||||
|
sb.append("缺少Core方法:").append("\n").append(coreLack).append("\n");
|
||||||
|
}
|
||||||
|
if (!capLack.isEmpty()) {
|
||||||
|
sb.append("缺少Capability方法:").append("\n").append(capLack).append("\n");
|
||||||
|
}
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package work.slhaf.agent.core.cognation.capability.ability;
|
package work.slhaf.demo.capability.ability;
|
||||||
|
|
||||||
import work.slhaf.agent.core.cognation.capability.interfaces.Capability;
|
|
||||||
|
import work.slhaf.demo.capability.interfaces.Capability;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package work.slhaf.demo.capability.ability;
|
||||||
|
|
||||||
|
import work.slhaf.demo.capability.interfaces.Capability;
|
||||||
|
import work.slhaf.demo.capability.interfaces.ToCoordinated;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Capability(value = "memory")
|
||||||
|
public interface MemoryCapability {
|
||||||
|
void cleanSelectedSliceFilter();
|
||||||
|
String getTopicTree();
|
||||||
|
List<String> listMemory(String userId);
|
||||||
|
@ToCoordinated
|
||||||
|
List<String> selectMemory(String path);
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package work.slhaf.demo.capability.ability;
|
||||||
|
|
||||||
|
import work.slhaf.demo.capability.interfaces.Capability;
|
||||||
|
|
||||||
|
@Capability(value = "perceive")
|
||||||
|
public interface PerceiveCapability {
|
||||||
|
String getUser(String id);
|
||||||
|
String addUser(String userInfo, String platform, String userNickName);
|
||||||
|
void updateUser(String user);
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package work.slhaf.demo.capability.exception;
|
||||||
|
|
||||||
|
public class CapabilityCheckFailedException extends RuntimeException {
|
||||||
|
public CapabilityCheckFailedException(String message) {
|
||||||
|
super("Capability注册失败: "+message);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package work.slhaf.demo.capability.exception;
|
||||||
|
|
||||||
|
public class DuplicateCapabilityException extends CapabilityCheckFailedException{
|
||||||
|
public DuplicateCapabilityException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package work.slhaf.demo.capability.exception;
|
||||||
|
|
||||||
|
public class UnMatchedCapabilityException extends CapabilityCheckFailedException{
|
||||||
|
public UnMatchedCapabilityException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package work.slhaf.demo.capability.exception;
|
||||||
|
|
||||||
|
public class UnMatchedCapabilityMethodException extends CapabilityCheckFailedException{
|
||||||
|
public UnMatchedCapabilityMethodException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package work.slhaf.demo.capability.exception;
|
||||||
|
|
||||||
|
public class UnMatchedCoordinatedMethodException extends CapabilityCheckFailedException{
|
||||||
|
public UnMatchedCoordinatedMethodException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,10 +1,13 @@
|
|||||||
package work.slhaf.agent.core.cognation.capability.interfaces;
|
package work.slhaf.demo.capability.interfaces;
|
||||||
|
|
||||||
import java.lang.annotation.ElementType;
|
import java.lang.annotation.ElementType;
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
import java.lang.annotation.Target;
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用于注解能力接口,需要与`@CapabilityCore`对应的`value`一致
|
||||||
|
*/
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
@Target(ElementType.TYPE)
|
@Target(ElementType.TYPE)
|
||||||
public @interface Capability {
|
public @interface Capability {
|
||||||
@@ -1,10 +1,13 @@
|
|||||||
package work.slhaf.agent.core.cognation.capability.interfaces;
|
package work.slhaf.demo.capability.interfaces;
|
||||||
|
|
||||||
import java.lang.annotation.ElementType;
|
import java.lang.annotation.ElementType;
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
import java.lang.annotation.Target;
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用于注解Core服务,需标识一个value致用于核心服务发现
|
||||||
|
*/
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
@Target(ElementType.TYPE)
|
@Target(ElementType.TYPE)
|
||||||
public @interface CapabilityCore {
|
public @interface CapabilityCore {
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package work.slhaf.demo.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.METHOD)
|
||||||
|
public @interface CapabilityMethod {
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package work.slhaf.demo.capability.interfaces;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用于标注协调方法,`value`值需与对应的`@ToCoordinated`保持一致
|
||||||
|
*/
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Target(ElementType.METHOD)
|
||||||
|
public @interface Coordinated {
|
||||||
|
String capability();
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package work.slhaf.demo.capability.interfaces;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用于注入`Capability`
|
||||||
|
*/
|
||||||
|
@Target(ElementType.FIELD)
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
public @interface InjectCapability {
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package work.slhaf.demo.capability.interfaces;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当`@Capability`所注接口中,如果存在方法需要协调多个Core服务的调用,可以通过该注解进行排除
|
||||||
|
* value值为方法对应标识,需与协调实现处的方法标识保持一致
|
||||||
|
*/
|
||||||
|
@Target(ElementType.METHOD)
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
public @interface ToCoordinated {
|
||||||
|
}
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
package work.slhaf.demo.core;
|
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import work.slhaf.demo.capability.interfaces.CapabilityCore;
|
||||||
|
import work.slhaf.demo.capability.interfaces.CapabilityMethod;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
|
@CapabilityCore(value = "cache")
|
||||||
|
@Slf4j
|
||||||
|
public class CacheCore {
|
||||||
|
|
||||||
|
public static volatile CacheCore cacheCore;
|
||||||
|
|
||||||
|
public static CacheCore getInstance() {
|
||||||
|
if (cacheCore == null) {
|
||||||
|
synchronized (CacheCore.class) {
|
||||||
|
if (cacheCore == null) {
|
||||||
|
cacheCore = new CacheCore();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return cacheCore;
|
||||||
|
}
|
||||||
|
|
||||||
|
@CapabilityMethod
|
||||||
|
public HashMap<LocalDateTime, String> getDialogMap() {
|
||||||
|
log.info("cache: getDialogMap");
|
||||||
|
return new HashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@CapabilityMethod
|
||||||
|
public ConcurrentHashMap<LocalDateTime, String> getUserDialogMap(String userId) {
|
||||||
|
log.info("cache: getUserDialogMap");
|
||||||
|
return new ConcurrentHashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@CapabilityMethod
|
||||||
|
public void updateDialogMap(LocalDateTime dateTime, String newDialogCache) {
|
||||||
|
log.info("cache: updateDialogMap");
|
||||||
|
}
|
||||||
|
|
||||||
|
@CapabilityMethod
|
||||||
|
public String getDialogMapStr() {
|
||||||
|
log.info("cache: getDialogMapStr");
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
@CapabilityMethod
|
||||||
|
public String getUserDialogMapStr(String userId) {
|
||||||
|
log.info("cache: getUserDialogMapStr");
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
package work.slhaf.demo.core;
|
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import work.slhaf.demo.capability.interfaces.CapabilityCore;
|
||||||
|
import work.slhaf.demo.capability.interfaces.CapabilityMethod;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@CapabilityCore(value = "memory")
|
||||||
|
@Slf4j
|
||||||
|
public class MemoryCore {
|
||||||
|
|
||||||
|
public static volatile MemoryCore memoryCore;
|
||||||
|
|
||||||
|
public static MemoryCore getInstance() {
|
||||||
|
if (memoryCore == null){
|
||||||
|
synchronized (MemoryCore.class){
|
||||||
|
if (memoryCore == null){
|
||||||
|
memoryCore = new MemoryCore();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return memoryCore;
|
||||||
|
}
|
||||||
|
|
||||||
|
@CapabilityMethod
|
||||||
|
public void cleanSelectedSliceFilter(){
|
||||||
|
log.info("memory: cleanSelectedSliceFilter");
|
||||||
|
}
|
||||||
|
|
||||||
|
@CapabilityMethod
|
||||||
|
public String getTopicTree(){
|
||||||
|
log.info("memory: getTopicTree");
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
@CapabilityMethod
|
||||||
|
public List<String> listMemory(String userId){
|
||||||
|
log.info("memory: listMemory");
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package work.slhaf.demo.core;
|
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import work.slhaf.demo.capability.interfaces.CapabilityCore;
|
||||||
|
import work.slhaf.demo.capability.interfaces.CapabilityMethod;
|
||||||
|
|
||||||
|
@CapabilityCore(value = "perceive")
|
||||||
|
@Slf4j
|
||||||
|
public class PerceiveCore {
|
||||||
|
|
||||||
|
public static volatile PerceiveCore perceiveCore;
|
||||||
|
|
||||||
|
public static PerceiveCore getInstance() {
|
||||||
|
if (perceiveCore == null){
|
||||||
|
synchronized (PerceiveCore.class){
|
||||||
|
if (perceiveCore == null){
|
||||||
|
perceiveCore = new PerceiveCore();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return perceiveCore;
|
||||||
|
}
|
||||||
|
|
||||||
|
@CapabilityMethod
|
||||||
|
public String getUser(String id){
|
||||||
|
log.info("perceive: getUser");
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
@CapabilityMethod
|
||||||
|
public String addUser(String userInfo, String platform, String userNickName){
|
||||||
|
log.info("perceive: addUser");
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
@CapabilityMethod
|
||||||
|
public void updateUser(String user){
|
||||||
|
log.info("perceive: updateUser");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
20
Partner-Core/pom.xml
Normal file
20
Partner-Core/pom.xml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>work.slhaf</groupId>
|
||||||
|
<artifactId>Partner</artifactId>
|
||||||
|
<version>0.5.0</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>Partner-Core</artifactId>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>21</maven.compiler.source>
|
||||||
|
<maven.compiler.target>21</maven.compiler.target>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
</project>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package work.slhaf;
|
package work.slhaf;
|
||||||
|
|
||||||
import work.slhaf.agent.Agent;
|
import work.slhaf.partner.Agent;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
package work.slhaf.agent;
|
package work.slhaf.partner;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import work.slhaf.agent.common.config.Config;
|
import work.slhaf.partner.common.config.Config;
|
||||||
import work.slhaf.agent.common.monitor.DebugMonitor;
|
import work.slhaf.partner.common.monitor.DebugMonitor;
|
||||||
import work.slhaf.agent.core.InteractionHub;
|
import work.slhaf.partner.core.InteractionHub;
|
||||||
import work.slhaf.agent.core.interaction.agent_interface.InputReceiver;
|
import work.slhaf.partner.core.interaction.agent_interface.InputReceiver;
|
||||||
import work.slhaf.agent.core.interaction.agent_interface.TaskCallback;
|
import work.slhaf.partner.core.interaction.agent_interface.TaskCallback;
|
||||||
import work.slhaf.agent.core.interaction.data.InteractionInputData;
|
import work.slhaf.partner.core.interaction.data.InteractionInputData;
|
||||||
import work.slhaf.agent.core.interaction.data.InteractionOutputData;
|
import work.slhaf.partner.core.interaction.data.InteractionOutputData;
|
||||||
import work.slhaf.agent.gateway.AgentWebSocketServer;
|
import work.slhaf.partner.gateway.AgentWebSocketServer;
|
||||||
import work.slhaf.agent.gateway.MessageSender;
|
import work.slhaf.partner.gateway.MessageSender;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
package work.slhaf.agent.common.chat;
|
package work.slhaf.partner.common.chat;
|
||||||
|
|
||||||
import cn.hutool.http.HttpRequest;
|
import cn.hutool.http.HttpRequest;
|
||||||
import cn.hutool.http.HttpResponse;
|
import cn.hutool.http.HttpResponse;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import work.slhaf.agent.common.chat.constant.ChatConstant;
|
import work.slhaf.partner.common.chat.constant.ChatConstant;
|
||||||
import work.slhaf.agent.common.chat.pojo.ChatBody;
|
import work.slhaf.partner.common.chat.pojo.ChatBody;
|
||||||
import work.slhaf.agent.common.chat.pojo.ChatResponse;
|
import work.slhaf.partner.common.chat.pojo.ChatResponse;
|
||||||
import work.slhaf.agent.common.chat.pojo.Message;
|
import work.slhaf.partner.common.chat.pojo.Message;
|
||||||
import work.slhaf.agent.common.chat.pojo.PrimaryChatResponse;
|
import work.slhaf.partner.common.chat.pojo.PrimaryChatResponse;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.common.chat.constant;
|
package work.slhaf.partner.common.chat.constant;
|
||||||
|
|
||||||
public class ChatConstant {
|
public class ChatConstant {
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.common.chat.pojo;
|
package work.slhaf.partner.common.chat.pojo;
|
||||||
|
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.common.chat.pojo;
|
package work.slhaf.partner.common.chat.pojo;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package work.slhaf.agent.common.chat.pojo;
|
package work.slhaf.partner.common.chat.pojo;
|
||||||
|
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package work.slhaf.agent.common.chat.pojo;
|
package work.slhaf.partner.common.chat.pojo;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.common.chat.pojo;
|
package work.slhaf.partner.common.chat.pojo;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
package work.slhaf.agent.common.config;
|
package work.slhaf.partner.common.config;
|
||||||
|
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.alibaba.fastjson2.JSONArray;
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import work.slhaf.agent.module.modules.core.CoreModel;
|
import work.slhaf.partner.module.modules.core.CoreModel;
|
||||||
import work.slhaf.agent.module.modules.memory.selector.MemorySelector;
|
import work.slhaf.partner.module.modules.memory.selector.MemorySelector;
|
||||||
import work.slhaf.agent.module.modules.memory.updater.MemoryUpdater;
|
import work.slhaf.partner.module.modules.memory.updater.MemoryUpdater;
|
||||||
import work.slhaf.agent.module.modules.process.PostprocessExecutor;
|
import work.slhaf.partner.module.modules.process.PostprocessExecutor;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.common.config;
|
package work.slhaf.partner.common.config;
|
||||||
|
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.common.config;
|
package work.slhaf.partner.common.config;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.common.config;
|
package work.slhaf.partner.common.config;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package work.slhaf.agent.common.exception_handler;
|
package work.slhaf.partner.common.exception_handler;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import work.slhaf.agent.common.exception_handler.pojo.GlobalException;
|
import work.slhaf.partner.common.exception_handler.pojo.GlobalException;
|
||||||
import work.slhaf.agent.common.exception_handler.pojo.GlobalExceptionData;
|
import work.slhaf.partner.common.exception_handler.pojo.GlobalExceptionData;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
package work.slhaf.agent.common.exception_handler.pojo;
|
package work.slhaf.partner.common.exception_handler.pojo;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import work.slhaf.agent.core.cognation.CognationManager;
|
import work.slhaf.partner.core.cognation.CognationManager;
|
||||||
import work.slhaf.agent.core.interaction.data.context.InteractionContext;
|
import work.slhaf.partner.core.interaction.data.context.InteractionContext;
|
||||||
import work.slhaf.agent.core.session.SessionManager;
|
import work.slhaf.partner.core.session.SessionManager;
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
package work.slhaf.agent.common.exception_handler.pojo;
|
package work.slhaf.partner.common.exception_handler.pojo;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
import work.slhaf.agent.core.cognation.CognationManager;
|
import work.slhaf.partner.core.cognation.CognationManager;
|
||||||
import work.slhaf.agent.core.interaction.data.context.InteractionContext;
|
import work.slhaf.partner.core.interaction.data.context.InteractionContext;
|
||||||
import work.slhaf.agent.core.session.SessionManager;
|
import work.slhaf.partner.core.session.SessionManager;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package work.slhaf.agent.common.monitor;
|
package work.slhaf.partner.common.monitor;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import work.slhaf.agent.common.thread.InteractionThreadPoolExecutor;
|
import work.slhaf.partner.common.thread.InteractionThreadPoolExecutor;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class DebugMonitor {
|
public class DebugMonitor {
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.common.serialize;
|
package work.slhaf.partner.common.serialize;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.common.thread;
|
package work.slhaf.partner.common.thread;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.common.util;
|
package work.slhaf.partner.common.util;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package work.slhaf.agent.common.util;
|
package work.slhaf.partner.common.util;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSONArray;
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
import work.slhaf.agent.Agent;
|
import work.slhaf.partner.Agent;
|
||||||
import work.slhaf.agent.common.chat.pojo.Message;
|
import work.slhaf.partner.common.chat.pojo.Message;
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
@@ -1,18 +1,16 @@
|
|||||||
package work.slhaf.agent.core;
|
package work.slhaf.partner.core;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import work.slhaf.agent.common.exception_handler.GlobalExceptionHandler;
|
import work.slhaf.partner.common.exception_handler.GlobalExceptionHandler;
|
||||||
import work.slhaf.agent.common.exception_handler.pojo.GlobalException;
|
import work.slhaf.partner.common.exception_handler.pojo.GlobalException;
|
||||||
import work.slhaf.agent.core.interaction.agent_interface.TaskCallback;
|
import work.slhaf.partner.core.interaction.agent_interface.TaskCallback;
|
||||||
import work.slhaf.agent.core.interaction.data.InteractionInputData;
|
import work.slhaf.partner.core.interaction.data.InteractionInputData;
|
||||||
import work.slhaf.agent.core.interaction.data.context.InteractionContext;
|
import work.slhaf.partner.core.interaction.data.context.InteractionContext;
|
||||||
import work.slhaf.agent.core.interaction.module.InteractionModule;
|
import work.slhaf.partner.core.interaction.module.InteractionModule;
|
||||||
import work.slhaf.agent.core.interaction.module.InteractionModulesLoader;
|
import work.slhaf.partner.core.interaction.module.InteractionModulesLoader;
|
||||||
import work.slhaf.agent.module.modules.core.CoreModel;
|
import work.slhaf.partner.module.modules.process.PreprocessExecutor;
|
||||||
import work.slhaf.agent.module.modules.process.PreprocessExecutor;
|
|
||||||
import work.slhaf.agent.module.modules.task.TaskScheduler;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,31 +1,31 @@
|
|||||||
package work.slhaf.agent.core.cognation;
|
package work.slhaf.partner.core.cognation;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import work.slhaf.agent.common.chat.constant.ChatConstant;
|
import work.slhaf.partner.common.chat.constant.ChatConstant;
|
||||||
import work.slhaf.agent.common.chat.pojo.Message;
|
import work.slhaf.partner.common.chat.pojo.Message;
|
||||||
import work.slhaf.agent.common.config.Config;
|
import work.slhaf.partner.common.config.Config;
|
||||||
import work.slhaf.agent.common.exception_handler.GlobalExceptionHandler;
|
import work.slhaf.partner.common.exception_handler.GlobalExceptionHandler;
|
||||||
import work.slhaf.agent.common.exception_handler.pojo.GlobalException;
|
import work.slhaf.partner.common.exception_handler.pojo.GlobalException;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
import work.slhaf.agent.core.cognation.capability.ability.CognationCapability;
|
import work.slhaf.partner.core.cognation.capability.ability.CacheCapability;
|
||||||
import work.slhaf.agent.core.cognation.cognation.CognationCore;
|
import work.slhaf.partner.core.cognation.capability.ability.CognationCapability;
|
||||||
import work.slhaf.agent.core.cognation.cognation.exception.UserNotExistsException;
|
import work.slhaf.partner.core.cognation.capability.ability.MemoryCapability;
|
||||||
import work.slhaf.agent.core.cognation.cognation.pojo.ActiveData;
|
import work.slhaf.partner.core.cognation.capability.ability.PerceiveCapability;
|
||||||
import work.slhaf.agent.core.cognation.common.pojo.MemoryResult;
|
import work.slhaf.partner.core.cognation.cognation.CognationCore;
|
||||||
import work.slhaf.agent.core.cognation.common.pojo.MemorySliceResult;
|
import work.slhaf.partner.core.cognation.cognation.exception.UserNotExistsException;
|
||||||
import work.slhaf.agent.core.cognation.capability.ability.CacheCapability;
|
import work.slhaf.partner.core.cognation.cognation.pojo.ActiveData;
|
||||||
import work.slhaf.agent.core.cognation.submodule.cache.CacheCore;
|
import work.slhaf.partner.core.cognation.common.pojo.MemoryResult;
|
||||||
import work.slhaf.agent.core.cognation.submodule.dispatch.DispatchCore;
|
import work.slhaf.partner.core.cognation.common.pojo.MemorySliceResult;
|
||||||
import work.slhaf.agent.core.cognation.capability.ability.MemoryCapability;
|
import work.slhaf.partner.core.cognation.submodule.cache.CacheCore;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.MemoryCore;
|
import work.slhaf.partner.core.cognation.submodule.dispatch.DispatchCore;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.MemorySlice;
|
import work.slhaf.partner.core.cognation.submodule.memory.MemoryCore;
|
||||||
import work.slhaf.agent.core.cognation.capability.ability.PerceiveCapability;
|
import work.slhaf.partner.core.cognation.submodule.memory.pojo.EvaluatedSlice;
|
||||||
import work.slhaf.agent.core.cognation.submodule.perceive.PerceiveCore;
|
import work.slhaf.partner.core.cognation.submodule.memory.pojo.MemorySlice;
|
||||||
import work.slhaf.agent.core.cognation.submodule.perceive.pojo.User;
|
import work.slhaf.partner.core.cognation.submodule.perceive.PerceiveCore;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.EvaluatedSlice;
|
import work.slhaf.partner.core.cognation.submodule.perceive.pojo.User;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
@@ -37,7 +37,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
|
|||||||
import java.util.concurrent.locks.Lock;
|
import java.util.concurrent.locks.Lock;
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
|
|
||||||
import static work.slhaf.agent.common.util.ExtractUtil.extractUserId;
|
import static work.slhaf.partner.common.util.ExtractUtil.extractUserId;
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package work.slhaf.partner.core.cognation.capability;
|
||||||
|
|
||||||
|
import org.reflections.Reflections;
|
||||||
|
import work.slhaf.partner.core.cognation.capability.exception.CapabilityRegisterFailedException;
|
||||||
|
import work.slhaf.partner.core.cognation.capability.interfaces.Capability;
|
||||||
|
import work.slhaf.partner.core.cognation.capability.interfaces.CapabilityCore;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
public class CapabilityRegisterFactory {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package work.slhaf.partner.core.cognation.capability.ability;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
|
public interface CacheCapability {
|
||||||
|
HashMap<LocalDateTime, String> getDialogMap();
|
||||||
|
ConcurrentHashMap<LocalDateTime, String> getUserDialogMap(String userId);
|
||||||
|
void updateDialogMap(LocalDateTime dateTime, String newDialogCache);
|
||||||
|
String getDialogMapStr();
|
||||||
|
String getUserDialogMapStr(String userId);
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package work.slhaf.agent.core.cognation.capability.ability;
|
package work.slhaf.partner.core.cognation.capability.ability;
|
||||||
|
|
||||||
import work.slhaf.agent.common.chat.pojo.Message;
|
import work.slhaf.partner.common.chat.pojo.Message;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.EvaluatedSlice;
|
import work.slhaf.partner.core.cognation.submodule.memory.pojo.EvaluatedSlice;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package work.slhaf.partner.core.cognation.capability.ability;
|
||||||
|
|
||||||
|
public interface DispatchCapability {
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package work.slhaf.agent.core.cognation.capability.ability;
|
package work.slhaf.partner.core.cognation.capability.ability;
|
||||||
|
|
||||||
import work.slhaf.agent.core.cognation.common.pojo.MemoryResult;
|
import work.slhaf.partner.core.cognation.common.pojo.MemoryResult;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.MemorySlice;
|
import work.slhaf.partner.core.cognation.submodule.memory.pojo.MemorySlice;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package work.slhaf.agent.core.cognation.capability.ability;
|
package work.slhaf.partner.core.cognation.capability.ability;
|
||||||
|
|
||||||
import work.slhaf.agent.core.cognation.submodule.perceive.pojo.User;
|
import work.slhaf.partner.core.cognation.submodule.perceive.pojo.User;
|
||||||
|
|
||||||
public interface PerceiveCapability {
|
public interface PerceiveCapability {
|
||||||
User getUser(String userInfo, String client);
|
User getUser(String userInfo, String client);
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.core.cognation.capability.exception;
|
package work.slhaf.partner.core.cognation.capability.exception;
|
||||||
|
|
||||||
public class CapabilityRegisterFailedException extends RuntimeException {
|
public class CapabilityRegisterFailedException extends RuntimeException {
|
||||||
public CapabilityRegisterFailedException(String message) {
|
public CapabilityRegisterFailedException(String message) {
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package work.slhaf.partner.core.cognation.capability.interfaces;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用于注解能力接口,需要与`@CapabilityCore`对应的`value`一致
|
||||||
|
*/
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Target(ElementType.TYPE)
|
||||||
|
public @interface Capability {
|
||||||
|
String value();
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package work.slhaf.partner.core.cognation.capability.interfaces;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用于注解Core服务,需标识一个value致用于核心服务发现
|
||||||
|
*/
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Target(ElementType.TYPE)
|
||||||
|
public @interface CapabilityCore {
|
||||||
|
String value();
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package work.slhaf.partner.core.cognation.capability.interfaces;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用于标注协调方法,`value`值需与对应的`@ToCoordinated`保持一致
|
||||||
|
*/
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Target(ElementType.METHOD)
|
||||||
|
public @interface Coordinated {
|
||||||
|
String value();
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package work.slhaf.partner.core.cognation.capability.interfaces;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用于注入`Capability`
|
||||||
|
*/
|
||||||
|
@Target(ElementType.FIELD)
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
public @interface InjectCapability {
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package work.slhaf.partner.core.cognation.capability.interfaces;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当`@Capability`所注接口中,如果存在方法需要协调多个Core服务的调用,可以通过该注解进行排除
|
||||||
|
* value值为方法对应标识,需与协调实现处的方法标识保持一致
|
||||||
|
*/
|
||||||
|
@Target(ElementType.METHOD)
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
public @interface ToCoordinated {
|
||||||
|
String value();
|
||||||
|
}
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
package work.slhaf.agent.core.cognation.cognation;
|
package work.slhaf.partner.core.cognation.cognation;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import work.slhaf.agent.common.chat.pojo.Message;
|
import work.slhaf.partner.common.chat.pojo.Message;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
import work.slhaf.agent.core.cognation.submodule.cache.CacheCore;
|
import work.slhaf.partner.core.cognation.submodule.cache.CacheCore;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.MemoryCore;
|
import work.slhaf.partner.core.cognation.submodule.memory.MemoryCore;
|
||||||
import work.slhaf.agent.core.cognation.submodule.perceive.PerceiveCore;
|
import work.slhaf.partner.core.cognation.submodule.perceive.PerceiveCore;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.core.cognation.cognation.exception;
|
package work.slhaf.partner.core.cognation.cognation.exception;
|
||||||
|
|
||||||
public class UserNotExistsException extends RuntimeException {
|
public class UserNotExistsException extends RuntimeException {
|
||||||
public UserNotExistsException(String message) {
|
public UserNotExistsException(String message) {
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package work.slhaf.agent.core.cognation.cognation.pojo;
|
package work.slhaf.partner.core.cognation.cognation.pojo;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.EvaluatedSlice;
|
import work.slhaf.partner.core.cognation.submodule.memory.pojo.EvaluatedSlice;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package work.slhaf.agent.core.cognation.common.pojo;
|
package work.slhaf.partner.core.cognation.common.pojo;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.MemorySlice;
|
import work.slhaf.partner.core.cognation.submodule.memory.pojo.MemorySlice;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package work.slhaf.agent.core.cognation.common.pojo;
|
package work.slhaf.partner.core.cognation.common.pojo;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.annotation.JSONField;
|
import com.alibaba.fastjson2.annotation.JSONField;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.MemorySlice;
|
import work.slhaf.partner.core.cognation.submodule.memory.pojo.MemorySlice;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
|
||||||
@@ -1,12 +1,11 @@
|
|||||||
package work.slhaf.agent.core.cognation.submodule.cache;
|
package work.slhaf.partner.core.cognation.submodule.cache;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
import work.slhaf.agent.core.cognation.capability.interfaces.CapabilityCore;
|
import work.slhaf.partner.core.cognation.common.pojo.MemoryResult;
|
||||||
import work.slhaf.agent.core.cognation.common.pojo.MemoryResult;
|
import work.slhaf.partner.core.cognation.submodule.memory.pojo.MemorySlice;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.MemorySlice;
|
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@@ -17,7 +16,6 @@ import java.util.concurrent.ConcurrentHashMap;
|
|||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@CapabilityCore(value = "cache")
|
|
||||||
public class CacheCore extends PersistableObject {
|
public class CacheCore extends PersistableObject {
|
||||||
|
|
||||||
@Serial
|
@Serial
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package work.slhaf.agent.core.cognation.submodule.dispatch;
|
package work.slhaf.partner.core.cognation.submodule.dispatch;
|
||||||
|
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
import work.slhaf.agent.core.cognation.submodule.dispatch.pojo.DispatchData;
|
import work.slhaf.partner.core.cognation.submodule.dispatch.pojo.DispatchData;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.core.cognation.submodule.dispatch.pojo;
|
package work.slhaf.partner.core.cognation.submodule.dispatch.pojo;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
package work.slhaf.agent.core.cognation.submodule.memory;
|
package work.slhaf.partner.core.cognation.submodule.memory;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.exception.UnExistedDateIndexException;
|
import work.slhaf.partner.core.cognation.common.pojo.MemoryResult;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.exception.UnExistedTopicException;
|
import work.slhaf.partner.core.cognation.common.pojo.MemorySliceResult;
|
||||||
import work.slhaf.agent.core.cognation.common.pojo.MemoryResult;
|
import work.slhaf.partner.core.cognation.submodule.memory.exception.UnExistedDateIndexException;
|
||||||
import work.slhaf.agent.core.cognation.common.pojo.MemorySliceResult;
|
import work.slhaf.partner.core.cognation.submodule.memory.exception.UnExistedTopicException;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.MemorySlice;
|
import work.slhaf.partner.core.cognation.submodule.memory.pojo.MemorySlice;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.node.MemoryNode;
|
import work.slhaf.partner.core.cognation.submodule.memory.pojo.node.MemoryNode;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.node.TopicNode;
|
import work.slhaf.partner.core.cognation.submodule.memory.pojo.node.TopicNode;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.core.cognation.submodule.memory.exception;
|
package work.slhaf.partner.core.cognation.submodule.memory.exception;
|
||||||
|
|
||||||
public class NullSliceListException extends RuntimeException {
|
public class NullSliceListException extends RuntimeException {
|
||||||
public NullSliceListException(String message) {
|
public NullSliceListException(String message) {
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.core.cognation.submodule.memory.exception;
|
package work.slhaf.partner.core.cognation.submodule.memory.exception;
|
||||||
|
|
||||||
public class UnExistedDateIndexException extends RuntimeException {
|
public class UnExistedDateIndexException extends RuntimeException {
|
||||||
public UnExistedDateIndexException(String message) {
|
public UnExistedDateIndexException(String message) {
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.core.cognation.submodule.memory.exception;
|
package work.slhaf.partner.core.cognation.submodule.memory.exception;
|
||||||
|
|
||||||
public class UnExistedTopicException extends RuntimeException {
|
public class UnExistedTopicException extends RuntimeException {
|
||||||
public UnExistedTopicException(String message) {
|
public UnExistedTopicException(String message) {
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package work.slhaf.agent.core.cognation.submodule.memory.pojo;
|
package work.slhaf.partner.core.cognation.submodule.memory.pojo;
|
||||||
|
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package work.slhaf.agent.core.cognation.submodule.memory.pojo;
|
package work.slhaf.partner.core.cognation.submodule.memory.pojo;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
import work.slhaf.agent.common.chat.pojo.Message;
|
import work.slhaf.partner.common.chat.pojo.Message;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
package work.slhaf.agent.core.cognation.submodule.memory.pojo.node;
|
package work.slhaf.partner.core.cognation.submodule.memory.pojo.node;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.exception.NullSliceListException;
|
import work.slhaf.partner.core.cognation.submodule.memory.exception.NullSliceListException;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.MemorySlice;
|
import work.slhaf.partner.core.cognation.submodule.memory.pojo.MemorySlice;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package work.slhaf.agent.core.cognation.submodule.memory.pojo.node;
|
package work.slhaf.partner.core.cognation.submodule.memory.pojo.node;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package work.slhaf.agent.core.cognation.submodule.perceive;
|
package work.slhaf.partner.core.cognation.submodule.perceive;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
import work.slhaf.agent.core.cognation.submodule.perceive.pojo.User;
|
import work.slhaf.partner.core.cognation.submodule.perceive.pojo.User;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package work.slhaf.agent.core.cognation.submodule.perceive.pojo;
|
package work.slhaf.partner.core.cognation.submodule.perceive.pojo;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package work.slhaf.agent.core.interaction.agent_interface;
|
package work.slhaf.partner.core.interaction.agent_interface;
|
||||||
|
|
||||||
import work.slhaf.agent.core.interaction.data.InteractionInputData;
|
|
||||||
|
import work.slhaf.partner.core.interaction.data.InteractionInputData;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.core.interaction.agent_interface;
|
package work.slhaf.partner.core.interaction.agent_interface;
|
||||||
|
|
||||||
public interface TaskCallback {
|
public interface TaskCallback {
|
||||||
void onTaskFinished(String userInfo,String output);
|
void onTaskFinished(String userInfo,String output);
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.core.interaction.data;
|
package work.slhaf.partner.core.interaction.data;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.core.interaction.data;
|
package work.slhaf.partner.core.interaction.data;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
package work.slhaf.agent.core.interaction.data.context;
|
package work.slhaf.partner.core.interaction.data.context;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
import work.slhaf.agent.core.interaction.data.context.subcontext.CoreContext;
|
import work.slhaf.partner.core.interaction.data.context.subcontext.CoreContext;
|
||||||
import work.slhaf.agent.core.interaction.data.context.subcontext.ModuleContext;
|
import work.slhaf.partner.core.interaction.data.context.subcontext.ModuleContext;
|
||||||
import work.slhaf.agent.module.common.AppendPromptData;
|
import work.slhaf.partner.module.common.AppendPromptData;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package work.slhaf.agent.core.interaction.data.context.subcontext;
|
package work.slhaf.partner.core.interaction.data.context.subcontext;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package work.slhaf.agent.core.interaction.data.context.subcontext;
|
package work.slhaf.partner.core.interaction.data.context.subcontext;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
import work.slhaf.agent.module.common.AppendPromptData;
|
import work.slhaf.partner.module.common.AppendPromptData;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package work.slhaf.agent.core.interaction.module;
|
package work.slhaf.partner.core.interaction.module;
|
||||||
|
|
||||||
import work.slhaf.agent.core.interaction.data.context.InteractionContext;
|
import work.slhaf.partner.core.interaction.data.context.InteractionContext;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package work.slhaf.agent.core.interaction.module;
|
package work.slhaf.partner.core.interaction.module;
|
||||||
|
|
||||||
import work.slhaf.agent.common.config.Config;
|
import work.slhaf.partner.common.config.Config;
|
||||||
import work.slhaf.agent.common.config.ModuleConfig;
|
import work.slhaf.partner.common.config.ModuleConfig;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
package work.slhaf.agent.core.session;
|
package work.slhaf.partner.core.session;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import work.slhaf.agent.common.chat.pojo.Message;
|
import work.slhaf.partner.common.chat.pojo.Message;
|
||||||
import work.slhaf.agent.common.chat.pojo.MetaMessage;
|
import work.slhaf.partner.common.chat.pojo.MetaMessage;
|
||||||
import work.slhaf.agent.common.config.Config;
|
import work.slhaf.partner.common.config.Config;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.gateway;
|
package work.slhaf.partner.gateway;
|
||||||
|
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
@@ -8,10 +8,10 @@ import org.java_websocket.WebSocket;
|
|||||||
import org.java_websocket.framing.Framedata;
|
import org.java_websocket.framing.Framedata;
|
||||||
import org.java_websocket.handshake.ClientHandshake;
|
import org.java_websocket.handshake.ClientHandshake;
|
||||||
import org.java_websocket.server.WebSocketServer;
|
import org.java_websocket.server.WebSocketServer;
|
||||||
import work.slhaf.agent.common.thread.InteractionThreadPoolExecutor;
|
import work.slhaf.partner.common.thread.InteractionThreadPoolExecutor;
|
||||||
import work.slhaf.agent.core.interaction.agent_interface.InputReceiver;
|
import work.slhaf.partner.core.interaction.agent_interface.InputReceiver;
|
||||||
import work.slhaf.agent.core.interaction.data.InteractionInputData;
|
import work.slhaf.partner.core.interaction.data.InteractionInputData;
|
||||||
import work.slhaf.agent.core.interaction.data.InteractionOutputData;
|
import work.slhaf.partner.core.interaction.data.InteractionOutputData;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package work.slhaf.partner.gateway;
|
||||||
|
|
||||||
|
import work.slhaf.partner.core.interaction.data.InteractionOutputData;
|
||||||
|
|
||||||
|
public interface MessageSender {
|
||||||
|
void sendMessage(InteractionOutputData outputData);
|
||||||
|
}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package work.slhaf.agent.module.common;
|
package work.slhaf.partner.module.common;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import work.slhaf.agent.common.serialize.PersistableObject;
|
import work.slhaf.partner.common.serialize.PersistableObject;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
package work.slhaf.agent.module.common;
|
package work.slhaf.partner.module.common;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import work.slhaf.agent.common.chat.ChatClient;
|
import work.slhaf.partner.common.chat.ChatClient;
|
||||||
import work.slhaf.agent.common.chat.constant.ChatConstant;
|
import work.slhaf.partner.common.chat.constant.ChatConstant;
|
||||||
import work.slhaf.agent.common.chat.pojo.ChatResponse;
|
import work.slhaf.partner.common.chat.pojo.ChatResponse;
|
||||||
import work.slhaf.agent.common.chat.pojo.Message;
|
import work.slhaf.partner.common.chat.pojo.Message;
|
||||||
import work.slhaf.agent.common.config.ModelConfig;
|
import work.slhaf.partner.common.config.ModelConfig;
|
||||||
import work.slhaf.agent.common.util.ResourcesUtil;
|
import work.slhaf.partner.common.util.ResourcesUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.module.common;
|
package work.slhaf.partner.module.common;
|
||||||
|
|
||||||
public class ModelConstant {
|
public class ModelConstant {
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package work.slhaf.agent.module.common;
|
package work.slhaf.partner.module.common;
|
||||||
|
|
||||||
import work.slhaf.agent.core.interaction.data.context.InteractionContext;
|
import work.slhaf.partner.core.interaction.data.context.InteractionContext;
|
||||||
import work.slhaf.agent.core.interaction.module.InteractionModule;
|
import work.slhaf.partner.core.interaction.module.InteractionModule;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
@@ -1,21 +1,21 @@
|
|||||||
package work.slhaf.agent.module.modules.core;
|
package work.slhaf.partner.module.modules.core;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import work.slhaf.agent.common.chat.constant.ChatConstant;
|
import work.slhaf.partner.common.chat.constant.ChatConstant;
|
||||||
import work.slhaf.agent.common.chat.pojo.ChatResponse;
|
import work.slhaf.partner.common.chat.pojo.ChatResponse;
|
||||||
import work.slhaf.agent.common.chat.pojo.Message;
|
import work.slhaf.partner.common.chat.pojo.Message;
|
||||||
import work.slhaf.agent.common.chat.pojo.MetaMessage;
|
import work.slhaf.partner.common.chat.pojo.MetaMessage;
|
||||||
import work.slhaf.agent.core.cognation.capability.ability.CognationCapability;
|
import work.slhaf.partner.core.cognation.CognationManager;
|
||||||
import work.slhaf.agent.core.cognation.CognationManager;
|
import work.slhaf.partner.core.cognation.capability.ability.CognationCapability;
|
||||||
import work.slhaf.agent.core.interaction.data.context.InteractionContext;
|
import work.slhaf.partner.core.interaction.data.context.InteractionContext;
|
||||||
import work.slhaf.agent.core.interaction.module.InteractionModule;
|
import work.slhaf.partner.core.interaction.module.InteractionModule;
|
||||||
import work.slhaf.agent.core.session.SessionManager;
|
import work.slhaf.partner.core.session.SessionManager;
|
||||||
import work.slhaf.agent.module.common.AppendPromptData;
|
import work.slhaf.partner.module.common.AppendPromptData;
|
||||||
import work.slhaf.agent.module.common.Model;
|
import work.slhaf.partner.module.common.Model;
|
||||||
import work.slhaf.agent.module.common.ModelConstant;
|
import work.slhaf.partner.module.common.ModelConstant;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@@ -23,7 +23,7 @@ import java.time.format.DateTimeFormatter;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static work.slhaf.agent.common.util.ExtractUtil.extractJson;
|
import static work.slhaf.partner.common.util.ExtractUtil.extractJson;
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
@@ -1,25 +1,25 @@
|
|||||||
package work.slhaf.agent.module.modules.memory.selector;
|
package work.slhaf.partner.module.modules.memory.selector;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import work.slhaf.agent.core.cognation.capability.ability.CognationCapability;
|
import work.slhaf.partner.core.cognation.capability.ability.CognationCapability;
|
||||||
import work.slhaf.agent.core.cognation.CognationManager;
|
import work.slhaf.partner.core.cognation.CognationManager;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.exception.UnExistedDateIndexException;
|
import work.slhaf.partner.core.cognation.submodule.memory.exception.UnExistedDateIndexException;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.exception.UnExistedTopicException;
|
import work.slhaf.partner.core.cognation.submodule.memory.exception.UnExistedTopicException;
|
||||||
import work.slhaf.agent.core.cognation.common.pojo.MemoryResult;
|
import work.slhaf.partner.core.cognation.common.pojo.MemoryResult;
|
||||||
import work.slhaf.agent.core.cognation.capability.ability.CacheCapability;
|
import work.slhaf.partner.core.cognation.capability.ability.CacheCapability;
|
||||||
import work.slhaf.agent.core.cognation.capability.ability.MemoryCapability;
|
import work.slhaf.partner.core.cognation.capability.ability.MemoryCapability;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.MemorySlice;
|
import work.slhaf.partner.core.cognation.submodule.memory.pojo.MemorySlice;
|
||||||
import work.slhaf.agent.core.interaction.data.context.InteractionContext;
|
import work.slhaf.partner.core.interaction.data.context.InteractionContext;
|
||||||
import work.slhaf.agent.core.session.SessionManager;
|
import work.slhaf.partner.core.session.SessionManager;
|
||||||
import work.slhaf.agent.module.common.PreModule;
|
import work.slhaf.partner.module.common.PreModule;
|
||||||
import work.slhaf.agent.module.modules.memory.selector.evaluator.SliceSelectEvaluator;
|
import work.slhaf.partner.module.modules.memory.selector.evaluator.SliceSelectEvaluator;
|
||||||
import work.slhaf.agent.module.modules.memory.selector.evaluator.data.EvaluatorInput;
|
import work.slhaf.partner.module.modules.memory.selector.evaluator.data.EvaluatorInput;
|
||||||
import work.slhaf.agent.module.modules.memory.selector.extractor.MemorySelectExtractor;
|
import work.slhaf.partner.module.modules.memory.selector.extractor.MemorySelectExtractor;
|
||||||
import work.slhaf.agent.module.modules.memory.selector.extractor.data.ExtractorMatchData;
|
import work.slhaf.partner.module.modules.memory.selector.extractor.data.ExtractorMatchData;
|
||||||
import work.slhaf.agent.module.modules.memory.selector.extractor.data.ExtractorResult;
|
import work.slhaf.partner.module.modules.memory.selector.extractor.data.ExtractorResult;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.EvaluatedSlice;
|
import work.slhaf.partner.core.cognation.submodule.memory.pojo.EvaluatedSlice;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.module.modules.memory.selector.evaluator;
|
package work.slhaf.partner.module.modules.memory.selector.evaluator;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
@@ -6,17 +6,17 @@ import com.alibaba.fastjson2.JSONObject;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import work.slhaf.agent.common.thread.InteractionThreadPoolExecutor;
|
import work.slhaf.partner.common.thread.InteractionThreadPoolExecutor;
|
||||||
import work.slhaf.agent.core.cognation.common.pojo.MemoryResult;
|
import work.slhaf.partner.core.cognation.common.pojo.MemoryResult;
|
||||||
import work.slhaf.agent.core.cognation.common.pojo.MemorySliceResult;
|
import work.slhaf.partner.core.cognation.common.pojo.MemorySliceResult;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.MemorySlice;
|
import work.slhaf.partner.core.cognation.submodule.memory.pojo.MemorySlice;
|
||||||
import work.slhaf.agent.module.common.Model;
|
import work.slhaf.partner.module.common.Model;
|
||||||
import work.slhaf.agent.module.common.ModelConstant;
|
import work.slhaf.partner.module.common.ModelConstant;
|
||||||
import work.slhaf.agent.module.modules.memory.selector.evaluator.data.EvaluatorBatchInput;
|
import work.slhaf.partner.module.modules.memory.selector.evaluator.data.EvaluatorBatchInput;
|
||||||
import work.slhaf.agent.module.modules.memory.selector.evaluator.data.EvaluatorInput;
|
import work.slhaf.partner.module.modules.memory.selector.evaluator.data.EvaluatorInput;
|
||||||
import work.slhaf.agent.module.modules.memory.selector.evaluator.data.EvaluatorResult;
|
import work.slhaf.partner.module.modules.memory.selector.evaluator.data.EvaluatorResult;
|
||||||
import work.slhaf.agent.module.modules.memory.selector.evaluator.data.SliceSummary;
|
import work.slhaf.partner.module.modules.memory.selector.evaluator.data.SliceSummary;
|
||||||
import work.slhaf.agent.core.cognation.submodule.memory.pojo.EvaluatedSlice;
|
import work.slhaf.partner.core.cognation.submodule.memory.pojo.EvaluatedSlice;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -25,7 +25,7 @@ import java.util.concurrent.ConcurrentLinkedDeque;
|
|||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
import static work.slhaf.agent.common.util.ExtractUtil.extractJson;
|
import static work.slhaf.partner.common.util.ExtractUtil.extractJson;
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package work.slhaf.agent.module.modules.memory.selector.evaluator.data;
|
package work.slhaf.partner.module.modules.memory.selector.evaluator.data;
|
||||||
|
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import work.slhaf.agent.common.chat.pojo.Message;
|
import work.slhaf.partner.common.chat.pojo.Message;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package work.slhaf.agent.module.modules.memory.selector.evaluator.data;
|
package work.slhaf.partner.module.modules.memory.selector.evaluator.data;
|
||||||
|
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import work.slhaf.agent.common.chat.pojo.Message;
|
import work.slhaf.partner.common.chat.pojo.Message;
|
||||||
import work.slhaf.agent.core.cognation.common.pojo.MemoryResult;
|
import work.slhaf.partner.core.cognation.common.pojo.MemoryResult;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.module.modules.memory.selector.evaluator.data;
|
package work.slhaf.partner.module.modules.memory.selector.evaluator.data;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package work.slhaf.agent.module.modules.memory.selector.evaluator.data;
|
package work.slhaf.partner.module.modules.memory.selector.evaluator.data;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user