# export-data **Repository Path**: kk_develop/export-data ## Basic Information - **Project Name**: export-data - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-15 - **Last Updated**: 2026-04-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI 智能助手 - 数据库查询与导出工具 一个基于阿里云 Qwen AI 的智能助手应用,支持自然语言生成 SQL、数据库查询、数据可视化、多格式导出等功能。 ## 🌟 项目简介 本项目是一个智能数据库查询和数据分析工具,通过自然语言交互,帮助用户: - 使用自然语言查询数据库 - 自动生成 SQL 语句 - 执行数据库查询并展示结果 - 生成各种类型的图表(折线图、柱状图、饼图、横向条形图等) - 支持多系列图表(如本周vs上周、AUM流入vs流出等) - 导出查询结果为多种格式(CSV、Excel、JSON、HTML报表等) - 管理对话历史和导出历史 ## ✨ 核心功能 ### 🤖 智能查询 - **自然语言转 SQL**:使用大模型理解用户需求,自动生成 SQL 查询语句 - **多轮对话支持**:支持上下文理解,可以进行连续的对话查询 - **智能字段识别**:自动识别查询条件、搜索字段、系列字段等 ### 📊 数据可视化 - **多种图表类型**:支持折线图、柱状图、饼图、横向条形图等 - **多系列图表**:支持按系列分组显示数据(如本周vs上周) - **搜索功能**:图表支持按字段搜索过滤数据 - **表格搜索**:每个图表的数据表格支持关键字搜索 - **数据统计**:支持独立的数据统计模块,显示关键指标 ### 📁 数据导出 - **多格式支持**:CSV、Excel、JSON、HTML 报表等 - **导出历史管理**:查看和管理所有导出记录 - **文件管理**:支持删除单个导出文件或清空所有导出历史 - **实时下载**:导出完成后可直接下载或在线查看 ### 💾 对话管理 - **对话历史**:保存所有对话记录,支持查看历史对话 - **对话编辑**:支持编辑对话名称、删除对话 - **本地缓存**:对话记录保存在本地,支持离线查看 - **智能标题**:自动生成对话标题或使用最后一条用户输入 ### 🔧 配置管理 - **多数据库支持**:支持配置多个数据库连接(MySQL、SQLite等) - **API Key 配置**:支持配置大模型 API Key - **环境变量支持**:支持通过环境变量配置敏感信息 ## 🚀 快速开始 ### 系统要求 - Python 3.8 或更高版本 - 现代浏览器(Chrome、Firefox、Edge、Safari) - 数据库服务器(MySQL、SQLite等) ### 安装步骤 1. **克隆项目** ```bash git clone cd export-data ``` 2. **安装 Python 依赖** ```bash pip install -r requirements.txt ``` 3. **配置 API Key** **方式 1:使用环境变量(推荐)** ```powershell # Windows (PowerShell) $env:LLM_API_KEY="your_api_key_here" # Windows (CMD) set LLM_API_KEY=your_api_key_here # Linux/Mac export LLM_API_KEY="your_api_key_here" ``` **方式 2:使用配置文件** ```bash # 创建配置文件目录 mkdir -p config # 创建 model.json 配置文件 echo '{"api_key": "your_api_key_here"}' > config/model.json ``` 4. **启动后端服务器** ```bash python api_server.py ``` 服务器会在 `http://localhost:9993` 运行 5. **启动前端 HTTP 服务器** ```bash # Python 3 python -m http.server 8000 # Python 2 python -m SimpleHTTPServer 8000 ``` 6. **访问应用** 打开浏览器访问: `http://localhost:8000` ### 获取 API Key 1. 访问 [阿里云 DashScope 控制台](https://dashscope.console.aliyun.com/) 2. 注册/登录阿里云账号 3. 创建 API Key 4. 在应用的设置中输入您的 API Key ## 📖 使用指南 ### 基本查询 1. 管理员需要在页面配置大模型,并配置想要查询的数据库。 2. 在输入框中输入查询需求,例如: - "查询2025年所有产品的销量" - "显示最近一个月的客户交易记录" - "统计每个地区的AUM总额" 3. 点击发送按钮或按 Enter 键提交查询 4. 系统会自动生成 SQL 并执行查询,展示结果 ### 图表生成 支持多种图表类型,可以通过自然语言指定: - "生成折线图显示销售趋势" - "用柱状图展示各地区的销售额" - "创建饼图显示产品销量占比" - "生成横向条形图显示产品排行榜" ### 多系列图表 支持多系列数据展示: - "查询所有产品的本周和上周销量,生成柱状图" - "显示每个客户等级的AUM流入、AUM流出、净流入" ### 对话管理 - **创建新对话**:点击"新建对话"按钮 - **查看历史**:在左侧面板查看所有对话 - **编辑对话**:点击对话名称进行编辑 - **删除对话**:点击删除按钮删除对话 ## ⌨️ 键盘快捷键 - `Enter` - 发送消息 - `Shift + Enter` - 换行 - `ESC` - 清空输入框 ## 🔧 技术架构 ### 前端技术栈 - **HTML5** - 页面结构 - **Tailwind CSS** - 样式框架 - **Vanilla JavaScript** - 前端逻辑 - **Material Icons** - 图标库 - **ECharts** - 数据可视化 ### 后端技术栈 - **Python 3.8+** - 编程语言 - **FastAPI** - Web 框架 - **SQLAlchemy** - ORM 框架 - **Pandas** - 数据处理 - **PyMySQL** - MySQL 驱动 ### AI 服务 - **阿里云 Qwen(通义千问)** - 大语言模型 API ### 项目结构 ``` export-data/ ├── index.html # 主应用文件 ├── api_server.py # Python 后端服务器 ├── managers/ # 核心管理器 │ ├── database_manager.py # 数据库连接与查询 │ ├── llm_processor.py # LLM 交互与 SQL 生成 │ ├── conversation_manager.py # 对话管理 │ └── report_generator.py # 报表生成 ├── config/ # 配置文件 │ ├── model.json # 大模型配置 │ └── database_connections.json # 数据库连接配置 ├── output/ # 输出目录 │ ├── conversations/ # 对话历史 │ └── exports/ # 导出文件 ├── tests/ # 测试文件 │ ├── test_database_manager.py │ ├── test_llm_processor.py │ └── test_report_generator.py ├── README.md # 项目说明文档 ├── SECURITY.md # 安全配置说明 ├── CHAT.md # 聊天功能说明 └── requirements.txt # Python 依赖 ``` ## 🔍 故障排除 ### CORS 错误 **问题:** `Access to fetch at 'http://localhost:9993/...' has been blocked by CORS policy` **解决方案:** 1. 确保后端服务器正在运行 2. 访问 `http://localhost:8000` 而不是直接打开 HTML 文件 3. 检查 CORS 配置是否正确 ### 网络连接错误 **问题:** `Failed to fetch` 或 `Network Error` **解决方案:** - 检查 API Key 是否正确 - 确认网络连接正常 - 验证后端服务器是否正在运行 - 检查防火墙设置 ### API 调用失败 **问题:** `HTTP 401` 或 `HTTP 403` **解决方案:** - 确认 API Key 有效且有足够的配额 - 检查模型选择是否正确 - 查看 DashScope 控制台的配额使用情况 ### 数据库连接错误 **问题:** `数据库连接失败` 或 `SQL 执行失败` **解决方案:** - 检查数据库连接配置是否正确 - 确认数据库服务正在运行 - 验证数据库用户权限 ### 图表显示异常 **问题:** 图表无法正常显示或数据不正确 **解决方案:** - 检查查询结果是否包含正确的数据 - 验证图表配置参数是否正确 - 查看浏览器控制台的错误信息 ## 🌟 最佳实践 1. **使用环境变量** - 推荐使用环境变量存储 API Key 2. **保护 API Key** - 不要在公开仓库中提交 API Key 3. **定期导出对话** - 重要对话建议定期导出备份 4. **使用快捷键** - 熟练使用快捷键可以大大提高效率 5. **数据库权限** - 为应用创建专用的数据库用户,只授予必要的权限 ## 📄 许可证 MIT License ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📞 联系方式 如有问题或建议,请通过以下方式联系: - 提交 Issue - 发送邮件 - 加入讨论组 ## 🙏 致谢 感谢以下开源项目和工具: - FastAPI - Tailwind CSS - ECharts - 阿里云 DashScope