mirror of
https://github.com/slhaf/Partner.git
synced 2026-05-12 08:43:02 +08:00
refactor(dialog): remove legacy data class
This commit is contained in:
@@ -26,18 +26,14 @@ import work.slhaf.partner.framework.agent.factory.component.annotation.InjectMod
|
|||||||
import work.slhaf.partner.framework.agent.model.pojo.Message;
|
import work.slhaf.partner.framework.agent.model.pojo.Message;
|
||||||
import work.slhaf.partner.framework.agent.support.Result;
|
import work.slhaf.partner.framework.agent.support.Result;
|
||||||
import work.slhaf.partner.module.action.scheduler.ActionScheduler;
|
import work.slhaf.partner.module.action.scheduler.ActionScheduler;
|
||||||
import work.slhaf.partner.module.memory.runtime.MemoryRuntime;
|
import work.slhaf.partner.module.communication.summarizer.MultiSummarizer;
|
||||||
import work.slhaf.partner.module.memory.updater.summarizer.MultiSummarizer;
|
import work.slhaf.partner.module.communication.summarizer.SingleSummarizer;
|
||||||
import work.slhaf.partner.module.memory.updater.summarizer.SingleSummarizer;
|
|
||||||
import work.slhaf.partner.module.memory.updater.summarizer.entity.SummarizeInput;
|
|
||||||
import work.slhaf.partner.module.memory.updater.summarizer.entity.SummarizeResult;
|
|
||||||
import work.slhaf.partner.runtime.PartnerRunningFlowContext;
|
import work.slhaf.partner.runtime.PartnerRunningFlowContext;
|
||||||
|
|
||||||
import java.time.ZonedDateTime;
|
import java.time.ZonedDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ExecutorService;
|
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@@ -47,8 +43,10 @@ public class DialogRolling extends AbstractAgentModule.Running<PartnerRunningFlo
|
|||||||
private static final String AUTO_UPDATE_CRON = "0/10 * * * * ?";
|
private static final String AUTO_UPDATE_CRON = "0/10 * * * * ?";
|
||||||
private static final long UPDATE_TRIGGER_INTERVAL = 60 * 60 * 1000;
|
private static final long UPDATE_TRIGGER_INTERVAL = 60 * 60 * 1000;
|
||||||
private static final int CONTEXT_RETAIN_DIVISOR = 6;
|
private static final int CONTEXT_RETAIN_DIVISOR = 6;
|
||||||
private static final int MEMORY_UPDATE_TRIGGER_ROLL_LIMIT = 36;
|
private static final int DIALOG_ROLLING_TRIGGER_LIMIT = 36;
|
||||||
|
|
||||||
private final AtomicBoolean rolling = new AtomicBoolean(false);
|
private final AtomicBoolean rolling = new AtomicBoolean(false);
|
||||||
|
|
||||||
@InjectCapability
|
@InjectCapability
|
||||||
private CognitionCapability cognitionCapability;
|
private CognitionCapability cognitionCapability;
|
||||||
@InjectCapability
|
@InjectCapability
|
||||||
@@ -57,8 +55,7 @@ public class DialogRolling extends AbstractAgentModule.Running<PartnerRunningFlo
|
|||||||
private PerceiveCapability perceiveCapability;
|
private PerceiveCapability perceiveCapability;
|
||||||
@InjectCapability
|
@InjectCapability
|
||||||
private ActionCapability actionCapability;
|
private ActionCapability actionCapability;
|
||||||
@InjectModule
|
|
||||||
private MemoryRuntime memoryRuntime;
|
|
||||||
@InjectModule
|
@InjectModule
|
||||||
private MultiSummarizer multiSummarizer;
|
private MultiSummarizer multiSummarizer;
|
||||||
@InjectModule
|
@InjectModule
|
||||||
@@ -67,11 +64,9 @@ public class DialogRolling extends AbstractAgentModule.Running<PartnerRunningFlo
|
|||||||
private ActionScheduler actionScheduler;
|
private ActionScheduler actionScheduler;
|
||||||
@InjectModule
|
@InjectModule
|
||||||
private AfterRollingRegistry afterRollingRegistry;
|
private AfterRollingRegistry afterRollingRegistry;
|
||||||
private ExecutorService executor;
|
|
||||||
|
|
||||||
@Init
|
@Init
|
||||||
public void init() {
|
public void init() {
|
||||||
executor = actionCapability.getExecutor(ActionCore.ExecutorType.VIRTUAL);
|
|
||||||
registerScheduledUpdater();
|
registerScheduledUpdater();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,10 +88,10 @@ public class DialogRolling extends AbstractAgentModule.Running<PartnerRunningFlo
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void doExecute(@NotNull PartnerRunningFlowContext context) {
|
protected void doExecute(@NotNull PartnerRunningFlowContext context) {
|
||||||
if (cognitionCapability.getChatMessages().size() < MEMORY_UPDATE_TRIGGER_ROLL_LIMIT) {
|
if (cognitionCapability.getChatMessages().size() < DIALOG_ROLLING_TRIGGER_LIMIT) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
executor.execute(() -> triggerRolling(false));
|
actionCapability.getExecutor(ActionCore.ExecutorType.VIRTUAL).execute(() -> triggerRolling(false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tryAutoRolling() {
|
private void tryAutoRolling() {
|
||||||
@@ -163,11 +158,10 @@ public class DialogRolling extends AbstractAgentModule.Running<PartnerRunningFlo
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
RollingResult buildRollingResult(List<Message> chatSnapshot, int rollingSize, int retainDivisor) {
|
RollingResult buildRollingResult(List<Message> chatSnapshot, int rollingSize, int retainDivisor) {
|
||||||
SummarizeInput summarizeInput = new SummarizeInput(chatSnapshot, memoryRuntime.getTopicTree());
|
singleSummarizer.execute(chatSnapshot);
|
||||||
singleSummarizer.execute(summarizeInput.getChatMessages());
|
Result<String> summaryResult = multiSummarizer.execute(chatSnapshot);
|
||||||
Result<SummarizeResult> summarizeResult = multiSummarizer.execute(summarizeInput);
|
String summary = summaryResult.fold(
|
||||||
String summary = summarizeResult.fold(
|
value -> value,
|
||||||
SummarizeResult::getSummary,
|
|
||||||
exp -> "no summary, due to exception"
|
exp -> "no summary, due to exception"
|
||||||
);
|
);
|
||||||
if (summary.isBlank()) {
|
if (summary.isBlank()) {
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package work.slhaf.partner.module.communication.summarizer;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import work.slhaf.partner.framework.agent.factory.component.abstracts.AbstractAgentModule;
|
||||||
|
import work.slhaf.partner.framework.agent.factory.component.annotation.InjectModule;
|
||||||
|
import work.slhaf.partner.framework.agent.model.ActivateModel;
|
||||||
|
import work.slhaf.partner.framework.agent.model.pojo.Message;
|
||||||
|
import work.slhaf.partner.framework.agent.support.Result;
|
||||||
|
import work.slhaf.partner.module.memory.runtime.MemoryRuntime;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Data
|
||||||
|
public class MultiSummarizer extends AbstractAgentModule.Sub<List<Message>, Result<String>> implements ActivateModel {
|
||||||
|
|
||||||
|
@InjectModule
|
||||||
|
private MemoryRuntime memoryRuntime;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected @NotNull Result<String> doExecute(List<Message> messages) {
|
||||||
|
return chat(
|
||||||
|
List.of(new Message(Message.Character.USER, JSONUtil.toJsonPrettyStr(messages)))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public String modelKey() {
|
||||||
|
return "multi_summarizer";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
package work.slhaf.partner.module.memory.updater.summarizer;
|
package work.slhaf.partner.module.communication.summarizer;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
import work.slhaf.partner.core.action.ActionCapability;
|
import work.slhaf.partner.core.action.ActionCapability;
|
||||||
import work.slhaf.partner.core.action.ActionCore;
|
import work.slhaf.partner.core.action.ActionCore;
|
||||||
import work.slhaf.partner.framework.agent.factory.capability.annotation.InjectCapability;
|
import work.slhaf.partner.framework.agent.factory.capability.annotation.InjectCapability;
|
||||||
@@ -30,7 +31,6 @@ public class SingleSummarizer extends AbstractAgentModule.Sub<List<Message>, Voi
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Void doExecute(List<Message> chatMessages) {
|
protected Void doExecute(List<Message> chatMessages) {
|
||||||
log.debug("[MemorySummarizer] 长文本摘要开始...");
|
|
||||||
CountDownLatch latch = new CountDownLatch(chatMessages.size());
|
CountDownLatch latch = new CountDownLatch(chatMessages.size());
|
||||||
for (int i = 0; i < chatMessages.size(); i++) {
|
for (int i = 0; i < chatMessages.size(); i++) {
|
||||||
Message chatMessage = chatMessages.get(i);
|
Message chatMessage = chatMessages.get(i);
|
||||||
@@ -56,14 +56,10 @@ public class SingleSummarizer extends AbstractAgentModule.Sub<List<Message>, Voi
|
|||||||
latch.await();
|
latch.await();
|
||||||
} catch (InterruptedException ignored) {
|
} catch (InterruptedException ignored) {
|
||||||
}
|
}
|
||||||
log.debug("[MemorySummarizer] 长文本摘要结束");
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String singleExecute(String primaryContent) {
|
@NotNull
|
||||||
return chat(List.of(new Message(Message.Character.USER, primaryContent))).getOrThrow();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String modelKey() {
|
public String modelKey() {
|
||||||
return "single_summarizer";
|
return "single_summarizer";
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
package work.slhaf.partner.module.memory.updater.summarizer;
|
|
||||||
|
|
||||||
import cn.hutool.json.JSONUtil;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import work.slhaf.partner.framework.agent.factory.component.abstracts.AbstractAgentModule;
|
|
||||||
import work.slhaf.partner.framework.agent.factory.component.annotation.InjectModule;
|
|
||||||
import work.slhaf.partner.framework.agent.model.ActivateModel;
|
|
||||||
import work.slhaf.partner.framework.agent.model.pojo.Message;
|
|
||||||
import work.slhaf.partner.framework.agent.support.Result;
|
|
||||||
import work.slhaf.partner.module.memory.runtime.MemoryRuntime;
|
|
||||||
import work.slhaf.partner.module.memory.updater.summarizer.entity.SummarizeInput;
|
|
||||||
import work.slhaf.partner.module.memory.updater.summarizer.entity.SummarizeResult;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
@Data
|
|
||||||
public class MultiSummarizer extends AbstractAgentModule.Sub<SummarizeInput, Result<SummarizeResult>> implements ActivateModel {
|
|
||||||
|
|
||||||
@InjectModule
|
|
||||||
private MemoryRuntime memoryRuntime;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected @NotNull Result<SummarizeResult> doExecute(SummarizeInput input) {
|
|
||||||
return formattedChat(
|
|
||||||
List.of(new Message(Message.Character.USER, JSONUtil.toJsonPrettyStr(input))),
|
|
||||||
SummarizeResult.class
|
|
||||||
).onSuccess(this::fix);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void fix(SummarizeResult result) {
|
|
||||||
if (result == null || result.getTopicPath() == null || result.getTopicPath().isEmpty()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
String topicPath = memoryRuntime.fixTopicPath(result.getTopicPath());
|
|
||||||
List<String> relatedTopicPath = new ArrayList<>();
|
|
||||||
for (String s : result.getRelatedTopicPath()) {
|
|
||||||
relatedTopicPath.add(memoryRuntime.fixTopicPath(s));
|
|
||||||
}
|
|
||||||
result.setTopicPath(topicPath);
|
|
||||||
result.setRelatedTopicPath(relatedTopicPath);
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
|
||||||
@Override
|
|
||||||
public String modelKey() {
|
|
||||||
return "multi_summarizer";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
package work.slhaf.partner.module.memory.updater.summarizer;
|
|
||||||
|
|
||||||
import cn.hutool.json.JSONUtil;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
import work.slhaf.partner.framework.agent.factory.component.abstracts.AbstractAgentModule;
|
|
||||||
import work.slhaf.partner.framework.agent.model.ActivateModel;
|
|
||||||
import work.slhaf.partner.framework.agent.model.pojo.Message;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
@Data
|
|
||||||
public class TotalSummarizer extends AbstractAgentModule.Sub<HashMap<String, String>, String> implements ActivateModel {
|
|
||||||
protected String doExecute(HashMap<String, String> singleMemorySummary) {
|
|
||||||
return formattedChat(
|
|
||||||
List.of(new Message(Message.Character.USER, JSONUtil.toJsonPrettyStr(singleMemorySummary))),
|
|
||||||
SummaryContent.class
|
|
||||||
).getOrThrow().getContent();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String modelKey() {
|
|
||||||
return "total_summarizer";
|
|
||||||
}
|
|
||||||
|
|
||||||
@lombok.Data
|
|
||||||
private static class SummaryContent {
|
|
||||||
private String content;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package work.slhaf.partner.module.memory.updater.summarizer.entity;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import work.slhaf.partner.framework.agent.model.pojo.Message;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@AllArgsConstructor
|
|
||||||
@Data
|
|
||||||
public class SummarizeInput {
|
|
||||||
private List<Message> chatMessages;
|
|
||||||
private String topicTree;
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
package work.slhaf.partner.module.memory.updater.summarizer.entity;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public class SummarizeResult {
|
|
||||||
private String summary;
|
|
||||||
private String topicPath;
|
|
||||||
private List<String> relatedTopicPath;
|
|
||||||
}
|
|
||||||
@@ -9,10 +9,8 @@ import work.slhaf.partner.core.memory.pojo.MemorySlice;
|
|||||||
import work.slhaf.partner.core.memory.pojo.MemoryUnit;
|
import work.slhaf.partner.core.memory.pojo.MemoryUnit;
|
||||||
import work.slhaf.partner.framework.agent.model.pojo.Message;
|
import work.slhaf.partner.framework.agent.model.pojo.Message;
|
||||||
import work.slhaf.partner.framework.agent.support.Result;
|
import work.slhaf.partner.framework.agent.support.Result;
|
||||||
import work.slhaf.partner.module.memory.runtime.MemoryRuntime;
|
import work.slhaf.partner.module.communication.summarizer.MultiSummarizer;
|
||||||
import work.slhaf.partner.module.memory.updater.summarizer.MultiSummarizer;
|
import work.slhaf.partner.module.communication.summarizer.SingleSummarizer;
|
||||||
import work.slhaf.partner.module.memory.updater.summarizer.SingleSummarizer;
|
|
||||||
import work.slhaf.partner.module.memory.updater.summarizer.entity.SummarizeResult;
|
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
@@ -39,31 +37,18 @@ class DialogRollingTest {
|
|||||||
return new Message(role, content);
|
return new Message(role, content);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static SummarizeResult summarizeResult(String summary, String topicPath, List<String> relatedTopicPath) {
|
|
||||||
SummarizeResult result = new SummarizeResult();
|
|
||||||
result.setSummary(summary);
|
|
||||||
result.setTopicPath(topicPath);
|
|
||||||
result.setRelatedTopicPath(relatedTopicPath);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void shouldDelegateMemoryUpdateToCapability() throws Exception {
|
void shouldDelegateMemoryUpdateToCapability() throws Exception {
|
||||||
String sessionId = "dialog-rolling-" + UUID.randomUUID();
|
String sessionId = "dialog-rolling-" + UUID.randomUUID();
|
||||||
StubMemoryCapability memoryCapability = new StubMemoryCapability(sessionId);
|
StubMemoryCapability memoryCapability = new StubMemoryCapability(sessionId);
|
||||||
DialogRolling dialogRolling = new DialogRolling();
|
DialogRolling dialogRolling = new DialogRolling();
|
||||||
MemoryRuntime memoryRuntime = Mockito.mock(MemoryRuntime.class);
|
|
||||||
MultiSummarizer multiSummarizer = Mockito.mock(MultiSummarizer.class);
|
MultiSummarizer multiSummarizer = Mockito.mock(MultiSummarizer.class);
|
||||||
SingleSummarizer singleSummarizer = Mockito.mock(SingleSummarizer.class);
|
SingleSummarizer singleSummarizer = Mockito.mock(SingleSummarizer.class);
|
||||||
setField(dialogRolling, "memoryCapability", memoryCapability);
|
setField(dialogRolling, "memoryCapability", memoryCapability);
|
||||||
setField(dialogRolling, "memoryRuntime", memoryRuntime);
|
|
||||||
setField(dialogRolling, "multiSummarizer", multiSummarizer);
|
setField(dialogRolling, "multiSummarizer", multiSummarizer);
|
||||||
setField(dialogRolling, "singleSummarizer", singleSummarizer);
|
setField(dialogRolling, "singleSummarizer", singleSummarizer);
|
||||||
|
|
||||||
when(memoryRuntime.getTopicTree()).thenReturn("topic-tree");
|
when(multiSummarizer.execute(Mockito.any())).thenReturn(Result.success("new-summary"));
|
||||||
when(multiSummarizer.execute(Mockito.any())).thenReturn(Result.success(
|
|
||||||
summarizeResult("new-summary", "topic/main", List.of("topic/related"))
|
|
||||||
));
|
|
||||||
|
|
||||||
MemoryUnit existingUnit = new MemoryUnit(sessionId);
|
MemoryUnit existingUnit = new MemoryUnit(sessionId);
|
||||||
existingUnit.getConversationMessages().addAll(List.of(
|
existingUnit.getConversationMessages().addAll(List.of(
|
||||||
@@ -98,18 +83,13 @@ class DialogRollingTest {
|
|||||||
String sessionId = "dialog-rolling-" + UUID.randomUUID();
|
String sessionId = "dialog-rolling-" + UUID.randomUUID();
|
||||||
StubMemoryCapability memoryCapability = new StubMemoryCapability(sessionId);
|
StubMemoryCapability memoryCapability = new StubMemoryCapability(sessionId);
|
||||||
DialogRolling dialogRolling = new DialogRolling();
|
DialogRolling dialogRolling = new DialogRolling();
|
||||||
MemoryRuntime memoryRuntime = Mockito.mock(MemoryRuntime.class);
|
|
||||||
MultiSummarizer multiSummarizer = Mockito.mock(MultiSummarizer.class);
|
MultiSummarizer multiSummarizer = Mockito.mock(MultiSummarizer.class);
|
||||||
SingleSummarizer singleSummarizer = Mockito.mock(SingleSummarizer.class);
|
SingleSummarizer singleSummarizer = Mockito.mock(SingleSummarizer.class);
|
||||||
setField(dialogRolling, "memoryCapability", memoryCapability);
|
setField(dialogRolling, "memoryCapability", memoryCapability);
|
||||||
setField(dialogRolling, "memoryRuntime", memoryRuntime);
|
|
||||||
setField(dialogRolling, "multiSummarizer", multiSummarizer);
|
setField(dialogRolling, "multiSummarizer", multiSummarizer);
|
||||||
setField(dialogRolling, "singleSummarizer", singleSummarizer);
|
setField(dialogRolling, "singleSummarizer", singleSummarizer);
|
||||||
|
|
||||||
when(memoryRuntime.getTopicTree()).thenReturn("topic-tree");
|
when(multiSummarizer.execute(Mockito.any())).thenReturn(Result.success("fresh-summary"));
|
||||||
when(multiSummarizer.execute(Mockito.any())).thenReturn(Result.success(
|
|
||||||
summarizeResult("fresh-summary", "topic/root", List.of())
|
|
||||||
));
|
|
||||||
|
|
||||||
RollingResult rollingResult = dialogRolling.buildRollingResult(List.of(
|
RollingResult rollingResult = dialogRolling.buildRollingResult(List.of(
|
||||||
message(Message.Character.USER, "first"),
|
message(Message.Character.USER, "first"),
|
||||||
@@ -158,16 +138,13 @@ class DialogRollingTest {
|
|||||||
String sessionId = "dialog-rolling-" + UUID.randomUUID();
|
String sessionId = "dialog-rolling-" + UUID.randomUUID();
|
||||||
StubMemoryCapability memoryCapability = new StubMemoryCapability(sessionId);
|
StubMemoryCapability memoryCapability = new StubMemoryCapability(sessionId);
|
||||||
DialogRolling dialogRolling = new DialogRolling();
|
DialogRolling dialogRolling = new DialogRolling();
|
||||||
MemoryRuntime memoryRuntime = Mockito.mock(MemoryRuntime.class);
|
|
||||||
MultiSummarizer multiSummarizer = Mockito.mock(MultiSummarizer.class);
|
MultiSummarizer multiSummarizer = Mockito.mock(MultiSummarizer.class);
|
||||||
SingleSummarizer singleSummarizer = Mockito.mock(SingleSummarizer.class);
|
SingleSummarizer singleSummarizer = Mockito.mock(SingleSummarizer.class);
|
||||||
setField(dialogRolling, "memoryCapability", memoryCapability);
|
setField(dialogRolling, "memoryCapability", memoryCapability);
|
||||||
setField(dialogRolling, "memoryRuntime", memoryRuntime);
|
|
||||||
setField(dialogRolling, "multiSummarizer", multiSummarizer);
|
setField(dialogRolling, "multiSummarizer", multiSummarizer);
|
||||||
setField(dialogRolling, "singleSummarizer", singleSummarizer);
|
setField(dialogRolling, "singleSummarizer", singleSummarizer);
|
||||||
|
|
||||||
when(memoryRuntime.getTopicTree()).thenReturn("topic-tree");
|
when(multiSummarizer.execute(Mockito.any())).thenReturn(Result.success(" "));
|
||||||
when(multiSummarizer.execute(Mockito.any())).thenReturn(Result.success(summarizeResult(" ", "topic/root", List.of())));
|
|
||||||
|
|
||||||
RollingResult rollingResult = dialogRolling.buildRollingResult(List.of(
|
RollingResult rollingResult = dialogRolling.buildRollingResult(List.of(
|
||||||
message(Message.Character.USER, "u1"),
|
message(Message.Character.USER, "u1"),
|
||||||
|
|||||||
Reference in New Issue
Block a user