# chatbi-project **Repository Path**: benefitworld/chatbi-project ## Basic Information - **Project Name**: chatbi-project - **Description**: 基于 Spring Boot 3.x、Spring AI、阿里百炼 qwen 模型、MySQL 和 Redis、RabbitMQ 的企业级 ChatBI 项目。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-24 - **Last Updated**: 2026-01-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ChatBI 项目 基于 Spring Boot 3.x、Spring AI、阿里百炼 qwen 模型、MySQL、Redis 和 RabbitMQ 的企业级 ChatBI 项目。 ## 项目概述 ChatBI 是一个集成了 AI 智能对话和数据可视化功能的企业级应用,支持实时流式输出、多会话管理和集群部署。 ![输入图片说明](image.png) ## 核心功能 - **AI 聊天**:基于阿里百炼 qwen 模型的智能对话 - **流式输出**:实时的 AI 回复流式展示 - **会话管理**:支持创建、切换和删除聊天会话 - **数据可视化**:集成 ECharts 实现数据图表展示 - **企业级特性**: - 认证授权(Spring Security) - 日志记录(AOP 切面) - 监控指标(Actuator + Prometheus) - API 文档(OpenAPI + Swagger UI) - SSE 集群支持(Redis + RabbitMQ) ## 技术栈 ### 后端 - Spring Boot 3.2.4 - Spring AI 1.0.0 - 阿里百炼 SDK - MySQL 8.0 - Redis 7.0+(用于会话管理和集群协调) - RabbitMQ 3.9+(用于 SSE 集群消息广播) - Spring Security - Spring Actuator - Spring Doc OpenAPI ### 前端 - Vue 3.3.4 - Element Plus 2.3.12 - ECharts 5.4.3 - Vue ECharts 6.2.2 - Axios 1.5.0 ## 项目架构 ### 后端架构 - **控制器层**:处理 HTTP 请求,包括会话管理、消息发送和流式输出 - **服务层**:实现核心业务逻辑,包括 AI 模型调用、会话管理和消息处理 - **数据访问层**:通过 JPA 操作 MySQL 数据库 - **缓存层**:使用 Redis 缓存会话信息和 AI 回复 - **消息队列**:使用 RabbitMQ 实现 SSE 集群消息广播 - **AI 集成**:封装阿里百炼模型调用 - **监控层**:实现系统监控和健康检查 ### 前端架构 - **单页应用**:基于 Vue 3 的单页应用 - **组件化**:使用 Element Plus 组件库 - **数据可视化**:集成 ECharts 实现数据图表 - **SSE 客户端**:实现实时的 AI 回复流式展示 ## 快速开始 ### 环境要求 - JDK 17+ - Maven 3.8+ - MySQL 8.0+ - Redis 7.0+ - RabbitMQ 3.9+ - Node.js 16+ - npm 7+ ### 安装和运行 #### 后端 1. **克隆项目** ```bash git clone https://github.com/your-repo/chatbi.git cd chatbi/backend ``` 2. **配置数据库** - 创建 MySQL 数据库 `chatbi` - 修改 `src/main/resources/application.yml` 中的数据库配置 3. **配置阿里百炼** - 修改 `src/main/resources/application.yml` 中的阿里百炼配置,填写 `access-key`、`secret-key` 和 `endpoint` 4. **构建和运行** ```bash mvn clean package java -jar target/chatbi-project-1.0.0.jar ``` #### 前端 1. **进入前端目录** ```bash cd chatbi/frontend ``` 2. **安装依赖** ```bash npm install ``` 3. **运行开发服务器** ```bash npm run dev ``` 4. **构建生产版本** ```bash npm run build ``` ## API 文档 项目集成了 Spring Doc OpenAPI,可以通过以下地址访问 API 文档: - **Swagger UI**: http://localhost:8080/swagger-ui.html - **OpenAPI JSON**: http://localhost:8080/v3/api-docs ## 监控指标 项目集成了 Spring Boot Actuator,可以通过以下地址访问监控指标: - **健康检查**: http://localhost:8080/actuator/health - **信息端点**: http://localhost:8080/actuator/info - **指标端点**: http://localhost:8080/actuator/metrics - **Prometheus 端点**: http://localhost:8080/actuator/prometheus ## 项目结构 ### 后端 ``` backend/ ├── src/ │ ├── main/ │ │ ├── java/com/example/sse/ │ │ │ ├── config/ # 配置类 │ │ │ ├── controller/ # 控制器 │ │ │ ├── service/ # 服务 │ │ │ ├── repository/ # 数据访问 │ │ │ ├── model/ # 数据模型 │ │ │ ├── ai/ # AI 模型集成 │ │ │ ├── cache/ # 缓存管理 │ │ │ ├── aspect/ # AOP 切面 │ │ │ └── SseClusterApplication.java # 应用入口 │ │ └── resources/ │ │ └── application.yml # 应用配置 │ └── test/ # 测试代码 └── pom.xml # Maven 配置 ``` ### 前端 ``` frontend/ ├── src/ │ ├── App.vue # 应用入口组件 │ └── main.js # 应用入口文件 ├── index.html # HTML 模板 ├── package.json # npm 配置 └── vite.config.js # Vite 配置 ``` ## 使用说明 1. **创建会话**:点击左侧面板的 "New Session" 按钮 2. **发送消息**:在主聊天区域输入消息并点击 "Send" 按钮 3. **查看流式回复**:AI 回复会实时流式展示在聊天区域 4. **切换会话**:点击左侧面板的会话卡片 5. **删除会话**:点击会话卡片右上角的删除按钮 6. **查看数据可视化**:右侧面板展示数据图表 ## 企业级部署 ### 后端部署 - **容器化**:使用 Docker 容器化部署 - **集群部署**:支持多实例部署,通过 Redis 和 RabbitMQ 实现集群通信 - **负载均衡**:使用 Nginx 或 Kubernetes 实现负载均衡 - **监控告警**:集成 Prometheus + Grafana 实现监控告警 ### 前端部署 - **静态资源**:构建后的静态资源部署到 CDN 或 Nginx - **CI/CD**:集成 Jenkins 或 GitLab CI 实现持续集成和部署 ## 许可证 MIT License ## 联系我们 - **项目地址**:https://github.com/your-repo/chatbi - **问题反馈**:https://github.com/your-repo/chatbi/issues