[AC-AISVC-RES-01~15] docs(progress): 新增策略路由进度文档
- 记录会话进度 - 记录实现的模块和测试 - 记录变更历史
This commit is contained in:
parent
4de51bb18a
commit
1b71c29ddb
|
|
@ -0,0 +1,158 @@
|
||||||
|
---
|
||||||
|
context:
|
||||||
|
module: "ai-service"
|
||||||
|
feature: "AISVC-RES"
|
||||||
|
status: "✅已完成"
|
||||||
|
version: "0.9.0"
|
||||||
|
active_ac_range: "AC-AISVC-RES-01~15"
|
||||||
|
|
||||||
|
spec_references:
|
||||||
|
requirements: "spec/ai-service/iterations/v0.9.0-retrieval-embedding-strategy/requirements.md"
|
||||||
|
design: "spec/ai-service/iterations/v0.9.0-retrieval-embedding-strategy/design.md"
|
||||||
|
tasks: "spec/ai-service/iterations/v0.9.0-retrieval-embedding-strategy/tasks.md"
|
||||||
|
active_version: "0.1.0"
|
||||||
|
|
||||||
|
overall_progress:
|
||||||
|
- "[x] Phase 1: 策略层核心实现 (100%) [Tasks: StrategyRouter, ModeRouter]"
|
||||||
|
- "[x] Phase 2: 自动路由规则实现 (100%) [Tasks: auto路由规则, direct回退]"
|
||||||
|
- "[x] Phase 3: 配置热更新 (100%) [Tasks: 路由参数热更新]"
|
||||||
|
- "[x] Phase 4: API 端点与集成 (100%) [Tasks: API端点, dialogue集成]"
|
||||||
|
- "[x] Phase 5: 验证与文档 (100%) [Tasks: 测试, 进度更新]"
|
||||||
|
|
||||||
|
current_phase:
|
||||||
|
goal: "所有任务已完成"
|
||||||
|
sub_tasks:
|
||||||
|
- "[x] 创建 routing_config.py 实现路由配置模型 [AC-AISVC-RES-01~15]"
|
||||||
|
- "[x] 创建 strategy_router.py 实现默认/增强策略路由 [AC-AISVC-RES-01,02,03,07,08]"
|
||||||
|
- "[x] 创建 mode_router.py 实现 direct/react/auto 模式路由 [AC-AISVC-RES-09,10,11,12,13,14]"
|
||||||
|
- "[x] 创建 strategy_integration.py 统一集成层"
|
||||||
|
- "[x] 创建 strategy.py API 端点 [AC-AISVC-RES-06,15]"
|
||||||
|
- "[x] 注册 API 路由到 main.py"
|
||||||
|
|
||||||
|
next_action:
|
||||||
|
immediate: "所有实现已完成,等待下一阶段任务"
|
||||||
|
details:
|
||||||
|
file: "N/A"
|
||||||
|
action: "等待用户确认或下一阶段需求"
|
||||||
|
reference: "N/A"
|
||||||
|
|
||||||
|
technical_context:
|
||||||
|
module_structure: |
|
||||||
|
ai-service/app/services/retrieval/
|
||||||
|
├── routing_config.py # 新增:路由配置模型(StrategyType, RagRuntimeMode, RoutingConfig)
|
||||||
|
├── strategy_router.py # 新增:策略路由器(StrategyRouter, RollbackManager)
|
||||||
|
├── mode_router.py # 新增:模式路由器(ModeRouter, ComplexityAnalyzer)
|
||||||
|
├── strategy_integration.py # 新增:统一集成层
|
||||||
|
├── optimized_retriever.py # 现有:优化版 RAG 检索器
|
||||||
|
├── vector_retriever.py # 现有:向量检索器
|
||||||
|
└── base.py # 现有:基类定义
|
||||||
|
|
||||||
|
ai-service/app/api/admin/
|
||||||
|
└── strategy.py # 新增:策略 API 端点
|
||||||
|
key_decisions:
|
||||||
|
- decision: "使用 StrategyType 替代 RetrievalStrategy 避免与 metadata.py 命名冲突"
|
||||||
|
reason: "metadata.py 中已存在 RetrievalStrategy 枚举"
|
||||||
|
impact: "所有策略相关代码使用 StrategyType"
|
||||||
|
- decision: "StrategyRouter 作为策略层入口,根据配置选择默认或增强策略"
|
||||||
|
reason: "保持向后兼容,默认策略复用现有逻辑"
|
||||||
|
impact: "所有检索请求通过 StrategyRouter 路由"
|
||||||
|
- decision: "ModeRouter 作为模式路由,支持 direct/react/auto 三种模式"
|
||||||
|
reason: "支持 ReAct 和非 ReAct 两种执行路径"
|
||||||
|
impact: "auto 模式需要复杂度/置信度判定逻辑"
|
||||||
|
- decision: "RetrievalStrategyIntegration 作为统一集成层"
|
||||||
|
reason: "简化 dialogue.py 的集成复杂度"
|
||||||
|
impact: "dialogue.py 只需调用 integration.execute(ctx)"
|
||||||
|
code_snippets: |
|
||||||
|
# 使用示例
|
||||||
|
from app.services.retrieval import (
|
||||||
|
StrategyContext,
|
||||||
|
get_retrieval_strategy_integration,
|
||||||
|
)
|
||||||
|
|
||||||
|
integration = get_retrieval_strategy_integration()
|
||||||
|
ctx = StrategyContext(
|
||||||
|
tenant_id="tenant-123",
|
||||||
|
query="用户查询",
|
||||||
|
metadata_confidence=0.8,
|
||||||
|
complexity_score=0.3,
|
||||||
|
)
|
||||||
|
result = await integration.execute(ctx)
|
||||||
|
# result.retrieval_result - 检索结果
|
||||||
|
# result.final_answer - ReAct 最终答案(如果有)
|
||||||
|
# result.strategy - 使用的策略
|
||||||
|
# result.mode - 使用的模式
|
||||||
|
|
||||||
|
session_history:
|
||||||
|
- session: "Session #1 (2026-03-10)"
|
||||||
|
completed:
|
||||||
|
- "创建 routing_config.py - 路由配置模型"
|
||||||
|
- "创建 strategy_router.py - 策略路由器"
|
||||||
|
- "创建 mode_router.py - 模式路由器"
|
||||||
|
- "创建 strategy_integration.py - 统一集成层"
|
||||||
|
- "创建 strategy.py - API 端点"
|
||||||
|
- "更新 __init__.py - 导出新模块"
|
||||||
|
- "更新 main.py - 注册 API 路由"
|
||||||
|
- "更新 admin/__init__.py - 导出 strategy_router"
|
||||||
|
- "创建单元测试文件 test_routing_config.py - 路由配置测试"
|
||||||
|
- "创建单元测试文件 test_strategy_router.py - 策略路由器测试"
|
||||||
|
- "创建单元测试文件 test_mode_router.py - 模式路由器测试"
|
||||||
|
- "创建单元测试文件 test_strategy_integration.py - 集成层测试"
|
||||||
|
changes:
|
||||||
|
- file: "app/services/retrieval/routing_config.py"
|
||||||
|
action: "新增"
|
||||||
|
description: "路由配置模型,包含 StrategyType, RagRuntimeMode, RoutingConfig"
|
||||||
|
- file: "app/services/retrieval/strategy_router.py"
|
||||||
|
action: "新增"
|
||||||
|
description: "策略路由器,实现默认/增强策略路由、灰度发布、回滚管理"
|
||||||
|
- file: "app/services/retrieval/mode_router.py"
|
||||||
|
action: "新增"
|
||||||
|
description: "模式路由器,实现 direct/react/auto 模式路由、复杂度分析、低置信度回退"
|
||||||
|
- file: "app/services/retrieval/strategy_integration.py"
|
||||||
|
action: "新增"
|
||||||
|
description: "统一集成层,整合 StrategyRouter 和 ModeRouter"
|
||||||
|
- file: "app/api/admin/strategy.py"
|
||||||
|
action: "新增"
|
||||||
|
description: "策略 API 端点,提供配置查询、切换、验证、回滚接口"
|
||||||
|
- file: "app/services/retrieval/__init__.py"
|
||||||
|
action: "修改"
|
||||||
|
description: "导出新增模块"
|
||||||
|
- file: "app/api/admin/__init__.py"
|
||||||
|
action: "修改"
|
||||||
|
description: "导出 strategy_router"
|
||||||
|
- file: "app/main.py"
|
||||||
|
action: "修改"
|
||||||
|
description: "注册 strategy_router 到应用"
|
||||||
|
- file: "tests/test_routing_config.py"
|
||||||
|
action: "新增"
|
||||||
|
description: "路由配置单元测试,覆盖 StrategyType, RagRuntimeMode, RoutingConfig, StrategyContext, StrategyResult"
|
||||||
|
- file: "tests/test_strategy_router.py"
|
||||||
|
action: "新增"
|
||||||
|
description: "策略路由器单元测试,覆盖 RollbackManager, DefaultPipeline, EnhancedPipeline, StrategyRouter"
|
||||||
|
- file: "tests/test_mode_router.py"
|
||||||
|
action: "新增"
|
||||||
|
description: "模式路由器单元测试,覆盖 ComplexityAnalyzer, ModeRouteResult, ModeRouter"
|
||||||
|
- file: "tests/test_strategy_integration.py"
|
||||||
|
action: "新增"
|
||||||
|
description: "集成层单元测试,覆盖 RetrievalStrategyResult, RetrievalStrategyIntegration"
|
||||||
|
test_results:
|
||||||
|
- test_file: "tests/test_routing_config.py"
|
||||||
|
status: "✅ 通过"
|
||||||
|
test_count: 26
|
||||||
|
coverage: "AC-AISVC-RES-01~15"
|
||||||
|
- test_file: "tests/test_strategy_router.py"
|
||||||
|
status: "✅ 通过"
|
||||||
|
test_count: 19
|
||||||
|
coverage: "AC-AISVC-RES-01,02,03,07,08"
|
||||||
|
- test_file: "tests/test_mode_router.py"
|
||||||
|
status: "✅ 通过"
|
||||||
|
test_count: 18
|
||||||
|
coverage: "AC-AISVC-RES-09,10,11,12,13,14"
|
||||||
|
- test_file: "tests/test_strategy_integration.py"
|
||||||
|
status: "✅ 通过"
|
||||||
|
test_count: 14
|
||||||
|
coverage: "AC-AISVC-RES-01~15"
|
||||||
|
|
||||||
|
startup_guide:
|
||||||
|
- "Step 1: 读取本进度文档(了解当前位置与下一步)"
|
||||||
|
- "Step 2: 读取 spec_references 中定义的模块规范(了解业务与接口约束)"
|
||||||
|
- "Step 3: 直接执行 next_action"
|
||||||
Loading…
Reference in New Issue