# AI 视界 (AI Vision) 项目指南 一个基于 Flask 的 AI 图像与视频生成平台,支持多种 AI 模型接入,提供用户管理、积分充值、任务调度等功能。 ## 功能特性 - **AI 图像生成** - 支持多种图像生成模型 - **AI 视频生成** - 支持视频生成任务 - **用户系统** - 注册、登录、积分管理 - **短信验证** - 阿里云短信验证码登录 - **支付系统** - 支付宝集成充值 - **任务队列** - Redis 异步任务处理 - **错误重试** - 智能错误处理与自动重试机制 - **后台管理** - RBAC 权限管理界面 ## 技术栈 - **后端**: Python 3.8+ / Flask - **数据库**: PostgreSQL + Redis - **存储**: MinIO 对象存储 - **任务队列**: Redis + 异步任务处理 - **AI API**: 多模型支持(图像/视频/聊天) ## 🚀 快速开始 ### 1. 环境准备 确保已安装 Python 3.8+ 和 PostgreSQL / Redis。 **创建虚拟环境** ```bash # 如果 python 命令不可用,请尝试使用 py python -m venv .venv # 或者 py -m venv .venv ``` **激活虚拟环境** (推荐) ```bash # Windows (PowerShell) .\.venv\Scripts\Activate.ps1 # Linux / Mac source .venv/bin/activate ``` **安装依赖** ```bash pip install -r requirements.txt ``` ### 2. 启动服务 **开发环境** ```bash python app.py ``` 服务默认运行在 `http://127.0.0.1:5000`。 **生产环境 (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` 实例。 --- ## 🛠️ 常用维护命令 ### 数据库管理 (推荐) 本项目内置了自动化数据库管理工具 `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) --- ## 📡 API 端点概览 | 端点 | 方法 | 说明 | |------|------|------| | `/api/task_status/` | 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