81 lines
1.5 KiB
Java
81 lines
1.5 KiB
Java
package com.superbiz.agent.dto;
|
|
|
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Builder;
|
|
import lombok.Data;
|
|
import lombok.NoArgsConstructor;
|
|
|
|
import java.time.LocalDate;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* Frontmatter 数据模型
|
|
* 用于解析 Markdown 文件头的 YAML frontmatter
|
|
*/
|
|
@Data
|
|
@Builder
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
public class Frontmatter {
|
|
|
|
/**
|
|
* 文档标题(必填)
|
|
*/
|
|
private String title;
|
|
|
|
/**
|
|
* 关键词列表(必填,用于 L0 精确匹配)
|
|
*/
|
|
private List<String> keywords;
|
|
|
|
/**
|
|
* 文档摘要(必填)
|
|
*/
|
|
private String summary;
|
|
|
|
/**
|
|
* 文档类别(可选)
|
|
*/
|
|
private String category;
|
|
|
|
private String source;
|
|
|
|
private String breadcrumb;
|
|
|
|
@JsonProperty("kb_scope")
|
|
private String kbScope;
|
|
|
|
/**
|
|
* 章节锚点(预留字段,MVP 不使用)
|
|
* Key: 章节标题,Value: 章节 Markdown 标题
|
|
*/
|
|
private Map<String, String> sections;
|
|
|
|
/**
|
|
* 版本号(预留字段)
|
|
*/
|
|
private String version;
|
|
|
|
/**
|
|
* 作者(预留字段)
|
|
*/
|
|
private String author;
|
|
|
|
/**
|
|
* 最后更新日期(预留字段)
|
|
*/
|
|
private LocalDate lastUpdated;
|
|
|
|
/**
|
|
* 业务场景标签,供 Planner 决策用(LLM 上传时自动生成)
|
|
*/
|
|
private List<String> covers;
|
|
|
|
/**
|
|
* 文档级检索时机(LLM 上传时自动生成)
|
|
*/
|
|
private String whenToRetrieve;
|
|
}
|