- 添加DeepSeek大模型配置指南 - 更新README.md中的AI服务说明 - 完善致谢部分,添加DeepSeek感谢 - 创建DEEPSEEK_SETUP.md详细配置文档 |
||
|---|---|---|
| static | ||
| templates | ||
| test_cases | ||
| utils | ||
| .env.example | ||
| .gitignore | ||
| ALIYUN_OCR_SETUP.md | ||
| app_flask.py | ||
| app.py | ||
| BAIDU_AI_SETUP.md | ||
| BAIDU_API_GUIDE.md | ||
| BAIDU_API_KEY_DETAILED_GUIDE.md | ||
| config.py | ||
| DEEPSEEK_SETUP.md | ||
| diagnose_ocr.py | ||
| pyproject.toml | ||
| README.md | ||
| run.py | ||
| SQL_SERVER_SETUP.md | ||
| test_functionality.py | ||
| test_mdf_functionality.py | ||
| uv.lock | ||
<EFBFBD> 团队成员与贡献
| 姓名 | 学号 | 主要贡献 (具体分工) |
|---|---|---|
| 郭昊 | 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 (推荐使用)
安装步骤
- 克隆项目
git clone <repository-url>
cd data-extractor-converter
- 安装依赖
# 使用uv安装依赖
uv sync
- 配置环境变量
复制
.env.example为.env并配置相关API密钥:
# 阿里云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
- 启动应用
uv run streamlit run app.py
- 访问应用 打开浏览器访问: 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配置
DeepSeek大模型配置
百度智能云配置
SQL Server配置
💡 使用示例
1. AI照片评分
- 选择"📸 AI照片评分"功能
- 上传照片文件
- 点击"质量评分"、"内容分析"、"美学评分"
- 查看详细评分和改进建议
2. AI文案生成
- 在照片评分页面点击"AI写文案"
- 系统自动分析照片内容
- 选择喜欢的文案风格和长度
- 复制生成的创意文案
3. PDF文档处理
- 选择"📄 PDF处理"功能
- 上传PDF文件
- 选择提取模式(文本/表格)
- 下载提取结果
🎨 界面特色
- 现代化设计 - 简洁直观的用户界面
- 响应式布局 - 适配不同屏幕尺寸
- 实时反馈 - 操作进度和结果即时显示
- 多语言支持 - 完整的中文界面和提示
🔒 安全特性
- 本地处理 - 敏感数据在本地处理,不上传云端
- 环境变量 - API密钥通过环境变量安全配置
- 文件隔离 - 上传文件在临时目录处理,自动清理
📈 性能优化
- 异步处理 - 大文件处理使用异步操作
- 缓存机制 - 重复操作结果缓存
- 进度显示 - 长时间操作显示进度条
🤝 贡献指南
欢迎提交Issue和Pull Request来改进这个项目!
开发环境设置
# 安装开发依赖
uv sync --dev
# 运行测试
uv run pytest
# 代码格式化
uv run black .
uv run isort .
📄 许可证
本项目采用MIT许可证,详见LICENSE文件。
🙏 致谢
感谢以下服务提供的AI能力支持:
如何运行
- 安装依赖:
uv sync - 配置 Key:复制
.env.example为.env并填入 Key - 启动:
uv run streamlit run app.py
💭 开发心得
选题思考:为什么做这个?解决了谁的痛苦?
作为一名学生,我深刻体会到在学习和科研过程中处理各种格式数据的痛苦。从PDF文献提取、图片文字识别到数据格式转换,每一个环节都可能耗费大量时间。特别是当需要为照片添加创意文案时,往往需要反复修改,缺乏专业的指导。
这个项目正是为了解决这些痛点而生。它不仅仅是一个工具集合,更是一个AI赋能的智能助手,能够帮助我们:
- 快速提取学术文献中的关键信息
- 智能识别图片中的文字内容
- 一键转换不同格式的数据文件
- 获得专业的照片质量评估和创意文案
AI 协作体验
第一次用 AI 写代码的感觉?
第一次使用AI辅助编程时,我感到太方便了AI能够快速生成基础代码框架,大大提升了开发效率。随着项目的深入,我发现AI在以下几个方面表现出色:
- 快速原型开发:AI能够快速生成功能模块的基本框架
- 代码优化建议:AI能够提供代码重构和性能优化的建议
- 错误排查: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时代,我们的价值不在于重复性的编码工作,而在于创造性的问题解决和系统设计能力。
数据提取与转换器 - 让数据处理变得更简单、更智能! 🚀