- RetrievedDocTracker: sessionId → Set<filePath> 会话级去重,LookupKnowledgeTool Step 5 过滤已检索文档 - KnowledgeDomainService: 域级聚合,LLM 生成 when_to_retrieve,构建 knowledge map YAML - DocumentFieldEnricher: 上传时 LLM 补全 covers + whenToRetrieve(含同域文档排除上下文) - KnowledgeDomain entity + V009 迁移: 域级元数据持久化,避免重启重复 LLM 调用 - ChatService: 注入 knowledge map 到 Planner prompt,会话结束时清理去重状态 - KnowledgeIndexService: 手写 JSON 解析替换为 Jackson ObjectMapper,启动时补建缺失域记录 - chat-planner-prompt: 新增知识库检索规则(按域 when_to_retrieve 判断,每域最多一次检索) - doc-field-enricher-prompt / domain-summary-prompt: 外部化 LLM 提示词
57 lines
986 B
Java
57 lines
986 B
Java
package com.superbiz.agent.dto;
|
||
|
||
import lombok.Builder;
|
||
import lombok.Data;
|
||
|
||
import java.util.List;
|
||
import java.util.Map;
|
||
|
||
/**
|
||
* 知识库索引条目
|
||
* L0 内存索引使用的数据结构
|
||
*/
|
||
@Data
|
||
@Builder
|
||
public class KnowledgeEntry {
|
||
|
||
/**
|
||
* 文件路径(如:knowledge_base/api/payment-errors.md)
|
||
*/
|
||
private String filePath;
|
||
|
||
/**
|
||
* 文档标题
|
||
*/
|
||
private String title;
|
||
|
||
/**
|
||
* 关键词列表(用于精确匹配)
|
||
*/
|
||
private List<String> keywords;
|
||
|
||
/**
|
||
* 文档摘要
|
||
*/
|
||
private String summary;
|
||
|
||
/**
|
||
* 文档类别(如:api、domain、troubleshooting)
|
||
*/
|
||
private String category;
|
||
|
||
/**
|
||
* 章节锚点(预留字段,MVP 不使用)
|
||
*/
|
||
private Map<String, String> sections;
|
||
|
||
/**
|
||
* 业务场景标签,供 Planner 决策用
|
||
*/
|
||
private List<String> covers;
|
||
|
||
/**
|
||
* 文档级检索时机
|
||
*/
|
||
private String whenToRetrieve;
|
||
}
|