

























AI智能客服系统是一个基于微服务架构的企业级智能客服平台,集成了大语言模型(LLM)、知识库检索(RAG)、工单管理等核心功能,为企业提供从传统人工客服到AI智能问答的完整解决方案。项目采用前后端分离架构,后端基于Spring Boot 3.x + Spring Cloud Gateway,前端使用Vue 3 + Element Plus,支持多租户、多会话隔离,具备高可扩展性和高可用性。
┌─────────────────────────────────────────────────────────────┐
│ 前端层 (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 │
│ 主数据库 │ │ 缓存 │ │向量数据库│
└─────────┘ └──────────┘ └──────────┘
后端技术:
前端技术:
AI/ML技术:
| 模块 | 端口 | 职责 |
|---|---|---|
| ai-cs-gateway | 8080 | API网关、路由转发、鉴权、限流 |
| ai-cs-base-service | 9001 | 客户管理、坐席管理、会话管理 |
| ai-cs-ai-agent | 9002 | AI对话、意图识别、LLM调用 |
| ai-cs-knowledge | 9003 | 知识库管理、RAG检索、向量存储 |
| ai-cs-workorder | 9004 | 工单管理、工单流转 |
| ai-cs-websocket | 9005 | 实时通信、消息推送 |
| ai-cs-job | - | 定时任务、数据统计 |
用户提问
↓
文本向量化(Embedding)
↓
向量相似度检索(Chroma/Milvus)
↓
Rerank重排优化(BGE-Reranker)
↓
检索相关文档片段
↓
构建Prompt(包含检索到的上下文)
↓
LLM生成答案
↓
返回用户
rag:
ollama:
base-url: http://localhost:11434
llm-model: qwen:7b # 对话模型
embedding-model: nomic-embed-text # 向量模型
rerank-model: bge-reranker:latest # 重排模型
temperature: 0.1
chroma:
base-url: http://localhost:8000
collection-name: private_knowledge_base
split:
chunk-size: 500 # 文本切片大小
chunk-overlap: 80 # 切片重叠字符数
retrieve:
top-k: 5 # 初次检索返回数量
rerank-top-k: 3 # 重排后保留数量
chat-memory:
ttl: 604800 # 对话记忆过期时间(7天)
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 - 清空全部记忆系统新增了文档版本管理功能,支持文档的版本跟踪、回退和对比:
GET /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 - 比较两个版本git clone https://gitlab.com/WongHui/ai-cs-parent.git
cd ai-cs-parent
CREATE DATABASE ai_cs_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
mysql -u root -p ai_cs_db < docs/database/init.sql
# 拉取Ollama模型
ollama pull qwen:7b
ollama pull nomic-embed-text
ollama pull bge-reranker:latest
# 启动Chroma
chroma run --path ./chroma-db
mvn clean install -DskipTests
# 按顺序启动各微服务
cd ai-cs-gateway && mvn spring-boot:run
cd ai-cs-base-service && mvn spring-boot:run
cd ai-cs-ai-agent && mvn spring-boot:run
cd ai-cs-knowledge && mvn spring-boot:run
cd ai-cs-workorder && mvn spring-boot:run
cd ai-cs-websocket && mvn spring-boot:run
cd ai-cs-frontend
npm install
npm run dev
本地运行各微服务,使用localhost访问
┌─────────────┐
│ Nginx LB │
└──────┬──────┘
│
┌────────────┼────────────┐
│ │ │
┌─────▼─────┐ ┌───▼────┐ ┌────▼─────┐
│ Gateway 1 │ │ GW 2 │ │ GW 3 │
└─────┬─────┘ └───┬────┘ └────┬─────┘
│ │ │
└────────────┼────────────┘
│
┌────────────┼────────────┐
│ │ │ │
各微服务集群 Redis集群 MySQL主从 Milvus/Chroma集群
AI智能客服系统是一个功能完善、架构合理的企业级智能客服解决方案。通过集成RAG技术、文档版本管理等先进功能,为企业提供了从传统客服到智能问答的完整升级路径。项目采用微服务架构,具备高可扩展性和高可用性,适合各种规模的客服场景。
无论是企业客服中心、技术支持系统,还是内部知识管理平台,该系统都能提供强大的智能问答能力和完善的管理功能,帮助企业提升客服效率,降低运营成本。
欢迎Star、Fork和贡献代码!
作者:huangrenhui
欢迎任何形式的转载,但请务必注明出处。
如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】。
如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】。
如果,您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客,我是【码猿手】。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。