## � 团队成员与贡献

| 姓名 | 学号 | 主要贡献 (具体分工) |
|------|------|-------------------|
| 郭昊 | 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 <repository-url>
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时代，我们的价值不在于重复性的编码工作，而在于创造性的问题解决和系统设计能力。

---

**数据提取与转换器** - 让数据处理变得更简单、更智能！ 🚀