1. 系统概述
AI内容生成器是一个基于Web的应用,用于将用户输入的文本描述转换为吸引人的文案和3D模型。系统采用前后端分离架构,使用Python Flask作为后端框架,Bootstrap作为前端框架,MongoDB作为数据库。
2. 技术栈
2.1 后端技术
- **语言**:Python 3.7+
- **框架**:Flask 2.3.2
- **数据库**:MongoDB 4.0+
- **其他库**:
- Flask-CORS:处理跨域请求
- pymongo:MongoDB驱动
- requests:HTTP请求
- python-dotenv:环境变量管理
2.2 前端技术
- **HTML5**:页面结构
- **CSS3**:页面样式
- **JavaScript**:页面交互
- **Bootstrap 5**:响应式UI框架
- **Font Awesome**:图标库
- **Model Viewer**:3D模型展示
2.3 AI服务
- **通义千问**:文案生成
- **Meshy**:3D模型生成
3. 系统架构
3.1 架构层次
```
┌─────────────────────────────────────────────────────────────────────┐
│ 前端层 │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ 文本输入 │ │ 文案展示 │ │ 3D模型展示 │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
├─────────────────────────────────────────────────────────────────────┤
│ API层 │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ 生成API │ │ 历史API │ │ 健康检查API │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
├─────────────────────────────────────────────────────────────────────┤
│ 服务层 │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ AI服务 │ │ 数据服务 │ │ 日志服务 │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
├─────────────────────────────────────────────────────────────────────┤
│ 数据层 │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ MongoDB │ │ 缓存 │ │ 日志文件 │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
```
3.2 核心组件
3.2.1 前端组件
- **文本输入模块**:用户输入文本描述
- **文案展示模块**:展示生成的文案
- **3D模型展示模块**:使用<model-viewer>展示生成的3D模型
3.2.2 API组件
- **生成API**:处理用户的生成请求,调用AI服务生成内容
- **历史API**:查询历史生成记录
- **健康检查API**:检查系统健康状态
3.2.3 服务组件
- **AI服务**:调用通义千问和Meshy API生成内容
- **数据服务**:处理数据存储和检索
- **日志服务**:记录系统运行日志
3.2.4 数据组件
- **MongoDB**:存储用户输入和生成结果
- **缓存**:缓存热点数据
- **日志文件**:记录系统运行日志
4. 数据流
4.1 生成流程
1. 用户在前端页面输入文本描述
2. 前端发送POST请求到生成API
3. API验证输入并创建生成记录
4. 调用AI服务生成文案
5. 调用AI服务生成3D模型
6. 更新生成记录和结果
7. 返回结果给前端
8. 前端展示生成的文案和3D模型
4.2 历史记录流程
1. 用户通过API请求历史记录
2. API验证请求
3. 数据服务查询数据库
4. 返回历史记录给用户
5. 系统模块
5.1 前端模块
- **index.html**:主页面,包含文本输入、文案展示、3D模型展示
5.2 API模块
- **api.py**:API接口,处理生成请求和历史记录查询
5.3 服务模块
- **ai_service.py**:AI服务,调用通义千问和Meshy API
- **models.py**:数据模型,处理数据存储和检索
5.4 配置模块
- **config.py**:配置管理,加载环境变量
- **.env**:环境变量配置文件
6. 数据库设计
6.1 Generation集合
| 字段名 | 类型 | 描述 |
|--------|------|------|
| _id | ObjectId | 生成记录ID |
| input_text | String | 用户输入的文本 |
| result | Object | 生成结果,包含文案和3D模型URL |
| status | String | 生成状态 |
| created_at | Date | 创建时间 |
| updated_at | Date | 更新时间 |
7. 系统安全
7.1 API安全
- 输入验证:验证用户输入的合法性
- 错误处理:统一处理API错误
- 日志记录:记录API调用日志
7.2 数据安全
- 敏感数据保护:保护API密钥等敏感信息
- 数据备份:定期备份数据库
7.3 网络安全
- 使用HTTPS协议(生产环境)
- 限制API访问频率
8. 系统部署
8.1 本地部署
1. 安装依赖
2. 配置环境变量
3. 启动MongoDB服务
4. 运行start.bat脚本
8.2 生产部署
1. 使用Nginx作为反向代理
2. 使用Gunicorn作为WSGI服务器
3. 配置SSL证书
4. 部署到云服务器
9. 系统监控
9.1 日志管理
- 系统运行日志
- API访问日志
- 错误日志
9.2 性能监控
- 响应时间监控
- 资源使用监控
- API调用成功率监控
10. 系统扩展
10.1 支持更多AI模型
- 可以扩展AI服务,支持更多AI模型
- 每个模型需要单独实现调用逻辑
10.2 增加更多功能
- 批量生成
- 结果导出
- 数据可视化
- 定时任务
10.3 技术扩展
- 增加缓存层
- 实现分布式部署
- 使用容器化部署
11. 总结
AI内容生成器采用现代化的技术栈和架构设计,具有良好的可扩展性和可维护性。系统实现了核心的文本输入到3D展示的链路,支持文案生成和3D模型生成,并提供了完整的前端展示功能。
系统的架构设计考虑了安全性、性能和可扩展性,为后续的功能扩展和技术升级奠定了基础。通过合理的模块划分和数据流设计,系统能够高效地处理生成请求,并为用户提供流畅的使用体验。