feat(rag): modularize knowledge retrieval pipeline

This commit is contained in:
zhuyongxin
2026-07-06 17:06:05 +08:00
parent a375daead7
commit cf3333d607
38 changed files with 2981 additions and 1033 deletions
@@ -1,5 +1,7 @@
package com.superbiz.agent.domain.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -20,6 +22,7 @@ import java.util.Map;
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class SessionContext implements Serializable {
private static final long serialVersionUID = 1L;
@@ -118,6 +121,7 @@ public class SessionContext implements Serializable {
/**
* 获取聊天历史副本,避免调用方直接修改内部列表。
*/
@JsonIgnore
public List<Map<String, String>> getMessageHistorySnapshot() {
if (this.messageHistory == null || this.messageHistory.isEmpty()) {
return new ArrayList<>();
@@ -141,6 +145,7 @@ public class SessionContext implements Serializable {
this.lastActiveAt = LocalDateTime.now();
}
@JsonIgnore
public int getMessagePairCount() {
return this.messageHistory == null ? 0 : this.messageHistory.size() / 2;
}