ai-robot-core/docs/progress/ai-service-progress.md

171 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ai-service - Progress
---
## 📋 Context
- module: `ai-service`
- feature: `AISVC` (Python AI 中台)
- status: 🔄 进行中 (Phase 12)
---
## 🔗 Spec References (SSOT)
- agents: `agents.md`
- contracting: `spec/contracting.md`
- requirements: `spec/ai-service/requirements.md`
- openapi_provider: `spec/ai-service/openapi.provider.yaml`
- design: `spec/ai-service/design.md`
- tasks: `spec/ai-service/tasks.md`
---
## 📊 Overall Progress (Phases)
- [x] Phase 1: 基础设施FastAPI 框架与多租户基础) (100%) ✅
- [x] Phase 2: 存储与检索实现Memory & Retrieval (100%) ✅
- [x] Phase 3: 核心编排Orchestrator & LLM Adapter (100%) ✅
- [x] Phase 4: 流式响应SSE 实现与状态机) (100%) ✅
- [x] Phase 5: 集成与冒烟测试Quality Assurance (100%) ✅
- [x] Phase 6: 前后端联调真实对接 (100%) ✅
- [x] Phase 7: 嵌入模型可插拔与文档解析 (100%) ✅
- [x] Phase 8: LLM 配置与 RAG 调试输出 (100%) ✅
- [x] Phase 9: 租户管理与 RAG 优化 (100%) ✅
- [x] Phase 10: Prompt 模板化 (80%) 🔄 (T10.1-T10.8 完成T10.9-T10.10 待集成阶段)
- [ ] Phase 11: 多知识库管理 (0%) ⏳
- [x] Phase 12: 意图识别与规则引擎 (71%) 🔄 (T12.1-T12.5 完成T12.6-T12.7 待集成阶段)
---
## 🔄 Current Phase
### Goal
Phase 12 意图识别与规则引擎核心功能已完成T12.6Orchestrator 集成)和 T12.7(单元测试)留待集成阶段。
### Completed Tasks (Phase 12)
- [x] T12.1 定义 `IntentRule` SQLModel 实体,创建数据库表 `[AC-AISVC-65]`
- [x] T12.2 实现 `IntentRuleService`:规则 CRUD + 命中统计更新 `[AC-AISVC-65~AC-AISVC-68]`
- [x] T12.3 实现 `IntentRouter`:按优先级遍历规则,关键词+正则匹配 `[AC-AISVC-69]`
- [x] T12.4 实现规则缓存:按 tenant_id 缓存规则列表CRUD 操作时主动失效 `[AC-AISVC-69]`
- [x] T12.5 实现意图规则管理 API`POST/GET/PUT/DELETE /admin/intent-rules` `[AC-AISVC-65~AC-AISVC-68]`
### Pending Tasks (Phase 12 - 集成阶段)
- [ ] T12.6 在 Orchestrator 中集成 IntentRouterRAG 检索前执行意图识别,按 response_type 路由 `[AC-AISVC-69, AC-AISVC-70]`
- [ ] T12.7 编写意图识别服务单元测试 `[AC-AISVC-65~AC-AISVC-70]`
---
## 🏗️ Technical Context
### Module Structure
- `ai-service/`
- `app/`
- `api/` - FastAPI 路由层
- `admin/intent_rules.py` - 意图规则管理 API ✅
- `admin/prompt_templates.py` - Prompt 模板管理 API ✅
- `models/` - Pydantic 模型和 SQLModel 实体
- `entities.py` - IntentRule, PromptTemplate, PromptTemplateVersion 实体 ✅
- `services/`
- `intent/` - 意图识别服务 ✅
- `__init__.py` - 模块导出
- `rule_service.py` - 规则 CRUD、命中统计、缓存
- `router.py` - IntentRouter 匹配引擎
- `prompt/` - Prompt 模板服务 ✅
- `__init__.py` - 模块导出
- `template_service.py` - 模板 CRUD、版本管理、发布/回滚、缓存
- `variable_resolver.py` - 变量替换引擎
### Key Decisions (Why / Impact)
- decision: 意图规则数据库驱动
reason: 支持动态配置意图识别规则,无需重启服务
impact: 规则存储在 PostgreSQL支持按租户隔离
- decision: 关键词 + 正则双匹配机制
reason: 关键词匹配快速高效,正则匹配支持复杂模式
impact: 先关键词匹配再正则匹配,优先级高的规则先匹配
- decision: 内存缓存 + TTL 策略
reason: 减少数据库查询,提升匹配性能
impact: 缓存 TTL=60sCRUD 操作时主动失效
- decision: 四种响应类型
reason: 支持不同的处理链路
impact: fixed 直接返回、rag 定向检索、flow 进入流程、transfer 转人工
---
## 🧾 Session History
### Session #8 (2026-02-27)
- completed:
- T12.1-T12.5 意图识别与规则引擎核心功能
- 实现 IntentRule 实体(支持关键词、正则、优先级、四种响应类型)
- 实现 IntentRuleServiceCRUD、命中统计、缓存
- 实现 IntentRouter 匹配引擎(按优先级 DESC 遍历,先关键词再正则)
- 实现规则缓存(按 tenant_id 缓存TTL=60sCRUD 主动失效)
- 实现意图规则管理 APIPOST/GET/PUT/DELETE
- changes:
- 新增 `app/models/entities.py` IntentRule, IntentRuleCreate, IntentRuleUpdate, IntentMatchResult 实体
- 新增 `app/services/intent/__init__.py` 模块导出
- 新增 `app/services/intent/rule_service.py` 规则服务
- 新增 `app/services/intent/router.py` 匹配引擎
- 新增 `app/api/admin/intent_rules.py` 规则管理 API
- 更新 `app/api/admin/__init__.py` 导出新路由
- 更新 `app/main.py` 注册新路由
- 更新 `spec/ai-service/tasks.md` 标记任务完成
- notes:
- T12.6Orchestrator 集成)和 T12.7(单元测试)留待集成阶段
### Session #7 (2026-02-27)
- completed:
- T10.1-T10.8 Prompt 模板化核心功能
- 实现 PromptTemplate 和 PromptTemplateVersion 实体
- 实现 PromptTemplateServiceCRUD、版本管理、发布/回滚、缓存)
- 实现 VariableResolver 变量替换引擎
- 实现 Prompt 模板管理 APICRUD + 发布/回滚)
- changes:
- 新增 `app/models/entities.py` PromptTemplate, PromptTemplateVersion 实体
- 新增 `app/services/prompt/template_service.py` 模板服务
- 新增 `app/services/prompt/variable_resolver.py` 变量替换引擎
- 新增 `app/api/admin/prompt_templates.py` 模板管理 API
- 更新 `app/main.py` 注册新路由
- 更新 `spec/ai-service/tasks.md` 标记任务完成
- notes:
- T10.9(修改 Orchestrator和 T10.10(单元测试)留待集成阶段
### Session #6 (2026-02-25)
- completed:
- T9.1-T9.10 租户管理与 RAG 优化功能
- 实现 Tenant 实体和租户管理 API
- 实现租户 ID 格式校验与自动创建
- 实现前端租户选择器
- 实现文档多编码支持
- 实现按行分块功能
- 实现 NomicEmbeddingProvider
- 实现多维度向量存储
- 实现 KnowledgeIndexer
- changes:
- 新增 `app/models/entities.py` Tenant 实体
- 更新 `app/core/middleware.py` 租户校验逻辑
- 新增 `app/api/admin/tenants.py` 租户管理 API
- 新增 `ai-service-admin/src/api/tenant.ts` 前端 API
- 更新 `ai-service-admin/src/App.vue` 租户选择器
- 更新 `ai-service/app/api/admin/kb.py` 多编码支持
- 新增 `app/services/embedding/nomic_provider.py`
- 新增 `app/services/retrieval/indexer.py`
- 新增 `app/services/retrieval/metadata.py`
- 新增 `app/services/retrieval/optimized_retriever.py`
---
## 🚀 Startup Guide
1. 读取本进度文档,定位当前 Phase 与 Next Action。
2. 打开并阅读 Spec References 指向的模块规范。
3. 直接执行 Next Action遇到缺口先更新 spec 再编码。