ai-courseware/eino-project/.trae/documents/智能客服系统开发计划文档.md

440 lines
10 KiB
Markdown
Raw Permalink 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.

# 智能客服系统开发计划文档
## 1. 项目概述
### 1.1 项目目标
基于 Eino Framework + Kratos 架构开发一个具备智能意图识别、RAG知识库查询、订单诊断和实时监控的智能客服系统后端API服务。
### 1.2 技术栈
- **后端框架**: Eino Framework + Kratos
- **AI模型**: Ollama (qwen3:8b + deepseek-v3.1)
- **数据存储**: SQLite + Redis + ChromaDB
- **监控**: Coze-Loop
- **部署**: Docker Compose
## 2. 敏捷开发阶段规划
### 阶段划分原则
- 每个阶段都有独立的交付物和验证标准
- 按技术依赖和业务价值排序
- 支持快速迭代和反馈
- 风险前置,核心功能优先
## 3. 开发阶段详细规划
### 🚀 阶段1基础框架集成 (2-3天)
**目标**: 建立项目基础架构,集成核心框架
**开发内容**:
- Eino Framework 集成到 Kratos 项目
- 基础配置文件和环境设置
- Docker Compose 服务编排
- 基础 API 路由和中间件
- 健康检查接口
**交付物**:
- 可启动的 Kratos + Eino 服务
- Docker Compose 配置文件
- 基础配置文件模板
- `/api/system/status` 健康检查接口
**验证标准**:
- [ ] 服务能正常启动在8302端口
- [ ] Docker Compose 能拉起所有依赖服务
- [ ] 健康检查接口返回正常状态
- [ ] 基础日志和监控能正常工作
**技术风险**:
- Eino Framework 与 Kratos 的集成兼容性
- Docker 服务间网络通信配置
---
### 💬 阶段2核心聊天功能 (3-4天)
**目标**: 实现基础聊天对话和SSE流式响应
**开发内容**:
- 聊天会话管理 (SQLite)
- 基础对话API接口
- SSE (Server-Sent Events) 流式响应
- Ollama 模型调用集成
- 消息存储和会话管理
**交付物**:
- `/api/chat` POST 接口 (SSE流式响应)
- `/api/sessions` GET/POST 接口
- 会话数据存储 (SQLite)
- 基础对话功能
**验证标准**:
- [ ] 能创建和管理聊天会话
- [ ] 支持SSE流式消息推送
- [ ] 能调用Ollama模型生成回复
- [ ] 消息历史正确存储和检索
**技术风险**:
- SSE 长连接稳定性
- Ollama 模型调用延迟和错误处理
---
### 🧠 阶段3AI智能功能 (4-5天)
**目标**: 实现智能意图识别和多模型调用
**开发内容**:
- 意图识别服务 (qwen3:8b)
- 多模型调用管理
- 对话上下文管理
- AI成本统计和监控
- 智能路由逻辑
**交付物**:
- 意图识别服务
- 多模型调用框架
- AI成本统计功能
- 智能对话路由
**验证标准**:
- [ ] 能准确识别用户意图 (订单查询/知识库查询/闲聊)
- [ ] 根据意图选择合适的处理流程
- [ ] AI调用成本能正确统计
- [ ] 支持上下文相关的多轮对话
**技术风险**:
- 意图识别准确率
- 多模型调用的性能优化
---
### 📚 阶段4知识库系统 (4-5天)
**目标**: 实现RAG知识库查询和文档管理
**开发内容**:
- 文档上传和解析 (Word/TXT)
- 文档分块和向量化 (ChromaDB)
- RAG 检索和生成
- 知识库管理接口
- 相似度搜索优化
**交付物**:
- `/api/knowledge/upload` 文档上传接口
- `/api/knowledge/list` 知识库列表接口
- `/api/knowledge/{id}` 文档删除接口
- RAG 查询集成到聊天功能
**验证标准**:
- [ ] 支持Word和TXT文档上传
- [ ] 文档能正确分块和向量化存储
- [ ] RAG检索能返回相关知识
- [ ] 知识库查询集成到对话流程
**技术风险**:
- 文档解析的准确性
- 向量检索的相关性和性能
---
### 🔍 阶段5订单诊断与监控集成 (3-4天)
**目标**: 实现订单诊断功能和完整监控
**开发内容**:
- 订单查询API (Mock数据)
- 订单问题智能诊断
- Coze-Loop 监控集成
- 性能指标收集
- 完整的API文档
**交付物**:
- `/api/order/query` 订单查询接口
- 订单智能诊断功能
- Coze-Loop 监控面板
- `/api/analytics/*` 统计接口
- 完整的API接口文档
**验证标准**:
- [ ] 订单查询能返回Mock数据
- [ ] 能基于订单信息进行智能诊断
- [ ] Coze-Loop 能收集和展示监控数据
- [ ] 所有API接口文档完整
**技术风险**:
- Coze-Loop 集成复杂度
- 监控数据的准确性和实时性
## 4. 开发排期
```mermaid
gantt
title 智能客服系统开发排期
dateFormat YYYY-MM-DD
section 阶段1
基础框架集成 :a1, 2025-01-16, 3d
section 阶段2
核心聊天功能 :a2, after a1, 4d
section 阶段3
AI智能功能 :a3, after a2, 5d
section 阶段4
知识库系统 :a4, after a3, 5d
section 阶段5
订单诊断监控 :a5, after a4, 4d
```
**总开发周期**: 约 3-4 周 (21个工作日)
**关键里程碑**:
- 第1周末: 基础框架 + 聊天功能完成
- 第2周末: AI智能功能完成
- 第3周末: 知识库系统完成
- 第4周末: 完整系统交付
## 5. Mock数据设计
### 5.1 订单测试数据 (3条)
```json
[
{
"order_id": "ORD20250115001",
"status": "已发货",
"need_ai": true,
"details": {
"product": "iPhone 15 Pro Max 256GB 深空黑色",
"amount": 9999.00,
"create_time": "2025-01-10T10:30:00Z",
"shipping_address": "北京市朝阳区xxx街道xxx号",
"tracking_number": "SF1234567890",
"estimated_delivery": "2025-01-18"
},
"issues": ["物流延迟", "用户催单"]
},
{
"order_id": "ORD20250114002",
"status": "退款处理中",
"need_ai": true,
"details": {
"product": "MacBook Air M2 13英寸 午夜色",
"amount": 8999.00,
"create_time": "2025-01-08T14:20:00Z",
"refund_reason": "商品质量问题",
"refund_amount": 8999.00,
"refund_status": "审核中"
},
"issues": ["质量投诉", "退款咨询"]
},
{
"order_id": "ORD20250113003",
"status": "已完成",
"need_ai": false,
"details": {
"product": "AirPods Pro 第二代",
"amount": 1899.00,
"create_time": "2025-01-05T09:15:00Z",
"delivery_time": "2025-01-12T16:30:00Z",
"rating": 5,
"review": "音质很棒,降噪效果出色"
},
"issues": []
}
]
```
### 5.2 知识库示例文档 (3个)
**文档1: 产品使用手册.docx**
```
内容预览: "iPhone 15 Pro Max 使用指南1. 开机设置 2. Face ID配置 3. 相机功能详解 4. 电池优化建议 5. 常见问题解答..."
分块策略: 按功能模块分块每块300-500字
```
**文档2: 售后服务政策.txt**
```
内容预览: "退换货政策7天无理由退货15天质量问题换货。保修政策1年免费保修人为损坏不在保修范围内..."
分块策略: 按政策类型分块每块200-400字
```
**文档3: 常见问题解答.txt**
```
内容预览: "Q: 如何重置密码A: 进入设置-账户安全-重置密码。Q: 物流查询方式A: 订单详情页点击物流跟踪..."
分块策略: 按Q&A对分块每个问答为一块
```
### 5.3 用户会话场景
**场景1: 订单咨询**
```
用户: "我的订单ORD20250115001什么时候能到"
意图: 订单查询
处理: 调用订单API + AI诊断
```
**场景2: 知识库查询**
```
用户: "iPhone 15 Pro Max 怎么设置Face ID"
意图: 知识库查询
处理: RAG检索 + 知识生成
```
**场景3: 闲聊对话**
```
用户: "你好,今天天气怎么样?"
意图: 闲聊
处理: 通用对话模型
```
## 6. Docker服务管理
### 6.1 Docker Compose 配置
```yaml
version: '3.8'
services:
# 智能客服后端服务
eino-customer-service:
build: .
ports:
- "8302:8302"
depends_on:
- redis
- chromadb
- coze-loop
environment:
- REDIS_URL=redis://redis:6379
- CHROMADB_URL=http://chromadb:8000
- OLLAMA_URL=http://host.docker.internal:11434
- COZE_LOOP_URL=http://coze-loop:8080
volumes:
- ./data:/app/data
- ./configs:/app/configs
networks:
- eino-network
# Redis 缓存服务
redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
- redis_data:/data
networks:
- eino-network
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 3
# ChromaDB 向量数据库
chromadb:
image: chromadb/chroma:latest
ports:
- "8000:8000"
volumes:
- chromadb_data:/chroma/chroma
environment:
- CHROMA_SERVER_HOST=0.0.0.0
- CHROMA_SERVER_HTTP_PORT=8000
networks:
- eino-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/api/v1/heartbeat"]
interval: 30s
timeout: 10s
retries: 3
# Coze-Loop 监控服务
coze-loop:
image: cozedev/coze-loop:latest
ports:
- "8080:8080"
environment:
- COZE_LOOP_PORT=8080
- COZE_LOOP_LOG_LEVEL=info
volumes:
- coze_loop_data:/app/data
networks:
- eino-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 3
volumes:
redis_data:
chromadb_data:
coze_loop_data:
networks:
eino-network:
driver: bridge
```
### 6.2 服务启动顺序
1. **基础服务**: Redis, ChromaDB
2. **监控服务**: Coze-Loop
3. **应用服务**: eino-customer-service
### 6.3 健康检查策略
- **Redis**: `redis-cli ping`
- **ChromaDB**: HTTP heartbeat 接口
- **Coze-Loop**: HTTP health 接口
- **主服务**: `/api/system/status` 接口
## 7. 技术风险评估
### 7.1 高风险项
- **Eino Framework 集成**: 新框架,文档可能不完善
- **SSE 长连接**: 网络稳定性和资源管理
- **AI模型调用**: 延迟和错误处理
### 7.2 中风险项
- **ChromaDB 性能**: 向量检索性能优化
- **Docker 服务编排**: 服务间依赖和网络配置
### 7.3 低风险项
- **SQLite 数据存储**: 成熟技术,风险较低
- **Redis 缓存**: 标准配置,风险可控
## 8. 质量保证
### 8.1 测试策略
- **单元测试**: 核心业务逻辑覆盖率 > 80%
- **集成测试**: API接口功能验证
- **性能测试**: 并发和响应时间测试
### 8.2 代码质量
- **代码规范**: Go 标准代码规范
- **文档完整**: API文档和部署文档
- **错误处理**: 完善的错误处理和日志记录
## 9. 交付清单
### 9.1 代码交付
- [ ] 完整的 Go 项目代码
- [ ] Docker Compose 配置文件
- [ ] 配置文件模板和示例
### 9.2 文档交付
- [ ] API 接口文档
- [ ] 部署运维文档
- [ ] 开发者使用指南
### 9.3 测试交付
- [ ] 单元测试用例
- [ ] 集成测试脚本
- [ ] 性能测试报告
---
**项目负责人**: AI Assistant
**文档版本**: v1.0
**创建日期**: 2025-01-16
**更新日期**: 2025-01-16