zhuyongxin
dec587959c
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
2026-06-25 10:49:30 +08:00
..
2026-06-24 18:41:02 +08:00
2026-06-23 14:56:04 +08:00
2026-06-24 18:29:24 +08:00
2026-06-23 14:56:04 +08:00
2026-06-25 10:49:30 +08:00
2026-06-24 16:07:10 +08:00
2026-06-24 16:07:10 +08:00
2026-06-23 15:50:47 +08:00
2026-06-23 14:56:04 +08:00
2026-06-25 10:49:30 +08:00
2026-06-25 09:55:02 +08:00
2026-06-23 14:56:04 +08:00