docs(agent): 同步 RAG 当前能力文档

This commit is contained in:
2026-05-24 19:38:45 +08:00
parent 7575fbfeb0
commit 5a872ef197
5 changed files with 237 additions and 200 deletions

View File

@@ -1,6 +1,6 @@
# Common Agent 开发路线图
本文档基于 2026-05-21 当前分支代码整理,用来区分"已经完成""建议优先做""中期建设项"。
本文档基于 2026-05-24 当前分支代码整理,用来区分"已经完成""建议优先做""中期建设项"。
## 已完成
@@ -9,6 +9,7 @@
- Spring Boot 4.0.6 后端工程初始化。
- PostgreSQL 数据源与多环境配置文件dev / template
- MyBatis-Plus 3.5.16、Lombok、Springdoc OpenAPI 2.8.13 已接入。
- Apache Tika 3.2.3 已接入,用于文档文本抽取。
- Maven Wrapper。
### 公共能力
@@ -18,6 +19,8 @@
- `RequestResult<T>` 统一 API 返回体。
- `GlobalExceptionHandler` 全局异常处理。
- `AttachmentProperties` 附件本地存储配置。
- 文档解析抽象:`DocumentParser``DocumentParserFactory``DocumentParseContext``DocumentParseResult`
- Tika 解析实现TXT/Markdown/LOG、PDF、Word、Excel。
- `sys_enum` 完整能力实体、Mapper、Service、Controller、DTO 层。
- 支持单条增删改查、批量新增、管理端条件查询(含关键词搜索)。
- 批量新增内含重复值校验。
@@ -27,10 +30,14 @@
### RAG 基础能力
- `rag_store``rag_document` 表结构与实体定义。
- `rag_chunk``rag_chunk_embedding` 表结构与实体定义。
- RAG 知识库完整 CRUD含编码唯一性校验
- 知识文档条件查询服务
- 知识文档完整 CRUD、条件查询、批量上传
- 文档解析入口:支持批量提交文档 ID按切片策略参数发起解析状态流转为 PARSING / PARSED / FAILED。
- 知识库总览接口与单库文档概览接口。
- RAG 解析状态枚举 `RagParseStatusEnum`UPLOADED / PARSING / PARSED / FAILED
- RAG 索引状态枚举 `RagIndexStatusEnum`PENDING / INDEXING / INDEXED / FAILED
- RAG 切片策略枚举 `RagChunkStrategyEnum`FIXED_LENGTH / PARAGRAPH / HEADING / TABLE_ROW / DELIMITER / SEMANTIC
- RAG 来源常量 `RagSystemConstants`
### 前端控制台
@@ -38,7 +45,9 @@
- Vue 3 + TypeScript + Vite + Element Plus + Pinia + Vue Router 工程。
- `AdminLayout.vue` 管理后台布局(侧边栏菜单 + 主内容区)。
- 系统枚举管理页:完整 CRUD + 批量新增对话框 + 关键词搜索 + 响应式布局。
- 知识库管理页:完整 CRUD + 概览卡片 + 双栏详情 + 编辑对话框。
- 知识库管理页:完整 CRUD + 概览卡片 + 双栏详情 + 编辑对话框 + 批量上传入口
- 知识文档管理页:条件查询 + 批量上传 + 批量解析入口 + 编辑/启停用/删除。
- RAG 文档批量上传组件:支持锁定知识库或选择知识库上传。
- API 层Axios 封装 + Long 类型安全解析 + 统一错误拦截。
- 单元测试Vitest + @vue/test-utils覆盖路由、布局、页面和 API。
@@ -49,24 +58,24 @@
## 短期优先级
建议优先完成下面几项,把 RAG 元数据管理层升级为可用的业务闭环
建议优先完成下面几项,把 RAG 上传解析链路升级为可检索链路
1. 知识库文档上传接口:上传文件后自动创建 `rag_document` 记录。
2. 文档解析任务入口与状态流转
3. 向量化任务入口状态流转。
4. 知识库文档新增、详情、启停用、重试等管理接口
5. 前端附件管理页面联调
6. 前端知识文档页面联调
1. 切片生成服务:把解析服务拿到的 `DocumentParseResult.text` 改造成可持久化的 `rag_chunk` 记录。
2. `RagChunkStrategyEnum` 先落地 `FIXED_LENGTH``DELIMITER`,再扩展段落/标题/表格/语义切片
3. 索引任务入口:把文档或知识库的 `indexStatus` 推进为真实状态流转。
4. 接入 Spring AI Embedding 模型,生成并保存 `rag_chunk_embedding`
5. 补齐重建索引、失败重试、最近任务接口
6. 前端接入检索配置、最近任务和重建索引动作
## RAG 最小闭环
在基础规范层补齐后,当前 RAG 元数据层已完成,下一步建设业务闭环:
当前上传与解析入口已完成,下一步建设最小检索闭环:
1. 附件上传后自动创建 `rag_document` 记录
2. 建立文档解析任务入口(占位解析器)
3. 解析状态、索引状态按流程流转
4. 接入占位向量化接口
5. 提供知识库文档管理完整接口(新增、详情、启停用、重试、删除)
1. 批量上传文件,自动创建 `sys_attachment` `rag_document`
2. 调用解析入口,使用 Tika 抽取文本并更新 `parseStatus`
3. 根据切片策略生成 `rag_chunk`
4. 调用 Embedding 模型生成向量并写入 `rag_chunk_embedding`
5. 提供检索接口,按 query 向量召回切片并返回引用元数据
## Agent 核心能力
@@ -98,6 +107,8 @@ RAG 数据链路稳定后,再进入 Agent 主线:
- 上传接口返回模型:`SysAttachmentResponse`
- 枚举查询接口规范POST `/api/sys-enum/queryForManagement`
- RAG 文档状态字段:`parseStatus` + `indexStatus` + `enabled`
- RAG 文档批量上传接口POST `/api/rag/documents/batchUpload`
- RAG 文档解析接口POST `/api/rag/documents/parse`,当前同步解析并返回解析元数据。
- 大整数 ID 通过 `@JsonSerialize(ToStringSerializer.class)` 输出为字符串。
## 里程碑
@@ -109,9 +120,9 @@ RAG 数据链路稳定后,再进入 Agent 主线:
### 里程碑 2RAG 可演示
- 实现知识库文档上传、建档、状态流转。
- 预留解析和索引任务接口。
- 前端知识库页面完整联调
- 已完成知识库文档上传、建档、解析状态流转。
- 下一步完成切片持久化、向量化和检索接口。
- 前端知识库与知识文档页面已接入当前接口,索引任务和检索配置待接入
### 里程碑 3Agent 最小运行时
@@ -119,4 +130,4 @@ RAG 数据链路稳定后,再进入 Agent 主线:
### 里程碑 4平台管理化
- 补齐前端占位页面联调与后台配置能力,形成完整平台雏形。
- 补齐前端占位页面联调与后台配置能力,形成完整平台雏形。