基于微服务架构的AI智能客服系统:从传统客服到智能问答的完整解决方案

基于微服务架构的AI智能客服系统:从传统客服到智能问答的完整解决方案 项目简介AI智能客服系统是一个基于微服务架构的企业级智能客服平台集成了大语言模型LLM、知识库检索RAG、工单管理等核心功能为企业提供从传统人工客服到AI智能问答的完整解决方案。项目采用前后端分离架构后端基于Spring Boot 3.x Spring Cloud Gateway前端使用Vue 3 Element Plus支持多租户、多会话隔离具备高可扩展性和高可用性。核心特性 AI智能对话基于大语言模型的智能问答支持上下文会话管理意图识别与智能路由自动判断用户需求Function Call工具调用支持扩展AI能力多轮对话记忆管理Redis持久化存储 知识库检索RAG传统FAQ管理支持FAQ的增删改查、分类管理RAG检索增强生成多格式文档支持PDF、TXT、DOCX、MD智能文本切片可配置chunkSize和overlap参数向量化存储支持Chroma本地开发和Milvus生产环境两阶段检索向量召回 Rerank重排提升检索精度多用户会话隔离基于Redis的对话记忆管理防幻觉机制自定义Prompt模板确保回答准确性 工单系统智能工单创建与流转管理工单状态跟踪待处理、处理中、已完成、已关闭工单分配与优先级管理工单统计与报表 实时通信基于WebSocket的即时消息推送支持在线客服聊天消息广播与群发功能连接状态管理 客户管理完整的客户信息管理系统客户标签与分组客户画像与行为分析坐席账号管理技术架构系统架构图┌─────────────────────────────────────────────────────────────┐ │ 前端层 (Vue3) │ │ ai-cs-frontend │ └──────────────────────┬──────────────────────────────────────┘ │ HTTP/WebSocket ┌──────────────────────▼──────────────────────────────────────┐ │ 网关层 (Gateway) │ │ ai-cs-gateway :8080 │ │ 路由转发 | 负载均衡 | 鉴权 | 限流 │ └──┬──────────┬──────────┬──────────┬──────────┬─────────────┘ │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │基础服务│ │AI代理 │ │知识库 │ │工单服务│ │WebSocket│ │:9001 │ │:9002 │ │:9003 │ │:9004 │ │:9005 │ └────────┘ └────────┘ └────────┘ └────────┘ └────────┘ │ │ │ │ │ └──────────┴──────────┼──────────┴──────────┘ │ ┌──────────▼──────────┐ │ 公共模块 (Common) │ │ Feign API (API) │ └─────────────────────┘ │ ┌────────────────┼────────────────┐ ▼ ▼ ▼ ┌─────────┐ ┌──────────┐ ┌──────────┐ │ MySQL │ │ Redis │ │ Milvus │ │ 主数据库 │ │ 缓存 │ │向量数据库│ └─────────┘ └──────────┘ └──────────┘技术栈后端技术Java 17 Spring Boot 3.2.0Spring Cloud Gateway微服务网关MyBatis Plus 3.5.5ORM框架MySQL 8.0关系型数据库Redis 6.0缓存数据库Milvus 2.x / Chroma向量数据库LangChain4j 0.32.0Java版LLM应用框架Ollama本地大模型服务WebSocket实时通信前端技术Vue 3.x前端框架Vite 4.x构建工具Element PlusUI组件库AxiosHTTP客户端Vue Router 4.x路由管理AI/ML技术LLM集成通义千问、ChatGLM等RAG检索增强生成Embedding向量化nomic-embed-text重排模型BGE-Reranker模块介绍核心服务模块模块端口职责ai-cs-gateway8080API网关、路由转发、鉴权、限流ai-cs-base-service9001客户管理、坐席管理、会话管理ai-cs-ai-agent9002AI对话、意图识别、LLM调用ai-cs-knowledge9003知识库管理、RAG检索、向量存储ai-cs-workorder9004工单管理、工单流转ai-cs-websocket9005实时通信、消息推送ai-cs-job-定时任务、数据统计公共模块ai-cs-common通用工具类、常量、DTO、异常处理、统一返回结果封装ai-cs-apiFeign客户端接口定义、服务间通信DTO前端应用ai-cs-frontendVue3 Element Plus用户界面包含聊天、客户管理、知识库、工单管理等页面RAG系统详解RAG工作流程用户提问 ↓ 文本向量化Embedding ↓ 向量相似度检索Chroma/Milvus ↓ Rerank重排优化BGE-Reranker ↓ 检索相关文档片段 ↓ 构建Prompt包含检索到的上下文 ↓ LLM生成答案 ↓ 返回用户RAG核心配置rag:ollama:base-url:http://localhost:11434llm-model:qwen:7b# 对话模型embedding-model:nomic-embed-text# 向量模型rerank-model:bge-reranker:latest# 重排模型temperature:0.1chroma:base-url:http://localhost:8000collection-name:private_knowledge_basesplit:chunk-size:500# 文本切片大小chunk-overlap:80# 切片重叠字符数retrieve:top-k:5# 初次检索返回数量rerank-top-k:3# 重排后保留数量chat-memory:ttl:604800# 对话记忆过期时间7天RAG API接口POST /api/rag/upload/pdf- 上传PDF文档入库POST /api/rag/upload/file- 上传普通文件入库POST /api/rag/chat- 智能问答支持多轮对话POST /api/rag/memory/clear/user- 清空单用户记忆POST /api/rag/memory/clear/all- 清空全部记忆文档版本管理新增功能系统新增了文档版本管理功能支持文档的版本跟踪、回退和对比核心功能版本创建每次上传文档自动创建新版本记录版本查询查看文档的所有历史版本版本回退一键回退到任意历史版本版本对比基于MD5和文件大小对比版本差异内容去重通过MD5检测重复文档版本管理APIGET /api/document/version/list- 获取所有文档列表GET /api/document/version/versions/{documentId}- 获取文档的所有版本POST /api/document/version/rollback- 回退到指定版本DELETE /api/document/version/delete/{id}- 删除指定版本GET /api/document/version/compare- 比较两个版本快速开始环境要求JDK 17Maven 3.6MySQL 8.0Redis 6.0Node.js 16前端开发OllamaRAG功能Chroma/Milvus向量数据库启动步骤克隆项目gitclone https://gitee.com/huangrenhui/ai-cs-parent.gitcdai-cs-parent初始化数据库CREATEDATABASEai_cs_dbCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;mysql-u root-p ai_cs_dbdocs/database/init.sql启动RAG前置服务# 拉取Ollama模型ollama pull qwen:7b ollama pull nomic-embed-text ollama pull bge-reranker:latest# 启动Chromachroma run--path./chroma-db编译项目mvn cleaninstall-DskipTests启动后端服务# 按顺序启动各微服务cdai-cs-gatewaymvn spring-boot:runcdai-cs-base-servicemvn spring-boot:runcdai-cs-ai-agentmvn spring-boot:runcdai-cs-knowledgemvn spring-boot:runcdai-cs-workordermvn spring-boot:runcdai-cs-websocketmvn spring-boot:run启动前端服务cdai-cs-frontendnpminstallnpmrun dev应用场景1. 企业客服中心7x24小时智能问答减少人工客服压力知识库自动更新保持信息同步工单智能分配提高处理效率2. 技术支持系统技术文档智能检索问题自动诊断与解决方案推荐多轮对话引导问题解决3. 内部知识管理企业文档集中管理智能搜索与问答版本控制与历史追溯4. 在线教育平台课程资料智能检索学习问题智能解答个性化学习路径推荐项目亮点1. 微服务架构服务独立部署易于扩展故障隔离提高系统可用性技术栈灵活便于技术升级2. RAG技术落地结合向量检索与大语言模型两阶段检索优化提升准确率支持多种文档格式适用性广3. 文档版本管理完整的版本追溯机制一键回退降低运维成本MD5去重避免重复存储4. 多用户会话隔离基于Redis的对话记忆管理支持多用户并发访问会话过期自动清理5. 高可扩展性支持水平扩展无状态服务设计可集成消息队列解耦部署架构开发环境本地运行各微服务使用localhost访问生产环境推荐┌─────────────┐ │ Nginx LB │ └──────┬──────┘ │ ┌────────────┼────────────┐ │ │ │ ┌─────▼─────┐ ┌───▼────┐ ┌────▼─────┐ │ Gateway 1 │ │ GW 2 │ │ GW 3 │ └─────┬─────┘ └───┬────┘ └────┬─────┘ │ │ │ └────────────┼────────────┘ │ ┌────────────┼────────────┐ │ │ │ │ 各微服务集群 Redis集群 MySQL主从 Milvus/Chroma集群安全设计网关鉴权所有请求经过网关进行身份验证密码加密坐席密码使用BCrypt加密存储HTTPS生产环境使用HTTPS协议SQL注入防护使用MyBatis Plus参数化查询XSS防护前端输入过滤和转义CSRF防护Token验证机制性能优化Redis缓存热点数据缓存减少数据库查询数据库索引合理设计索引优化查询性能连接池使用HikariCP数据库连接池异步处理耗时操作异步执行分页查询大数据量使用分页向量检索优化Milvus索引加速相似度搜索监控与日志Spring Boot Actuator健康检查和指标监控日志收集统一日志格式支持ELK分析链路追踪集成Sleuth/Zipkin可选告警机制关键指标异常告警项目地址gitee: https://gitee.com/huangrenhui/ai-cs-parent.git维护者: huangrenhui许可证: MIT License总结AI智能客服系统是一个功能完善、架构合理的企业级智能客服解决方案。通过集成RAG技术、文档版本管理等先进功能为企业提供了从传统客服到智能问答的完整升级路径。项目采用微服务架构具备高可扩展性和高可用性适合各种规模的客服场景。无论是企业客服中心、技术支持系统还是内部知识管理平台该系统都能提供强大的智能问答能力和完善的管理功能帮助企业提升客服效率降低运营成本。欢迎Star、Fork和贡献代码