# DataAgentSelf **Repository Path**: vax52/data-agent-self ## Basic Information - **Project Name**: DataAgentSelf - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-19 - **Last Updated**: 2025-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 泰康健康险人工智能查询系统 基于Spring Boot和Vue 3的前后端分离人工智能查询系统。 ## 项目概述 本项目是一个基于大语言模型的数据查询系统,允许用户使用自然语言查询数据库,并返回直观的可视化结果。 ## 技术栈 ### 后端 - **Spring Boot 4.0.0** - Java应用框架 - **LangChain4j 0.34.0** - AI模型集成框架 - **MySQL 8.0** - 数据库 - **HikariCP** - 数据库连接池 - **Java 21** - 编程语言 ### 前端 - **Vue 3** - 前端框架 - **Vite** - 构建工具 - **Element Plus** - UI组件库 - **Chart.js** - 图表可视化 - **Pinia** - 状态管理 - **Tailwind CSS** - 样式框架 ## 项目结构 ``` dhrai/ ├── backend/ # 后端Spring Boot项目 │ ├── src/main/java/ # Java源代码 │ ├── src/main/resources/ # 配置文件和资源 │ └── pom.xml # Maven配置 ├── frontend/ # 前端Vue 3项目 │ ├── src/ # Vue源代码 │ ├── public/ # 静态资源 │ └── package.json # npm配置 └── README.md # 项目说明 ``` ## 快速开始 ### 环境要求 - Java 21 - Node.js 16+ - MySQL 8.0 - Maven 3.6+ ### 后端启动 1. 进入后端目录: ```bash cd d:/ideaProjects/dhrai ``` 2. 配置数据库连接(修改 `src/main/resources/application.yml`): ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/your_database username: your_username password: your_password ``` 3. 启动后端服务: ```bash mvn spring-boot:run ``` 后端服务将在 `http://localhost:8080` 启动。 ### 前端启动 1. 进入前端目录: ```bash cd frontend ``` 2. 安装依赖: ```bash npm install ``` 3. 启动开发服务器: ```bash npm run dev ``` 前端应用将在 `http://localhost:3000` 启动,并自动代理API请求到后端。 ## 功能特性 - 自然语言查询数据库 - 实时聊天交互界面 - 多种数据可视化方式(表格、柱状图、饼图、折线图) - AI智能推荐最佳图表类型 - 数据导出功能(CSV、图表图片) - 响应式设计,支持多设备访问 ## API接口 ### 自然语言查询 **POST** `/api/nlq/query` 请求体: ```json { "query": "显示各部门人员数量" } ``` 响应: ```json { "success": true, "message": "查询结果说明", "columns": [ {"name": "department", "type": "TEXT"}, {"name": "count", "type": "NUMBER"} ], "data": [ {"department": "技术部", "count": 25}, {"department": "市场部", "count": 15} ] } ``` ### 数据可视化 **POST** `/api/nlq/visualize` 请求体: ```json { "query": "显示各部门人员数量", "chartType": "BAR", "labelColumn": "department", "valueColumn": "count" } ``` 响应: ```json { "success": true, "data": { "chartData": { "labels": ["技术部", "市场部"], "values": [25, 15] }, "aiRecommendation": { "chartType": "PIE", "reason": "比例数据适合用饼图展示", "labelColumn": "department", "valueColumn": "count" } } } ``` ## 开发指南 ### 后端开发 1. **添加新API接口**:在 `controller` 包中创建新的控制器 2. **业务逻辑**:在 `service` 包中实现业务逻辑 3. **配置管理**:在 `src/main/resources/application.yml` 中添加配置 ### 前端开发 1. **添加新页面**:在 `frontend/src/views` 中创建新组件 2. **API调用**:在 `frontend/src/api` 中添加API函数 3. **状态管理**:在 `frontend/src/stores` 中管理状态 4. **样式定制**:使用Tailwind CSS或修改 `frontend/src/assets` 中的样式 ## 部署说明 ### 后端部署 1. 打包应用: ```bash mvn clean package ``` 2. 运行JAR文件: ```bash java -jar target/dhrai-0.0.1-SNAPSHOT.jar ``` ### 前端部署 1. 构建生产版本: ```bash cd frontend npm run build ``` 2. 将 `dist` 目录部署到Web服务器(如Nginx) ## 贡献指南 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 打开Pull Request ## 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。 ## 联系方式 如有问题或建议,请联系项目维护者。