10 KiB
10 KiB
智能客服系统开发计划文档
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/chatPOST 接口 (SSE流式响应)/api/sessionsGET/POST 接口- 会话数据存储 (SQLite)
- 基础对话功能
验证标准:
- 能创建和管理聊天会话
- 支持SSE流式消息推送
- 能调用Ollama模型生成回复
- 消息历史正确存储和检索
技术风险:
- SSE 长连接稳定性
- Ollama 模型调用延迟和错误处理
🧠 阶段3:AI智能功能 (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. 开发排期
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条)
[
{
"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 配置
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 服务启动顺序
- 基础服务: Redis, ChromaDB
- 监控服务: Coze-Loop
- 应用服务: 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