docs(project): 更新 RAG 与模型平台现状
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Common Agent 开发路线图
|
||||
|
||||
本文档基于 2026-05-24 当前分支代码整理,用来区分"已经完成""建议优先做""中期建设项"。
|
||||
本文档基于 2026-05-25 当前分支代码整理,用来区分"已经完成""建议优先做""中期建设项"。
|
||||
|
||||
## 已完成
|
||||
|
||||
@@ -33,7 +33,10 @@
|
||||
- `rag_chunk`、`rag_chunk_embedding` 表结构与实体定义。
|
||||
- RAG 知识库完整 CRUD(含编码唯一性校验)。
|
||||
- 知识文档完整 CRUD、条件查询、批量上传。
|
||||
- 文档解析入口:支持批量提交文档 ID,按切片策略参数发起解析,状态流转为 PARSING / PARSED / FAILED。
|
||||
- 文档解析入口:支持批量提交文档 ID,状态流转为 PARSING / PARSED / FAILED。
|
||||
- 解析快照:解析成功后保存 `rag_document_parse_result`,供后续切片复用。
|
||||
- 切片基础能力:已完成 `Chunker`、`ChunkerFactory`、定长切片和分隔符切片。
|
||||
- 文档切片入口:支持按切片策略异步生成并替换 `rag_chunk`。
|
||||
- 知识库总览接口与单库文档概览接口。
|
||||
- RAG 解析状态枚举 `RagParseStatusEnum`(UPLOADED / PARSING / PARSED / FAILED)。
|
||||
- RAG 索引状态枚举 `RagIndexStatusEnum`(PENDING / INDEXING / INDEXED / FAILED)。
|
||||
@@ -46,11 +49,18 @@
|
||||
- `AdminLayout.vue` 管理后台布局(侧边栏菜单 + 主内容区)。
|
||||
- 系统枚举管理页:完整 CRUD + 批量新增对话框 + 关键词搜索 + 响应式布局。
|
||||
- 知识库管理页:完整 CRUD + 概览卡片 + 双栏详情 + 编辑对话框 + 批量上传入口。
|
||||
- 知识文档管理页:条件查询 + 批量上传 + 批量解析入口 + 编辑/启停用/删除。
|
||||
- 知识文档管理页:条件查询 + 批量上传 + 解析重试 + 批量切片入口 + 编辑/启停用/删除。
|
||||
- RAG 工作台与切片任务页:展示文档解析/切片概览并提供切片入口。
|
||||
- RAG 文档批量上传组件:支持锁定知识库或选择知识库上传。
|
||||
- API 层:Axios 封装 + Long 类型安全解析 + 统一错误拦截。
|
||||
- 单元测试:Vitest + @vue/test-utils,覆盖路由、布局、页面和 API。
|
||||
|
||||
### 模型平台设计
|
||||
|
||||
- 已新增模型服务商配置与路由需求文档:`docs/MODEL_PROVIDER_REQUIREMENTS.md`。
|
||||
- 已新增模型服务商配置与路由设计文档:`docs/MODEL_PROVIDER_DESIGN.md`。
|
||||
- 已明确后续通过模型网关统一接入 Ollama、硅基流动、百炼等 OpenAI-compatible 来源。
|
||||
|
||||
### 质量保障
|
||||
|
||||
- 后端结构稳定性单元测试。
|
||||
@@ -58,22 +68,22 @@
|
||||
|
||||
## 短期优先级
|
||||
|
||||
建议优先完成下面几项,把 RAG 上传解析链路升级为可检索链路:
|
||||
建议优先完成下面几项,把 RAG 上传解析切片链路升级为可检索链路:
|
||||
|
||||
1. 切片生成服务:把解析服务拿到的 `DocumentParseResult.text` 改造成可持久化的 `rag_chunk` 记录。
|
||||
2. 按 `RagChunkStrategyEnum` 先落地 `FIXED_LENGTH` 和 `DELIMITER`,再扩展段落/标题/表格/语义切片。
|
||||
3. 索引任务入口:把文档或知识库的 `indexStatus` 推进为真实状态流转。
|
||||
4. 接入 Spring AI Embedding 模型,生成并保存 `rag_chunk_embedding`。
|
||||
1. 模型服务商配置:新增服务商、模型、路由规则和调用日志基础表。
|
||||
2. Embedding 网关:优先支持 OpenAI-compatible 接口,接入硅基流动或 Ollama Embedding。
|
||||
3. 向量写入:对 `rag_chunk` 调用 Embedding 模型并保存 `rag_chunk_embedding`。
|
||||
4. 索引任务入口:把文档或知识库的 `indexStatus` 推进为真实状态流转。
|
||||
5. 补齐重建索引、失败重试、最近任务接口。
|
||||
6. 前端接入检索配置、最近任务和重建索引动作。
|
||||
6. 前端接入模型配置、检索配置、最近任务和重建索引动作。
|
||||
|
||||
## RAG 最小闭环
|
||||
|
||||
当前上传与解析入口已完成,下一步建设最小检索闭环:
|
||||
|
||||
1. 批量上传文件,自动创建 `sys_attachment` 与 `rag_document`。
|
||||
2. 调用解析入口,使用 Tika 抽取文本并更新 `parseStatus`。
|
||||
3. 根据切片策略生成 `rag_chunk`。
|
||||
1. ~~批量上传文件,自动创建 `sys_attachment` 与 `rag_document`。~~
|
||||
2. ~~调用解析入口,使用 Tika 抽取文本并更新 `parseStatus`。~~
|
||||
3. ~~根据切片策略生成 `rag_chunk`。~~
|
||||
4. 调用 Embedding 模型生成向量并写入 `rag_chunk_embedding`。
|
||||
5. 提供检索接口,按 query 向量召回切片并返回引用元数据。
|
||||
|
||||
@@ -108,7 +118,8 @@ RAG 数据链路稳定后,再进入 Agent 主线:
|
||||
- 枚举查询接口规范:POST `/api/sys-enum/queryForManagement`。
|
||||
- RAG 文档状态字段:`parseStatus` + `indexStatus` + `enabled`。
|
||||
- RAG 文档批量上传接口:POST `/api/rag/documents/batchUpload`。
|
||||
- RAG 文档解析接口:POST `/api/rag/documents/parse`,当前同步解析并返回解析元数据。
|
||||
- RAG 文档解析接口:POST `/api/rag/documents/parse`,当前同步解析、保存解析快照并返回解析元数据。
|
||||
- RAG 文档切片接口:POST `/api/rag/documents/chunk`,当前异步生成并替换 `rag_chunk`。
|
||||
- 大整数 ID 通过 `@JsonSerialize(ToStringSerializer.class)` 输出为字符串。
|
||||
|
||||
## 里程碑
|
||||
@@ -120,9 +131,9 @@ RAG 数据链路稳定后,再进入 Agent 主线:
|
||||
|
||||
### 里程碑 2:RAG 可演示
|
||||
|
||||
- 已完成知识库文档上传、建档、解析状态流转。
|
||||
- 下一步完成切片持久化、向量化和检索接口。
|
||||
- 前端知识库与知识文档页面已接入当前接口,索引任务和检索配置待接入。
|
||||
- 已完成知识库文档上传、建档、解析状态流转和手动切片持久化。
|
||||
- 下一步完成模型配置、向量化和检索接口。
|
||||
- 前端知识库、知识文档、RAG 工作台和切片任务页面已接入当前接口,索引任务和检索配置待接入。
|
||||
|
||||
### 里程碑 3:Agent 最小运行时
|
||||
|
||||
|
||||
Reference in New Issue
Block a user