2026-01-17 23:15:58 +08:00
|
|
|
|
# AI 视界 (AI Vision) 项目指南
|
|
|
|
|
|
|
2026-03-13 22:16:08 +08:00
|
|
|
|
一个基于 Flask 的 AI 图像与视频生成平台,支持多种 AI 模型接入,提供用户管理、积分充值、任务调度等功能。
|
|
|
|
|
|
|
|
|
|
|
|
## 功能特性
|
|
|
|
|
|
|
|
|
|
|
|
- **AI 图像生成** - 支持多种图像生成模型
|
|
|
|
|
|
- **AI 视频生成** - 支持视频生成任务
|
|
|
|
|
|
- **用户系统** - 注册、登录、积分管理
|
|
|
|
|
|
- **短信验证** - 阿里云短信验证码登录
|
|
|
|
|
|
- **支付系统** - 支付宝集成充值
|
|
|
|
|
|
- **任务队列** - Redis 异步任务处理
|
|
|
|
|
|
- **错误重试** - 智能错误处理与自动重试机制
|
|
|
|
|
|
- **后台管理** - RBAC 权限管理界面
|
|
|
|
|
|
|
|
|
|
|
|
## 技术栈
|
|
|
|
|
|
|
|
|
|
|
|
- **后端**: Python 3.8+ / Flask
|
|
|
|
|
|
- **数据库**: PostgreSQL + Redis
|
|
|
|
|
|
- **存储**: MinIO 对象存储
|
|
|
|
|
|
- **任务队列**: Redis + 异步任务处理
|
|
|
|
|
|
- **AI API**: 多模型支持(图像/视频/聊天)
|
|
|
|
|
|
|
2026-01-17 23:15:58 +08:00
|
|
|
|
## 🚀 快速开始
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 环境准备
|
|
|
|
|
|
确保已安装 Python 3.8+ 和 PostgreSQL / Redis。
|
|
|
|
|
|
|
2026-01-20 09:29:01 +08:00
|
|
|
|
**创建虚拟环境**
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 如果 python 命令不可用,请尝试使用 py
|
|
|
|
|
|
python -m venv .venv
|
|
|
|
|
|
# 或者
|
|
|
|
|
|
py -m venv .venv
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-01-17 23:15:58 +08:00
|
|
|
|
**激活虚拟环境** (推荐)
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# Windows (PowerShell)
|
|
|
|
|
|
.\.venv\Scripts\Activate.ps1
|
|
|
|
|
|
|
|
|
|
|
|
# Linux / Mac
|
|
|
|
|
|
source .venv/bin/activate
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**安装依赖**
|
|
|
|
|
|
```bash
|
|
|
|
|
|
pip install -r requirements.txt
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 启动服务
|
2026-02-15 10:07:38 +08:00
|
|
|
|
|
|
|
|
|
|
**开发环境**
|
2026-01-17 23:15:58 +08:00
|
|
|
|
```bash
|
|
|
|
|
|
python app.py
|
|
|
|
|
|
```
|
|
|
|
|
|
服务默认运行在 `http://127.0.0.1:5000`。
|
|
|
|
|
|
|
2026-02-15 10:07:38 +08:00
|
|
|
|
**生产环境 (Gunicorn)**
|
|
|
|
|
|
在 Linux 生产环境中,建议使用 Gunicorn 作为 WSGI 服务器以获得更好的性能和稳定性:
|
|
|
|
|
|
```bash
|
|
|
|
|
|
pip install gunicorn # 如果尚未安装
|
|
|
|
|
|
gunicorn -w 4 -b 0.0.0.0:5000 app:app
|
|
|
|
|
|
```
|
|
|
|
|
|
* `-w 4`: 使用 4 个工作进程(通常设为 CPU 核心数 * 2 + 1)。
|
|
|
|
|
|
* `-b 0.0.0.0:5000`: 绑定所有 IP 且端口为 5000。
|
|
|
|
|
|
* `app:app`: 加载 `app.py` 中的 `app` 实例。
|
|
|
|
|
|
|
2026-01-17 23:15:58 +08:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 🛠️ 常用维护命令
|
|
|
|
|
|
|
|
|
|
|
|
### 数据库管理 (推荐)
|
|
|
|
|
|
本项目内置了自动化数据库管理工具 `db_manager.py`,用于处理模型变更和迁移。
|
|
|
|
|
|
|
|
|
|
|
|
**一键自动同步 (最常用)**
|
|
|
|
|
|
当您修改了 `models.py` 中的表结构后,运行此命令自动完成迁移:
|
|
|
|
|
|
```bash
|
|
|
|
|
|
python db_manager.py sync
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**分步操作**
|
|
|
|
|
|
如果您需要更精细的控制:
|
|
|
|
|
|
|
|
|
|
|
|
* **初始化环境** (仅首次): `python db_manager.py init`
|
|
|
|
|
|
* **生成迁移脚本**: `python db_manager.py make "修改说明"`
|
|
|
|
|
|
* **执行数据库变更**: `python db_manager.py up`
|
|
|
|
|
|
|
|
|
|
|
|
### 系统配置更新
|
|
|
|
|
|
AI 模型、提示词模板等配置已移至数据库的 `system_dicts` 表中。
|
|
|
|
|
|
* 请登录 **Web 后台管理界面** (`/rbac`) 进行可视化的添加和修改。
|
|
|
|
|
|
* 或直接操作数据库更新 `system_dicts` 表。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 📂 目录结构说明
|
|
|
|
|
|
|
|
|
|
|
|
* `app.py`: 应用入口
|
|
|
|
|
|
* `config.py`: 配置文件
|
|
|
|
|
|
* `models.py`: 数据库模型定义
|
|
|
|
|
|
* `blueprints/`: 路由蓝图 (API 接口)
|
|
|
|
|
|
* `api.py`: 核心业务接口 (Controller)
|
|
|
|
|
|
* `admin.py`: 后台管理接口
|
|
|
|
|
|
* `auth.py`: 认证接口
|
|
|
|
|
|
* `services/`: 业务逻辑层 (Service)
|
|
|
|
|
|
* `task_service.py`: 异步任务处理 (生图/视频)
|
|
|
|
|
|
* `generation_service.py`: 生成请求验证与计费
|
|
|
|
|
|
* `system_service.py`: 系统配置与通知
|
|
|
|
|
|
* `history_service.py`: 历史记录查询
|
|
|
|
|
|
* `templates/`: 前端 HTML 模板
|
|
|
|
|
|
* `static/`: 静态资源 (JS/CSS)
|
2026-03-13 22:16:08 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 📡 API 端点概览
|
|
|
|
|
|
|
|
|
|
|
|
| 端点 | 方法 | 说明 |
|
|
|
|
|
|
|------|------|------|
|
|
|
|
|
|
| `/api/task_status/<task_id>` | GET | 查询任务状态 |
|
|
|
|
|
|
| `/api/config` | GET | 获取系统配置 |
|
|
|
|
|
|
| `/api/upload` | POST | 上传图片文件 |
|
|
|
|
|
|
| `/api/generate` | POST | 图像生成 |
|
|
|
|
|
|
| `/api/video/generate` | POST | 视频生成 |
|
|
|
|
|
|
| `/api/notifications/latest` | GET | 获取最新通知 |
|
|
|
|
|
|
| `/api/history` | GET | 查询历史记录 |
|
|
|
|
|
|
| `/api/stats/points` | GET | 获取用户积分 |
|
|
|
|
|
|
| `/api/stats/details` | GET | 获取积分明细 |
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 🤖 支持的 AI 模型
|
|
|
|
|
|
|
|
|
|
|
|
项目支持多种 AI 模型,配置存储在数据库 `system_dicts` 表中:
|
|
|
|
|
|
|
|
|
|
|
|
- **图像生成**: DALL-E、Stable Diffusion、Midjourney 等
|
|
|
|
|
|
- **视频生成**: Runway、Pika 等
|
|
|
|
|
|
- **聊天模型**: GPT 系列、Claude 系列、Gemini 系列
|
|
|
|
|
|
- **图像预览**: gemini-3.1-flash-image-preview
|