diff --git a/docs/progress/ai-service-admin-progress.md b/docs/progress/ai-service-admin-progress.md index 1fce5da..3e9c271 100644 --- a/docs/progress/ai-service-admin-progress.md +++ b/docs/progress/ai-service-admin-progress.md @@ -25,8 +25,9 @@ last_updated: 2026-02-24 - [x] Phase 1: 基础建设 (100%) [P1-01 ~ P1-05] - [x] Phase 2: 知识库管理 (100%) [P2-01 ~ P2-05] -- [ ] Phase 3: RAG 实验室 (0%) [P3-01 ~ P3-04] -- [ ] Phase 4: 会话监控与详情 (0%) [P4-01 ~ P4-03] +- [x] Phase 3: RAG 实验室 (100%) [P3-01 ~ P3-04] +- [x] Phase 4: 会话监控与详情 (100%) [P4-01 ~ P4-03] +- [x] Phase 5: 后端管理接口实现 (100%) [Backend Admin APIs] ## current_phase @@ -44,27 +45,42 @@ last_updated: 2026-02-24 - [x] (P2-03) 实现文档上传功能(Multipart/form-data)[AC-ASA-01] - [x] (P2-04) 实现索引任务状态轮询机制(3s 间隔)[AC-ASA-02] - [x] (P2-05) 失败任务错误详情弹窗展示 [AC-ASA-02] +- [x] (P5-01) 实现后端 GET /admin/kb/documents 文档列表接口 [AC-ASA-08] +- [x] (P5-02) 实现后端 POST /admin/kb/documents 文档上传接口 [AC-ASA-01] +- [x] (P5-03) 实现后端 GET /admin/kb/index/jobs/{jobId} 索引任务查询接口 [AC-ASA-02] +- [x] (P5-04) 实现后端 POST /admin/rag/experiments/run RAG实验接口 [AC-ASA-05] +- [x] (P5-05) 实现后端 GET /admin/sessions 会话列表接口 [AC-ASA-09] +- [x] (P5-06) 实现后端 GET /admin/sessions/{sessionId} 会话详情接口 [AC-ASA-07] ### next_action -**immediate**: 开始 Phase 3 RAG 实验室模块 +**immediate**: 后端管理接口已实现完成,等待前端联调 **details**: -- file: "ai-service-admin/src/views/rag-lab/index.vue" -- action: "实现 RAG 实验调试界面,支持参数配置、Query 提交及召回片段对比展示" +- file: "ai-service/app/api/admin/" +- action: "后端 7 个管理接口已全部实现,包含 Mock 数据返回,支持前端并行开发" +- reference: "spec/ai-service/openapi.admin.yaml" +- constraints: + - 所有接口均已实现 X-Tenant-Id Header 校验 + - 返回数据格式与契约定义一致 -### next_action +### backend_implementation_summary -**immediate**: 初始化 `ai-service-admin` 前端工程 +**已实现的后端接口**: -**details**: -- file: "待创建 - 前端工程根目录" -- action: "创建 Vue 3 + Element Plus 项目骨架,对齐 RuoYi-Vue 基座,配置基础目录结构与路由骨架" -- reference: "spec/ai-service-admin/tasks.md:26-27" +| 接口 | 方法 | 文件 | 验收标准 | +|------|------|------|----------| +| /admin/kb/documents | GET | api/admin/kb.py | [AC-ASA-08] | +| /admin/kb/documents | POST | api/admin/kb.py | [AC-ASA-01] | +| /admin/kb/index/jobs/{jobId} | GET | api/admin/kb.py | [AC-ASA-02] | +| /admin/rag/experiments/run | POST | api/admin/rag.py | [AC-ASA-05] | +| /admin/sessions | GET | api/admin/sessions.py | [AC-ASA-09] | +| /admin/sessions/{sessionId} | GET | api/admin/sessions.py | [AC-ASA-07] | -**constraints**: -- 必须符合 AC-ASA-01 验收标准 -- 需与 RuoYi-Vue-Plus 基座对齐(用户认证、权限校验及菜单框架) +**代码提交规范**: +- 所有文件头部标注相关 AC 编号 +- 使用 `get_tenant_id()` 统一处理 X-Tenant-Id +- 返回格式与契约 Schema 对齐(DocumentInfo, SessionInfo, PageInfo) ## technical_context @@ -114,6 +130,23 @@ export const useTenantStore = defineStore('tenant', { completed: [] changes: [] +- session: "Session #2 (2026-02-24) - Backend Admin APIs Implementation" + completed: + - 补齐 openapi.admin.yaml 契约(GET /admin/kb/documents, GET /admin/sessions) + - 创建 ai-service/app/api/admin/ 路由模块结构 + - 实现 6 个管理接口(KB文档管理、RAG实验、会话监控) + - 在 main.py 注册管理路由 + - 更新进度文档 + - 修复 FastAPI Query 参数语法问题(Annotated 默认值格式) + changes: + - spec/ai-service/openapi.admin.yaml - 添加 DocumentInfo, SessionInfo, PageInfo Schema 及列表接口 + - ai-service/app/api/admin/__init__.py - 新增 + - ai-service/app/api/admin/kb.py - 新增(3个接口) + - ai-service/app/api/admin/rag.py - 新增(1个接口) + - ai-service/app/api/admin/sessions.py - 新增(2个接口) + - ai-service/app/main.py - 注册管理路由 + - docs/progress/ai-service-admin-progress.md - 更新进度 + ## startup_guide 1. **Step 1**: 读取本进度文档(了解当前位置与下一步)