# ai-agent-customer-service **Repository Path**: CodingKeep/ai-agent-customer-service ## Basic Information - **Project Name**: ai-agent-customer-service - **Description**: 基于 Spring Boot 3 + Vue 3 的 AI 企业知识库智能客服 Agent 系统,支持 RAG 检索增强、工单、审核、报表等模块 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-30 - **Last Updated**: 2026-07-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI 企业知识库智能客服 Agent 系统 基于 **Spring Boot 3 + Vue 3 + LangChain4j** 的企业级 AI 知识库智能客服 Agent 系统,支持 RAG 检索增强生成、Agent 工具编排(Tool Calling)、多轮对话、工单流转、风险审核、数据报表等完整业务闭环。 ## ✨ 核心特性 - 🤖 **智能客服 Agent**:意图识别 → 工具路由 → RAG 检索 → Prompt 构建 → LLM 生成 → 风险审核 的完整 Agent 处理链路 - 📚 **知识库管理**:分类 / 文档 / 切片管理,支持文档上传解析与检索测试 - 🔍 **RAG 检索增强**:可插拔向量存储(MySQL / pgvector),可配置 top-k、chunk-size、chunk-overlap - 🛠️ **Tool Calling**:Agent 工具注册与编排,支持工单查询、知识检索等业务工具 - 💬 **多轮会话**:会话上下文管理,回答附带知识来源、工具调用与风险提示 - 🎫 **工单 / 审核 / 报告**:客服工单流转、AI 回答人工审核、数据报告生成 - 📊 **数据看板**:工单分布、热门问题、核心指标可视化(ECharts) - 🔐 **RBAC 权限**:JWT 认证 + 角色权限控制 + 操作日志审计 - 🔌 **多模型接入**:支持 mock(免 Key 演示)/ OpenAI / Ollama,一键切换 ## 🏗️ 技术栈 ### 后端(backend) | 技术 | 版本 | 说明 | |------|------|------| | Spring Boot | 3.2.5 | 基础框架 | | MyBatis-Plus | 3.5.6 | ORM | | LangChain4j | 0.35.0 | LLM 编排 / OpenAI 接入 | | MySQL | 8.0 | 数据存储 | | Redis | 6+ | 会话缓存(可选,故障自动降级) | | JJWT | 0.12.5 | JWT 认证 | | Knife4j | 4.5.0 | 接口文档 | | Hutool / FastJSON2 / Lombok | - | 工具库 | ### 前端(frontend) | 技术 | 版本 | 说明 | |------|------|------| | Vue | 3.5 | 前端框架 | | Vite | 6.0 | 构建工具 | | TypeScript | 5.7 | 类型系统 | | Arco Design Vue | 2.56 | UI 组件库 | | Pinia / Vue Router / Axios | - | 状态管理 / 路由 / 请求 | | ECharts / markdown-it / dayjs | - | 图表 / Markdown 渲染 / 时间处理 | ## 📁 项目结构 ``` ├── backend/ # Spring Boot 后端 │ └── src/main/ │ ├── java/com/example/agentcs/ │ │ ├── common/ # 通用组件(安全、异常、注解、工具) │ │ ├── infrastructure/ # 基础设施(LLM、向量存储、Redis、文件) │ │ └── module/ # 业务模块 │ │ ├── agent/ # Agent 编排 │ │ ├── tool/ # Tool Calling 工具 │ │ ├── knowledge/ # 知识库(分类/文档/切片) │ │ ├── rag/ # RAG 检索增强 │ │ ├── chat/ # 多轮会话 │ │ ├── ticket/ # 工单 │ │ ├── audit/ # 审核 │ │ ├── report/ # 报告 │ │ ├── auth/user/role/ # 认证与权限 │ │ └── dashboard/log/ # 看板与日志 │ └── resources/ │ ├── sql/ # schema.sql / data.sql │ └── application.yml └── frontend/ # Vue 3 前端 └── src/ ├── api/ # 接口封装 ├── views/ # 页面(客服/知识库/工单/审核/报表/系统) ├── router/ stores/ types/ # 路由 / 状态 / 类型 └── layouts/ # 布局 ``` ## 🚀 快速开始 ### 环境要求 - JDK 17+、Maven 3.8+ - MySQL 8.0、Redis 6+(可选) - Node.js 18+ ### 1. 初始化数据库 ```sql CREATE DATABASE agent_customer_service DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` ```bash mysql -u root -p agent_customer_service < backend/src/main/resources/sql/schema.sql mysql -u root -p agent_customer_service < backend/src/main/resources/sql/data.sql ``` ### 2. 启动后端 ```bash cd backend mvn spring-boot:run ``` - 服务端口:`8080` - 接口文档:http://localhost:8080/doc.html ### 3. 启动前端 ```bash cd frontend npm install npm run dev ``` 访问:http://localhost:5173 (开发环境 `/api` 自动代理至后端 8080) ### 4. 默认账号 | 用户名 | 密码 | 角色 | |--------|------|------| | admin | 123456 | 系统管理员 | | knowledge | 123456 | 知识库管理员 | | service | 123456 | 客服人员 | | auditor | 123456 | 审核专家 | | user | 123456 | 普通用户 | ## ⚙️ AI 模型配置 `backend/src/main/resources/application.yml`: ```yaml ai: provider: mock # mock | openai | ollama openai: api-key: ${OPENAI_API_KEY:} base-url: ${OPENAI_BASE_URL:https://api.openai.com/v1} model-name: gpt-4o-mini rag: top-k: 5 chunk-size: 500 chunk-overlap: 80 vector-store: type: mysql # mysql | pgvector ``` - **mock**(默认):无需 API Key,模拟不同场景回答,开箱即用 - **openai**:配置 `OPENAI_API_KEY` 环境变量即可接入 OpenAI 兼容接口 - **ollama**:本地 Ollama 服务(预留扩展) ## 🔄 Agent 处理流程 ``` 用户提问 → 意图识别 → 工具路由 → RAG 检索 → Prompt 构建 → LLM 生成 → 风险审核 → 持久化 ``` ## 📄 更多文档 - [后端说明](backend/README.md) - [前端说明](frontend/README.md) ## 📜 License 本项目仅供学习交流使用。