mirror of
https://github.com/slhaf/Partner.git
synced 2026-05-12 16:53:04 +08:00
refactor(memory): drop message cleanup before summarizing
This commit is contained in:
@@ -25,7 +25,6 @@ import work.slhaf.partner.module.modules.memory.updater.summarizer.entity.Summar
|
|||||||
import work.slhaf.partner.runtime.interaction.data.context.PartnerRunningFlowContext;
|
import work.slhaf.partner.runtime.interaction.data.context.PartnerRunningFlowContext;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
@@ -134,15 +133,14 @@ public class MemoryUpdater extends PostRunningAgentModule {
|
|||||||
|
|
||||||
private void updateMemory(List<Message> chatSnapshot) {
|
private void updateMemory(List<Message> chatSnapshot) {
|
||||||
log.debug("[MemoryUpdater] 记忆更新流程开始...");
|
log.debug("[MemoryUpdater] 记忆更新流程开始...");
|
||||||
List<Message> chatMessages = getCleanedMessages(chatSnapshot);
|
if (chatSnapshot.isEmpty()) {
|
||||||
if (chatMessages.isEmpty()) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
SummarizeInput summarizeInput = new SummarizeInput(chatMessages, memoryRuntime.getTopicTree());
|
SummarizeInput summarizeInput = new SummarizeInput(chatSnapshot, memoryRuntime.getTopicTree());
|
||||||
log.debug("[MemoryUpdater] 记忆更新-总结流程-输入: {}", JSONObject.toJSONString(summarizeInput));
|
log.debug("[MemoryUpdater] 记忆更新-总结流程-输入: {}", JSONObject.toJSONString(summarizeInput));
|
||||||
SummarizeResult summarizeResult = summarize(summarizeInput);
|
SummarizeResult summarizeResult = summarize(summarizeInput);
|
||||||
log.debug("[MemoryUpdater] 记忆更新-总结流程-输出: {}", JSONObject.toJSONString(summarizeResult));
|
log.debug("[MemoryUpdater] 记忆更新-总结流程-输出: {}", JSONObject.toJSONString(summarizeResult));
|
||||||
MemoryUnit memoryUnit = buildMemoryUnit(chatMessages, summarizeResult);
|
MemoryUnit memoryUnit = buildMemoryUnit(chatSnapshot, summarizeResult);
|
||||||
memoryRuntime.recordMemory(
|
memoryRuntime.recordMemory(
|
||||||
memoryUnit,
|
memoryUnit,
|
||||||
summarizeResult.getTopicPath(),
|
summarizeResult.getTopicPath(),
|
||||||
@@ -153,21 +151,6 @@ public class MemoryUpdater extends PostRunningAgentModule {
|
|||||||
log.debug("[MemoryUpdater] 记忆更新流程结束...");
|
log.debug("[MemoryUpdater] 记忆更新流程结束...");
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<Message> getCleanedMessages(List<Message> chatMessages) {
|
|
||||||
return chatMessages.stream()
|
|
||||||
.map(message -> {
|
|
||||||
if (message.getRole() == Message.Character.ASSISTANT) {
|
|
||||||
return message;
|
|
||||||
}
|
|
||||||
List<String> splitResult = Arrays.stream(message.getContent().split("\\*\\*")).toList();
|
|
||||||
if (splitResult.isEmpty()) {
|
|
||||||
return message;
|
|
||||||
}
|
|
||||||
String time = splitResult.getLast();
|
|
||||||
return new Message(Message.Character.USER, message.getContent().replace("\r\n**" + time, ""));
|
|
||||||
}).toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
private SummarizeResult summarize(SummarizeInput summarizeInput) {
|
private SummarizeResult summarize(SummarizeInput summarizeInput) {
|
||||||
singleSummarizer.execute(summarizeInput.getChatMessages());
|
singleSummarizer.execute(summarizeInput.getChatMessages());
|
||||||
return multiSummarizer.execute(summarizeInput);
|
return multiSummarizer.execute(summarizeInput);
|
||||||
|
|||||||
Reference in New Issue
Block a user