8.1 KiB
8.1 KiB
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)
- Phase 1: 基础设施(FastAPI 框架与多租户基础) (100%) ✅
- Phase 2: 存储与检索实现(Memory & Retrieval) (100%) ✅
- Phase 3: 核心编排(Orchestrator & LLM Adapter) (100%) ✅
- Phase 4: 流式响应(SSE 实现与状态机) (100%) ✅
- Phase 5: 集成与冒烟测试(Quality Assurance) (100%) ✅
- Phase 6: 前后端联调真实对接 (100%) ✅
- Phase 7: 嵌入模型可插拔与文档解析 (100%) ✅
- Phase 8: LLM 配置与 RAG 调试输出 (100%) ✅
- Phase 9: 租户管理与 RAG 优化 (100%) ✅
- Phase 10: Prompt 模板化 (80%) 🔄 (T10.1-T10.8 完成,T10.9-T10.10 待集成阶段)
- Phase 11: 多知识库管理 (63%) 🔄 (T11.1-T11.5 完成,T11.6-T11.8 待集成阶段)
- Phase 12: 意图识别与规则引擎 (71%) 🔄 (T12.1-T12.5 完成,T12.6-T12.7 待集成阶段)
🔄 Current Phase
Goal
Phase 11 多知识库管理核心功能已完成 (T11.1-T11.5),T11.6(OptimizedRetriever 多 Collection 检索)、T11.7(kb_default 迁移)、T11.8(单元测试)留待集成阶段。
Completed Tasks (Phase 11)
- T11.1 扩展
KnowledgeBase实体:新增kb_type、priority、is_enabled、doc_count字段[AC-AISVC-59]✅ - T11.2 实现知识库 CRUD 服务:创建时初始化 Qdrant Collection,删除时清理 Collection
[AC-AISVC-59, AC-AISVC-61, AC-AISVC-62]✅ - T11.3 实现知识库管理 API:
POST/GET/PUT/DELETE /admin/kb/knowledge-bases[AC-AISVC-59~AC-AISVC-62]✅ - T11.4 升级 Qdrant Collection 命名:
kb_{tenant_id}_{kb_id},兼容现有kb_{tenant_id}[AC-AISVC-63]✅ - T11.5 修改文档上传流程:支持指定
kbId参数,索引到对应 Collection[AC-AISVC-63]✅
Pending Tasks (Phase 11 - 集成阶段)
- T11.6 修改
OptimizedRetriever:支持target_kb_ids参数,实现多 Collection 并行检索[AC-AISVC-64] - T11.7 实现
kb_default自动迁移:首次启动时为现有数据创建默认知识库记录[AC-AISVC-59] - T11.8 编写多知识库服务单元测试
[AC-AISVC-59~AC-AISVC-64]
🏗️ 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=60s,CRUD 操作时主动失效
-
decision: 四种响应类型 reason: 支持不同的处理链路 impact: fixed 直接返回、rag 定向检索、flow 进入流程、transfer 转人工
🧾 Session History
Session #9 (2026-02-27)
- completed:
- T11.1-T11.5 多知识库管理核心功能
- 扩展 KnowledgeBase 实体(kb_type、priority、is_enabled、doc_count)
- 实现 KnowledgeBaseService(CRUD、Collection 初始化/清理、文档计数)
- 实现知识库管理 API(POST/GET/PUT/DELETE)
- 升级 Qdrant Collection 命名(kb_{tenantId}_{kbId},兼容旧格式)
- 修改文档上传流程(支持 kbId 参数,索引到对应 Collection)
- changes:
- 新增
app/models/entities.pyKBType 枚举、KnowledgeBaseCreate/Update Schema - 新增
app/services/knowledge_base_service.py知识库 CRUD 服务 - 更新
app/core/qdrant_client.py多知识库 Collection 管理方法 - 更新
app/api/admin/kb.py知识库管理 API 和文档上传流程 - 更新
spec/ai-service/tasks.md标记任务完成
- 新增
- notes:
- T11.6(OptimizedRetriever 多 Collection 检索)、T11.7(kb_default 迁移)、T11.8(单元测试)留待集成阶段
- 进度文档已写入
ai-service/docs/progress/phase11_multi_kb_progress.md
Session #8 (2026-02-27)
- completed:
- T12.1-T12.5 意图识别与规则引擎核心功能
- 实现 IntentRule 实体(支持关键词、正则、优先级、四种响应类型)
- 实现 IntentRuleService(CRUD、命中统计、缓存)
- 实现 IntentRouter 匹配引擎(按优先级 DESC 遍历,先关键词再正则)
- 实现规则缓存(按 tenant_id 缓存,TTL=60s,CRUD 主动失效)
- 实现意图规则管理 API(POST/GET/PUT/DELETE)
- changes:
- 新增
app/models/entities.pyIntentRule, 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.6(Orchestrator 集成)和 T12.7(单元测试)留待集成阶段
Session #7 (2026-02-27)
- completed:
- T10.1-T10.8 Prompt 模板化核心功能
- 实现 PromptTemplate 和 PromptTemplateVersion 实体
- 实现 PromptTemplateService(CRUD、版本管理、发布/回滚、缓存)
- 实现 VariableResolver 变量替换引擎
- 实现 Prompt 模板管理 API(CRUD + 发布/回滚)
- changes:
- 新增
app/models/entities.pyPromptTemplate, 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.pyTenant 实体 - 更新
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
- 读取本进度文档,定位当前 Phase 与 Next Action。
- 打开并阅读 Spec References 指向的模块规范。
- 直接执行 Next Action;遇到缺口先更新 spec 再编码。