feat(knowledge): 添加知识库批量初始化接口
## 新增功能 1. **KnowledgeBaseController** - POST /api/knowledge/init - 批量初始化知识库 - GET /api/knowledge/stats - 查询统计信息 2. **KnowledgeBaseInitService** - 递归扫描 knowledge_base 目录所有 .md 文件 - 解析 frontmatter 提取元数据 - 自动去重(基于文件路径) - 数据入库到 api_document 表 - 自动加入 L0 内存索引 ## 核心特性 ### 去重机制 - 基于文件相对路径去重 - 支持 force=true 强制重新导入 - 跳过已存在文档,避免重复插入 ### 数据存储 - 数据库:保存文档元数据(title、keywords、summary 等) - L0 索引:加入 KnowledgeIndexService 内存索引 - L1 索引:暂未实现(TODO) ### 错误处理 - 格式无效:frontmatter 解析失败 - 缺少标题:必填字段验证 - 详细的错误信息反馈 ## API 示例 ```bash # 首次导入 curl -X POST http://localhost:9900/api/knowledge/init # 强制重新导入 curl -X POST http://localhost:9900/api/knowledge/init?force=true # 查询统计 curl http://localhost:9900/api/knowledge/stats ``` ## 响应示例 ```json { "success": true, "scanned": 6, "skipped": 0, "inserted": 6, "failed": 0, "details": { "api/payment-errors.md": "导入成功(L0)" } } ``` ## 后续扩展 - [ ] L1 向量索引(Milvus)集成 - [ ] 文档更新检测(基于文件哈希) - [ ] 批量删除接口 - [ ] 进度回调支持 ## 文档 - 使用文档:.docs/2026-06-25-knowledge-base-init-api.md
This commit is contained in:
@@ -154,7 +154,7 @@ public class AiOpsService {
|
||||
return new Object[]{dateTimeTools, lookupKnowledgeTool, queryMetricsTools, queryLogsTools};
|
||||
} else {
|
||||
// 真实模式:不包含 QueryLogsTools(由 MCP 提供日志查询功能)
|
||||
return new Object[]{dateTimeTools, lookupKnowledgeTool, queryMetricsTools, internalDocsTools};
|
||||
return new Object[]{dateTimeTools, lookupKnowledgeTool, queryMetricsTools};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user