212 lines
3.6 KiB
Markdown
212 lines
3.6 KiB
Markdown
# 实施规划
|
||
|
||
## Phase 1:核心功能(第1周)
|
||
|
||
### 实现内容
|
||
```
|
||
✅ diagnosis_record 表
|
||
✅ case_library 表
|
||
✅ api_document 表
|
||
✅ Redis 会话管理
|
||
✅ 单次诊断流程
|
||
```
|
||
|
||
### 不实现
|
||
```
|
||
❌ conversation_history 表(先不加)
|
||
❌ 会话同步(先不做)
|
||
❌ 追问功能(先不支持)
|
||
```
|
||
|
||
### 验收标准
|
||
```
|
||
- 用户输入订单号 → 返回诊断报告
|
||
- 诊断记录持久化到 MySQL
|
||
- 可以查询历史诊断
|
||
- 可以统计诊断成功率
|
||
- 文档可以导入、查询、删除
|
||
- 案例可以推荐
|
||
```
|
||
|
||
---
|
||
|
||
## Phase 2:追问功能(第2周)
|
||
|
||
### 实现内容
|
||
```
|
||
✅ 支持多轮对话(基于 Redis 上下文)
|
||
✅ conversation_history 表(可选)
|
||
✅ 会话上下文管理
|
||
```
|
||
|
||
### 验收标准
|
||
```
|
||
- 用户可以追问细节
|
||
- Agent 能基于上下文回答
|
||
- 追问不创建新的诊断记录
|
||
```
|
||
|
||
---
|
||
|
||
## Phase 3:优化分析(第3周)
|
||
|
||
### 实现内容
|
||
```
|
||
✅ 会话同步(Redis → MySQL)
|
||
✅ BadCase 分析
|
||
✅ 追问频率统计
|
||
✅ 案例质量评分
|
||
```
|
||
|
||
### 验收标准
|
||
```
|
||
- 重要会话自动同步到 MySQL
|
||
- 可以分析用户追问模式
|
||
- 可以优化 Prompt 和功能
|
||
```
|
||
|
||
---
|
||
|
||
## 技术债务清单
|
||
|
||
### 待优化项(Phase 4+)
|
||
|
||
```
|
||
1. api_document 增强
|
||
- 软删除(archived_at)
|
||
- 启用开关(enabled)
|
||
- 批次管理(batch_id)
|
||
- 状态细化(PARSING/SPLITTING/INDEXING...)
|
||
|
||
2. case_library 增强
|
||
- 复杂评分(useful_count + score)
|
||
- 标签分类(tags)
|
||
- 版本管理
|
||
- 案例合并
|
||
|
||
3. 性能优化
|
||
- Redis 缓存有效文档列表
|
||
- 分页查询优化
|
||
- 索引优化
|
||
|
||
4. 监控告警
|
||
- 诊断成功率监控
|
||
- 诊断耗时监控
|
||
- 文档索引状态监控
|
||
```
|
||
|
||
---
|
||
|
||
## 数据迁移计划
|
||
|
||
### 如果已有旧数据
|
||
|
||
```
|
||
1. diagnosis_record 迁移
|
||
- 旧字段 → 新字段映射
|
||
- order_id → business_id
|
||
- province → fault_source
|
||
- api_url → fault_target
|
||
|
||
2. 执行迁移脚本
|
||
UPDATE diagnosis_record SET
|
||
business_id = order_id,
|
||
fault_category = 'EXTERNAL_API',
|
||
fault_source = province,
|
||
fault_target = api_url
|
||
WHERE fault_category IS NULL;
|
||
|
||
3. 验证数据一致性
|
||
```
|
||
|
||
---
|
||
|
||
## 部署检查清单
|
||
|
||
### Phase 1 部署前
|
||
|
||
```
|
||
□ MySQL 数据库已创建
|
||
□ 三张核心表已创建(diagnosis_record/case_library/api_document)
|
||
□ Redis 已配置并可连接
|
||
□ Milvus Collection 已创建
|
||
□ 向量化服务(DashScope)配置正确
|
||
□ 文件上传目录已创建并有写权限
|
||
□ 应用配置文件检查完成
|
||
```
|
||
|
||
### 配置文件示例
|
||
|
||
```yaml
|
||
# application.yml
|
||
spring:
|
||
datasource:
|
||
url: jdbc:mysql://localhost:3306/diagnosis_system
|
||
username: root
|
||
password: xxx
|
||
|
||
redis:
|
||
host: localhost
|
||
port: 6379
|
||
database: 0
|
||
|
||
milvus:
|
||
host: localhost
|
||
port: 19530
|
||
collection-name: api_doc_collection
|
||
|
||
dashscope:
|
||
api-key: sk-xxx
|
||
|
||
file:
|
||
upload:
|
||
path: /data/uploads
|
||
```
|
||
|
||
---
|
||
|
||
## 回滚方案
|
||
|
||
### 数据库回滚
|
||
|
||
```sql
|
||
-- 保留旧表备份
|
||
CREATE TABLE diagnosis_record_backup_20240622 AS SELECT * FROM diagnosis_record;
|
||
|
||
-- 回滚时恢复
|
||
DROP TABLE diagnosis_record;
|
||
RENAME TABLE diagnosis_record_backup_20240622 TO diagnosis_record;
|
||
```
|
||
|
||
### Milvus 回滚
|
||
|
||
```
|
||
- Milvus 数据无法回滚
|
||
- 建议:重要操作前先备份 Collection
|
||
- 或者:保留原始文件,可重新索引
|
||
```
|
||
|
||
---
|
||
|
||
## 监控指标
|
||
|
||
### 核心指标
|
||
|
||
```
|
||
1. 诊断成功率
|
||
- 目标:> 85%
|
||
- 告警:< 80%
|
||
|
||
2. 诊断耗时
|
||
- 目标:P95 < 10s
|
||
- 告警:P95 > 15s
|
||
|
||
3. 文档索引成功率
|
||
- 目标:> 95%
|
||
- 告警:< 90%
|
||
|
||
4. 案例推荐准确率
|
||
- 目标:> 70%
|
||
- 评估:用户反馈
|
||
```
|