- 添加DeepSeek大模型配置指南 - 更新README.md中的AI服务说明 - 完善致谢部分,添加DeepSeek感谢 - 创建DEEPSEEK_SETUP.md详细配置文档
287 lines
10 KiB
Markdown
287 lines
10 KiB
Markdown
## <20> 团队成员与贡献
|
||
|
||
| 姓名 | 学号 | 主要贡献 (具体分工) |
|
||
|------|------|-------------------|
|
||
| 郭昊 | 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时代,我们的价值不在于重复性的编码工作,而在于创造性的问题解决和系统设计能力。
|
||
|
||
---
|
||
|
||
**数据提取与转换器** - 让数据处理变得更简单、更智能! 🚀 |