ai_v/README.md

139 lines
4.0 KiB
Markdown
Raw Normal View History

# 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/<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