ai-robot-core/spec/ai-service/tasks.md

4.4 KiB
Raw Blame History

feature_id title status version last_updated
AISVC Python AI 中台ai-service任务清单 pending 0.1.0 2026-02-24

Python AI 中台任务清单AISVC

1. 任务拆分原则

  • 原子性:每个任务仅解决一个具体技术点或功能逻辑。
  • 可验证性:任务完成后必须可通过单元测试、接口冒烟或契约校验。
  • 弱模型可执行:任务描述清晰,不依赖 AI 猜测业务逻辑。

2. 任务执行计划

Phase 1: 基础设施FastAPI 框架与多租户基础)

  • T1.1 初始化 FastAPI 项目骨架,配置基础环境与日志(包含 X-Tenant-Id 记录) [AC-AISVC-01]
  • T1.2 实现 X-Tenant-Id Header 拦截器,校验必填性并注入 Request State [AC-AISVC-10, AC-AISVC-12]
  • T1.3 定义基础响应模型 ErrorResponse 与异常处理器Exception Handler [AC-AISVC-03, AC-AISVC-04]
  • T1.4 初始化 PostgreSQL 数据库客户端SQLModel/SQLAlchemy支持租户隔离查询逻辑 [AC-AISVC-11]
  • T1.5 初始化 Qdrant 客户端,封装按租户动态选择 Collection 的工具函数 [AC-AISVC-10]
  • T1.6 实现 /ai/health 健康检查接口 [AC-AISVC-20]

Phase 2: 存储与检索实现Memory & Retrieval

  • T2.1 实现 Memory 层:定义 chat_sessionschat_messages SQLModel 实体 [AC-AISVC-13]
  • T2.2 实现 Memory 层:完成基于 (tenant_id, session_id) 的历史消息加载与追加 API [AC-AISVC-13]
  • T2.3 实现 Retrieval 层:定义 BaseRetriever 抽象基类(插件点预留) [AC-AISVC-16]
  • T2.4 实现 VectorRetriever:集成 qdrant-client 完成向量检索,支持 scoreThreshold 过滤 [AC-AISVC-16, AC-AISVC-17]
  • T2.5 编写 Memory 与 Retrieval 层的独立单元测试Mock 数据库与向量库) [AC-AISVC-10, AC-AISVC-11]

Phase 3: 核心编排Orchestrator & LLM Adapter

  • T3.1 实现 LLM Adapter封装 langchain-openai 或官方 SDK支持 generatestream_generate [AC-AISVC-02, AC-AISVC-06]
  • T3.2 实现 Orchestrator实现上下文合并逻辑H_local + H_ext 的去重与截断策略) [AC-AISVC-14, AC-AISVC-15]
  • T3.3 实现 Orchestrator实现 RAG 检索不足时的置信度下调与 shouldTransfer 逻辑 [AC-AISVC-17, AC-AISVC-18, AC-AISVC-19]
  • T3.4 实现 Orchestrator整合 Memory、Retrieval 与 LLM 完成 non-streaming 生成闭环 [AC-AISVC-01, AC-AISVC-02]
  • T3.5 验证 non-streaming 响应字段完全符合 openapi.provider.yaml 契约 [AC-AISVC-02]

Phase 4: 流式响应SSE 实现与状态机)

  • T4.1 在 API 层实现基于 Accept 头的响应模式自动切换逻辑 [AC-AISVC-06]
  • T4.2 实现 SSE 事件生成器:根据 Orchestrator 的增量输出包装 message 事件 [AC-AISVC-07]
  • T4.3 实现 SSE 状态机:确保 finalerror 事件后连接正确关闭,且顺序不乱 [AC-AISVC-08, AC-AISVC-09]
  • T4.4 实现流式输出过程中的异常捕获,并转化为 event: error 输出 [AC-AISVC-09]

Phase 5: 集成与冒烟测试Quality Assurance

  • T5.1 编写集成测试:模拟多租户并发请求,验证数据存储与检索的严格物理/逻辑隔离 [AC-AISVC-10, AC-AISVC-11]
  • T5.2 编写 RAG 冒烟测试:模拟“检索命中”与“检索未命中”两种场景,验证 confidence 变化与回复兜底 [AC-AISVC-17, AC-AISVC-18]
  • T5.3 契约测试:使用外部工具(如 Schemathesis 或 Newman验证 provider 契约一致性L2 级自检) [AC-AISVC-01, AC-AISVC-02]

3. 待澄清Open Questions

已确认:以下事项均已由产品/架构反馈确认,可直接作为实现基准。

  1. Collection 初始化:采用提前预置模式,不通过业务请求动态创建。
  2. 超时策略Python 内部设置 20s 硬超时,防止资源泄露与请求堆积。
  3. SSE 心跳:必须实现 : ping 机制Keep-alive防止网关/中间件断开连接。
  4. 置信度MVP 优先基于 RAG 检索分数Score计算 confidence
  5. Token 计数:统一使用 tiktoken 库进行精确 Token 计数(用于 history 截断与证据预算)。

4. 任务状态说明

  • 待处理 (Pending)
  • 🔄 进行中 (In Progress)
  • 已完成 (Completed)
  • 已取消 (Cancelled)