mirror of
https://github.com/slhaf/Partner.git
synced 2026-05-12 08:43:02 +08:00
模块注解机制完成,待测试。
- 调整Api包下的目录结构 - 抽取方法‘递归收集某类的继承链上的所有类’中 - 移除 ModuleFactoryContext、ModuleRegisterFactory 中关于 Init 方法的加载逻辑,将在 ModuleInitHookExecuteFactory 中加载并执行 - 完善了 ActivateModel 接口中prompt通用加载的实现 - 移除原有的框架Demo实现,开始进行测试Demo的编写
This commit is contained in:
@@ -1,10 +0,0 @@
|
||||
package work.slhaf;
|
||||
|
||||
import work.slhaf.demo.TestModule;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
TestModule testModule = new TestModule();
|
||||
testModule.execute();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package work.slhaf.demo;
|
||||
|
||||
|
||||
import work.slhaf.demo.flow.AgentDemoFlowContext;
|
||||
import work.slhaf.partner.api.agent.Agent;
|
||||
|
||||
public class AgentDemoApplication {
|
||||
public static void main(String[] args) {
|
||||
Agent.newAgent(AgentDemoApplication.class, new AgentDemoFlowContext())
|
||||
.run();
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
package work.slhaf.demo;
|
||||
|
||||
|
||||
import work.slhaf.partner.api.factory.capability.annotation.CoordinateManager;
|
||||
import work.slhaf.partner.api.factory.capability.annotation.Coordinated;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@CoordinateManager
|
||||
public class MyCognationManager {
|
||||
|
||||
@Coordinated(capability = "memory")
|
||||
public List<String> selectMemory(String path) {
|
||||
return List.of("1", "2", path);
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
package work.slhaf.demo;
|
||||
|
||||
import work.slhaf.demo.ability.MemoryCapability;
|
||||
import work.slhaf.partner.api.factory.capability.annotation.CapabilityHolder;
|
||||
import work.slhaf.partner.api.factory.capability.annotation.InjectCapability;
|
||||
|
||||
@CapabilityHolder
|
||||
public class TestModule {
|
||||
@InjectCapability
|
||||
private MemoryCapability capability;
|
||||
|
||||
public void execute(){
|
||||
System.out.println("111");
|
||||
System.out.println(capability.selectMemory("zjw"));
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
package work.slhaf.demo.ability;
|
||||
|
||||
|
||||
|
||||
import work.slhaf.partner.api.factory.capability.annotation.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);
|
||||
void updateDialogMap(LocalDateTime dateTime, String newDialogCache);
|
||||
String getDialogMapStr();
|
||||
String getUserDialogMapStr(String userId,int id);
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
package work.slhaf.demo.ability;
|
||||
|
||||
|
||||
import work.slhaf.partner.api.factory.capability.annotation.Capability;
|
||||
import work.slhaf.partner.api.factory.capability.annotation.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);
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
package work.slhaf.demo.ability;
|
||||
|
||||
|
||||
import work.slhaf.partner.api.factory.capability.annotation.Capability;
|
||||
|
||||
@Capability(value = "perceive")
|
||||
public interface PerceiveCapability {
|
||||
String getUser(String id);
|
||||
String addUser(String userInfo, String platform, String userNickName);
|
||||
void updateUser(String user);
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
package work.slhaf.demo.core;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import work.slhaf.partner.api.factory.capability.annotation.CapabilityCore;
|
||||
import work.slhaf.partner.api.factory.capability.annotation.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;
|
||||
|
||||
private CacheCore() {
|
||||
cacheCore = this;
|
||||
}
|
||||
|
||||
public static CacheCore getInstance() {
|
||||
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,int id) {
|
||||
log.info("cache: getUserDialogMapStr");
|
||||
return userId+id;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
package work.slhaf.demo.core;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import work.slhaf.partner.api.factory.capability.annotation.CapabilityCore;
|
||||
import work.slhaf.partner.api.factory.capability.annotation.CapabilityMethod;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@CapabilityCore(value = "memory")
|
||||
@Slf4j
|
||||
public class MemoryCore {
|
||||
|
||||
public static volatile MemoryCore memoryCore;
|
||||
|
||||
private MemoryCore() {
|
||||
memoryCore = this;
|
||||
}
|
||||
|
||||
public static MemoryCore getInstance() {
|
||||
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<>();
|
||||
}
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
package work.slhaf.demo.core;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import work.slhaf.partner.api.factory.capability.annotation.CapabilityCore;
|
||||
import work.slhaf.partner.api.factory.capability.annotation.CapabilityMethod;
|
||||
|
||||
@CapabilityCore(value = "perceive")
|
||||
@Slf4j
|
||||
public class PerceiveCore {
|
||||
|
||||
public static volatile PerceiveCore perceiveCore;
|
||||
|
||||
private PerceiveCore() {
|
||||
perceiveCore = this;
|
||||
}
|
||||
|
||||
public static PerceiveCore getInstance() {
|
||||
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");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package work.slhaf.demo.flow;
|
||||
|
||||
import work.slhaf.partner.api.agent.flow.entity.InteractionFlowContext;
|
||||
|
||||
public class AgentDemoFlowContext extends InteractionFlowContext {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package work.slhaf.demo.module;
|
||||
|
||||
import work.slhaf.partner.api.agent.factory.module.annotation.AgentModule;
|
||||
|
||||
@AgentModule(name = "module_a",order = 0)
|
||||
public class ATestModule {
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package work.slhaf.demo.service;
|
||||
|
||||
import work.slhaf.demo.service.core.BTestCore;
|
||||
import work.slhaf.demo.service.core.CTestCore;
|
||||
import work.slhaf.partner.api.agent.factory.capability.annotation.CoordinateManager;
|
||||
import work.slhaf.partner.api.agent.factory.capability.annotation.Coordinated;
|
||||
|
||||
@CoordinateManager
|
||||
public class TestCoordinateManager {
|
||||
private BTestCore bTestCore = new BTestCore();
|
||||
private CTestCore cTestCore = new CTestCore();
|
||||
|
||||
@Coordinated(capability = "test_c")
|
||||
public void testMethodCoordinate(String input){
|
||||
String resultB = bTestCore.testCoordinateSubMethod();
|
||||
cTestCore.testCoordinateSubMethod(resultB);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package work.slhaf.demo.service.capability;
|
||||
|
||||
import work.slhaf.partner.api.agent.factory.capability.annotation.Capability;
|
||||
|
||||
@Capability("test_a")
|
||||
public interface ATestCapability {
|
||||
void testMethodNormalA();
|
||||
String testMethodNormalB();
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package work.slhaf.demo.service.capability;
|
||||
|
||||
import work.slhaf.partner.api.agent.factory.capability.annotation.Capability;
|
||||
|
||||
@Capability("test_b")
|
||||
public interface BTestCapability {
|
||||
void testMethodNormalA();
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package work.slhaf.demo.service.capability;
|
||||
|
||||
import work.slhaf.partner.api.agent.factory.capability.annotation.Capability;
|
||||
import work.slhaf.partner.api.agent.factory.capability.annotation.ToCoordinated;
|
||||
|
||||
@Capability("test_c")
|
||||
public interface CTestCapability {
|
||||
void testMethodNormalA(String input);
|
||||
|
||||
@ToCoordinated
|
||||
void testMethodCoordinate(String input);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package work.slhaf.demo.service.core;
|
||||
|
||||
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityCore;
|
||||
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityMethod;
|
||||
|
||||
@CapabilityCore("test_a")
|
||||
public class ATestCore {
|
||||
|
||||
@CapabilityMethod
|
||||
public void testMethodNormalA(){
|
||||
System.out.println("ATestCore::testMethodNormalA");
|
||||
}
|
||||
|
||||
@CapabilityMethod
|
||||
public String testMethodNormalB(){
|
||||
return "ATestCore::testMethodNormalB";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package work.slhaf.demo.service.core;
|
||||
|
||||
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityCore;
|
||||
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityMethod;
|
||||
|
||||
@CapabilityCore("test_b")
|
||||
public class BTestCore {
|
||||
|
||||
@CapabilityMethod
|
||||
public void testMethodNormalA(){
|
||||
System.out.println("BTestCore::testMethodNormalA");
|
||||
}
|
||||
|
||||
public String testCoordinateSubMethod(){
|
||||
return "BTestCore::testMethodCoordinate";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package work.slhaf.demo.service.core;
|
||||
|
||||
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityCore;
|
||||
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityMethod;
|
||||
|
||||
@CapabilityCore("test_c")
|
||||
public class CTestCore {
|
||||
|
||||
@CapabilityMethod
|
||||
public void testMethodNormalA(String input){
|
||||
System.out.println("CTestCore::testMethodNormalA, input: " + input);
|
||||
}
|
||||
|
||||
public void testCoordinateSubMethod(String input){
|
||||
System.out.println("CTestCore::testMethodCoordinate, input: " + input);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user