181 lines
4.1 KiB
Markdown
181 lines
4.1 KiB
Markdown
# AI海报生成系统
|
||
|
||
## 概述
|
||
|
||
AI海报生成系统集成DeepSeek、Kimi、ComfyUI三大AI模型,一键生成Vue组件代码和PSD文件。
|
||
|
||
**核心功能**:
|
||
- 🤖 **AI驱动**: DeepSeek分析 + Kimi文案 + ComfyUI图片
|
||
- 🎨 **一键生成**: 输入需求 → Vue代码 + PSD文件
|
||
- 📱 **REST API**: 统一接口,支持前端集成
|
||
- 🎭 **预定义模板**: lotus.jpg, nku.png, stamp.jpg, background.png
|
||
- 🖼️ **自动合成**: 多图层PSD文件生成
|
||
|
||
## 系统架构
|
||
|
||
```
|
||
前端 → FastAPI(8000) → AI模型集群
|
||
↓
|
||
Vue代码 + PSD文件
|
||
```
|
||
|
||
## 快速开始
|
||
|
||
### 环境准备
|
||
```bash
|
||
# 创建虚拟环境
|
||
conda create -n ai_service python=3.11
|
||
conda activate ai_service
|
||
|
||
# 安装依赖
|
||
pip install -r requirements.txt
|
||
|
||
# 配置API密钥
|
||
cp .env.example .env
|
||
# 编辑 .env 文件,添加:
|
||
# DEEPSEEK_API_KEY=your_key
|
||
# MOONSHOT_API_KEY=your_key
|
||
```
|
||
|
||
### 启动服务
|
||
```bash
|
||
cd scripts
|
||
python run_pipeline.py # 选择: 2 (API服务器)
|
||
```
|
||
|
||
### 验证服务
|
||
```bash
|
||
curl http://localhost:8000/health
|
||
```
|
||
|
||
## API使用
|
||
|
||
### 生成海报
|
||
```bash
|
||
curl -X POST http://localhost:8000/api/generate-poster \
|
||
-H "Content-Type: application/json" \
|
||
-d '{"user_input": "端午节海报,传统风格"}'
|
||
```
|
||
|
||
### 下载文件
|
||
```bash
|
||
curl "http://localhost:8000/api/download/psd?session_id=SESSION_ID" -o poster.psd
|
||
curl "http://localhost:8000/api/download/vue?session_id=SESSION_ID" -o poster.vue
|
||
```
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
ai_service/
|
||
├── scripts/ # 核心脚本
|
||
│ ├── run_pipeline.py # API服务器
|
||
│ ├── utils.py # 工具函数
|
||
│ ├── generate_layout.py # Vue代码生成
|
||
│ ├── generate_text.py # 文案生成
|
||
│ ├── flux_con.py # 图片生成
|
||
│ └── export_psd_from_json.py # PSD合成
|
||
├── configs/ # 配置文件
|
||
│ ├── vue_templates.yaml # Vue模板
|
||
│ └── font.yaml # 字体配置
|
||
├── outputs/ # 输出目录
|
||
└── workflows/ # ComfyUI工作流
|
||
```
|
||
|
||
## 核心模块
|
||
|
||
| 模块 | 功能 | AI模型 |
|
||
|------|------|--------|
|
||
| `utils.py` | 用户输入分析 | DeepSeek |
|
||
| `flux_con.py` | 图片生成 | ComfyUI |
|
||
| `generate_text.py` | 文案生成 | Kimi |
|
||
| `generate_layout.py` | Vue代码生成 | DeepSeek |
|
||
| `export_psd_from_json.py` | PSD合成 | - |
|
||
|
||
## 使用示例
|
||
|
||
### JavaScript调用
|
||
```javascript
|
||
const response = await fetch('http://localhost:8000/api/generate-poster', {
|
||
method: 'POST',
|
||
headers: { 'Content-Type': 'application/json' },
|
||
body: JSON.stringify({ user_input: "春节海报,红色背景" })
|
||
});
|
||
|
||
const result = await response.json();
|
||
console.log('Vue代码:', result.data.vue_code);
|
||
```
|
||
|
||
### Python调用
|
||
```python
|
||
import requests
|
||
|
||
response = requests.post('http://localhost:8000/api/generate-poster',
|
||
json={"user_input": "端午节海报,传统风格"})
|
||
result = response.json()
|
||
|
||
if result["status"] == "success":
|
||
print("生成成功!")
|
||
print("Vue代码:", result["data"]["vue_code"])
|
||
```
|
||
|
||
### 本地测试
|
||
```bash
|
||
cd scripts
|
||
python run_pipeline.py # 选择: 1 (本地测试)
|
||
# 输入: "春节海报,红色背景,现代风格"
|
||
```
|
||
|
||
## 部署
|
||
|
||
### Docker部署
|
||
```dockerfile
|
||
FROM python:3.11
|
||
WORKDIR /app
|
||
COPY . .
|
||
RUN pip install -r requirements.txt
|
||
EXPOSE 8000
|
||
CMD ["uvicorn", "scripts.run_pipeline:app", "--host", "0.0.0.0", "--port", "8000"]
|
||
```
|
||
|
||
### PM2部署
|
||
```bash
|
||
pm2 start "uvicorn scripts.run_pipeline:app --host 0.0.0.0 --port 8000" --name poster-api
|
||
```
|
||
|
||
### Nginx反向代理
|
||
```nginx
|
||
server {
|
||
listen 80;
|
||
location / {
|
||
proxy_pass http://localhost:8000;
|
||
}
|
||
}
|
||
```
|
||
|
||
## 故障排查
|
||
|
||
### 常见问题
|
||
```bash
|
||
# 检查API密钥
|
||
echo $DEEPSEEK_API_KEY
|
||
|
||
# 测试ComfyUI连接
|
||
curl http://101.201.50.90:8188/system_stats
|
||
|
||
# 检查端口占用
|
||
netstat -tulpn | grep 8000
|
||
```
|
||
|
||
## 更新日志
|
||
|
||
### v2.0.0 (2025-07-03)
|
||
- ✅ 重构代码结构,移除冗余代码
|
||
- ✅ 新增预定义Vue模板系统
|
||
- ✅ 优化工具函数模块化
|
||
- ✅ 简化API接口设计
|
||
|
||
### v1.0.0 (2025-01-02)
|
||
- ✅ 集成DeepSeek + Kimi + ComfyUI
|
||
- ✅ 统一API接口设计
|
||
- ✅ 支持Vue组件和PSD文件生成
|