## � 团队成员与贡献 | 姓名 | 学号 | 主要贡献 (具体分工) | |------|------|-------------------| | 郭昊 | 2412111209 | (组长) 核心逻辑开发、Prompt 编写 | # 数据提取与转换器 🚀 **多功能AI数据提取与转换工具** 一个集成了AI大模型能力的现代化数据处理工具,支持PDF提取、图片OCR、格式转换、网页抓取、数据库导出,以及创新的AI照片评分和文案生成功能。 ## ✨ 核心功能 ### 📄 文档处理 - **PDF文本/表格提取** - 从PDF文档中提取文字和表格数据 - **多格式支持** - 支持PDF、Word、Excel等文档格式 ### 🖼️ 图片处理与AI识别 - **传统OCR识别** - 使用Tesseract进行图片文字识别 - **AI大模型OCR** - 集成阿里云AI大模型,高精度中文识别 - **AI照片评分** - 百度智能云AI照片质量、内容、美学评估 - **AI创意文案** - 基于照片内容生成多种风格的创意文案 ### 🔄 数据格式转换 - **Excel/CSV/JSON格式互转** - 支持多种数据格式之间的转换 - **数据清洗与处理** - 智能数据格式识别和转换 ### 🌐 网络数据获取 - **网页数据抓取** - 从指定URL或关键词抓取网页数据 - **智能内容提取** - 自动识别网页结构和内容 ### 🗄️ 数据库管理 - **数据库导出** - 将SQLite/MySQL数据库导出为Excel等格式 - **MDF文件支持** - 支持SQL Server MDF文件导出 ## 🎯 AI功能特色 ### 📸 AI照片评分系统 - **质量评分** 📊 - 清晰度、亮度、对比度、色彩平衡评估 - **内容分析** 🔍 - 智能识别照片中的物体和场景 - **美学评分** 🎨 - 构图、用光、主体表现艺术评价 - **详细改进建议** 💡 - 针对性的摄影技术指导 ### ✍️ AI创意文案生成 - **多种风格** - 创意文艺、社交媒体、专业正式、营销推广等 - **智能推荐** - 基于照片内容自动推荐最适合的风格 - **多选项选择** - 一次生成3个不同风格的文案选项 - **便捷复制** - 一键复制文案到剪贴板 ## 🛠️ 技术架构 ### 依赖管理 - **使用`uv`管理** - 现代化的Python包管理工具 - **虚拟环境隔离** - 确保依赖环境干净整洁 - **快速安装** - 并行下载和安装,提升效率 ### AI服务集成 - **阿里云OCR** - 业界领先的中文OCR识别能力 - **百度智能云** - 专业的图像分析和识别服务 - **DeepSeek大模型** - 先进的创意文案生成(主要) - **阿里云+DashScope** - 强大的AI大模型文案生成(备用) ## 🚀 快速开始 ### 环境要求 - Python 3.8+ - uv (推荐使用) ### 安装步骤 1. **克隆项目** ```bash git clone cd data-extractor-converter ``` 2. **安装依赖** ```bash # 使用uv安装依赖 uv sync ``` 3. **配置环境变量** 复制`.env.example`为`.env`并配置相关API密钥: ```env # 阿里云OCR配置(AI大模型识别) ALIYUN_ACCESS_KEY_ID=your-access-key-id ALIYUN_ACCESS_KEY_SECRET=your-access-key-secret ALIYUN_OCR_ENDPOINT=ocr-api.cn-hangzhou.aliyuncs.com # 百度智能云配置(图像分析) BAIDU_API_KEY=your-baidu-api-key BAIDU_SECRET_KEY=your-baidu-secret-key # DeepSeek大模型配置(主要AI文案生成) DEEPSEEK_API_KEY=your-deepseek-api-key # DashScope配置(备用AI文案生成) DASHSCOPE_API_KEY=your-dashscope-api-key ``` 4. **启动应用** ```bash uv run streamlit run app.py ``` 5. **访问应用** 打开浏览器访问: http://localhost:8501 ## 📁 项目结构 ``` data-extractor-converter/ ├── app.py # 主应用程序 ├── pyproject.toml # 项目配置和依赖管理 ├── .env.example # 环境变量示例 ├── utils/ # 工具模块 │ ├── __init__.py │ ├── pdf_extractor.py # PDF提取工具 │ ├── ocr_processor.py # OCR处理工具 │ ├── aliyun_ocr.py # 阿里云AI OCR │ ├── baidu_image_analysis.py # 百度智能云图像分析 │ ├── ai_copywriter.py # AI文案生成 │ ├── photo_advice_generator.py # 照片评分建议生成 │ ├── format_converter.py # 格式转换工具 │ ├── web_scraper.py # 网页抓取工具 │ └── database_exporter.py # 数据库导出工具 ├── uploads/ # 上传文件目录 └── docs/ # 文档目录 ├── ALIYUN_OCR_SETUP.md # 阿里云OCR配置指南 ├── BAIDU_AI_SETUP.md # 百度智能云配置指南 └── SQL_SERVER_SETUP.md # SQL Server配置指南 ``` ## 🔧 配置指南 ### 阿里云OCR配置 参考: [ALIYUN_OCR_SETUP.md](docs/ALIYUN_OCR_SETUP.md) ### DeepSeek大模型配置 参考: [DEEPSEEK_SETUP.md](docs/DEEPSEEK_SETUP.md) ### 百度智能云配置 参考: [BAIDU_AI_SETUP.md](docs/BAIDU_AI_SETUP.md) ### SQL Server配置 参考: [SQL_SERVER_SETUP.md](docs/SQL_SERVER_SETUP.md) ## 💡 使用示例 ### 1. AI照片评分 1. 选择"📸 AI照片评分"功能 2. 上传照片文件 3. 点击"质量评分"、"内容分析"、"美学评分" 4. 查看详细评分和改进建议 ### 2. AI文案生成 1. 在照片评分页面点击"AI写文案" 2. 系统自动分析照片内容 3. 选择喜欢的文案风格和长度 4. 复制生成的创意文案 ### 3. PDF文档处理 1. 选择"📄 PDF处理"功能 2. 上传PDF文件 3. 选择提取模式(文本/表格) 4. 下载提取结果 ## 🎨 界面特色 - **现代化设计** - 简洁直观的用户界面 - **响应式布局** - 适配不同屏幕尺寸 - **实时反馈** - 操作进度和结果即时显示 - **多语言支持** - 完整的中文界面和提示 ## 🔒 安全特性 - **本地处理** - 敏感数据在本地处理,不上传云端 - **环境变量** - API密钥通过环境变量安全配置 - **文件隔离** - 上传文件在临时目录处理,自动清理 ## 📈 性能优化 - **异步处理** - 大文件处理使用异步操作 - **缓存机制** - 重复操作结果缓存 - **进度显示** - 长时间操作显示进度条 ## 🤝 贡献指南 欢迎提交Issue和Pull Request来改进这个项目! ### 开发环境设置 ```bash # 安装开发依赖 uv sync --dev # 运行测试 uv run pytest # 代码格式化 uv run black . uv run isort . ``` ## 📄 许可证 本项目采用MIT许可证,详见[LICENSE](LICENSE)文件。 ## 🙏 致谢 感谢以下服务提供的AI能力支持: - [DeepSeek](https://www.deepseek.com/) - 先进的AI大模型文案生成服务 - [阿里云](https://www.aliyun.com/) - OCR和AI大模型服务 - [百度智能云](https://cloud.baidu.com/) - 图像分析服务 - [Streamlit](https://streamlit.io/) - Web应用框架 ### 如何运行 1. **安装依赖**:`uv sync` 2. **配置 Key**:复制 `.env.example` 为 `.env` 并填入 Key 3. **启动**:`uv run streamlit run app.py` ## 💭 开发心得 ### 选题思考:为什么做这个?解决了谁的痛苦? 作为一名学生,我深刻体会到在学习和科研过程中处理各种格式数据的痛苦。从PDF文献提取、图片文字识别到数据格式转换,每一个环节都可能耗费大量时间。特别是当需要为照片添加创意文案时,往往需要反复修改,缺乏专业的指导。 这个项目正是为了解决这些痛点而生。它不仅仅是一个工具集合,更是一个AI赋能的智能助手,能够帮助我们: - 快速提取学术文献中的关键信息 - 智能识别图片中的文字内容 - 一键转换不同格式的数据文件 - 获得专业的照片质量评估和创意文案 ### AI 协作体验 #### 第一次用 AI 写代码的感觉? 第一次使用AI辅助编程时,我感到太方便了AI能够快速生成基础代码框架,大大提升了开发效率。随着项目的深入,我发现AI在以下几个方面表现出色: 1. **快速原型开发**:AI能够快速生成功能模块的基本框架 2. **代码优化建议**:AI能够提供代码重构和性能优化的建议 3. **错误排查**:AI能够快速定位代码中的潜在问题 #### 哪个 Prompt 让你直呼"牛逼"?哪个让你想砸键盘? **最令人沮丧的Prompt:** "修复百度智能云API连接错误" 这个看似简单的Prompt却让我反复调试了多次,因为AI无法理解具体的API密钥格式问题,只能提供通用的错误排查建议,需要人工进行详细的调试。 ### 自我反思:AI 时代,我作为程序员的核心竞争力到底是什么? 通过这个项目的开发,我深刻认识到在AI时代,程序员的核心竞争力已经发生了根本性的转变: #### 1. **问题定义和分解能力** AI擅长执行具体的任务,但需要人类来定义问题和分解复杂需求。我的价值在于能够将用户的需求转化为AI可以理解的具体任务。 #### 2. **系统架构设计能力** AI可以生成代码片段,但整个系统的架构设计、模块划分、接口定义仍然需要人类的专业判断。 #### 3. **质量控制和调试能力** AI生成的代码可能存在潜在问题,需要人类进行严格的测试、调试和优化。 #### 4. **创新思维和业务理解** AI基于现有数据进行学习,而人类能够结合业务场景进行创新思考,提出独特的解决方案。 #### 5. **伦理和责任意识** 在使用AI技术时,需要考虑数据隐私、算法公平性等伦理问题,这是AI无法替代的人类责任。 ### 总结 这个项目让我深刻体会到,AI不是程序员的替代者,而是强大的工具和合作伙伴。未来的程序员需要具备: - **AI协作能力**:熟练使用AI工具提升效率 - **系统思维**:从整体角度设计解决方案 - **业务理解**:深入理解用户需求和业务场景 - **持续学习**:跟上技术发展的步伐 通过这个项目,我不仅掌握了一项实用的技能,更重要的是培养了一种与AI协作的新思维方式。在AI时代,我们的价值不在于重复性的编码工作,而在于创造性的问题解决和系统设计能力。 --- **数据提取与转换器** - 让数据处理变得更简单、更智能! 🚀