Go to file
2025-07-02 22:05:43 +08:00
configs run_pipline本地流程可以跑通,增加前端接口 2025-07-02 22:05:43 +08:00
outputs run_pipline本地流程可以跑通,增加前端接口 2025-07-02 22:05:43 +08:00
scripts run_pipline本地流程可以跑通,增加前端接口 2025-07-02 22:05:43 +08:00
workflows run_pipline本地流程可以跑通,增加前端接口 2025-07-02 22:05:43 +08:00
.DS_Store 初始化提交 2025-05-14 12:15:20 +08:00
.env 初步实现 LLM调用生成海报文案 2025-05-28 21:42:26 +08:00
.gitignore 初步实现 LLM调用生成排版 react 代码 2025-05-19 23:28:21 +08:00
API_文档.md run_pipline本地流程可以跑通,增加前端接口 2025-07-02 22:05:43 +08:00
Linux部署指南.md run_pipline本地流程可以跑通,增加前端接口 2025-07-02 22:05:43 +08:00
README.md run_pipline本地流程可以跑通,增加前端接口 2025-07-02 22:05:43 +08:00
requirements.txt 合并代码仓库 2025-07-01 22:54:02 +08:00
requirments.txt 合并代码仓库 2025-07-01 22:54:02 +08:00
接口文档.md run_pipline本地流程可以跑通,增加前端接口 2025-07-02 22:05:43 +08:00
部署方案.md run_pipline本地流程可以跑通,增加前端接口 2025-07-02 22:05:43 +08:00

AI海报生成系统

🎯 项目概述

AI海报生成系统是一个集成多个AI模型的智能海报生成平台能够根据用户输入一键生成Vue组件代码和PSD文件。

核心特性:

  • 🤖 AI驱动: 集成DeepSeek、Kimi、ComfyUI三大AI模型
  • 🎨 一键生成: 输入需求自动生成Vue代码和PSD文件
  • 📱 前端友好: 提供统一的REST API接口
  • 🎭 智能排版: 自动生成响应式Vue组件布局
  • 🖼️ 图片合成: 自动生成图片并合成PSD文件
  • ✍️ 文案优化: AI生成适配的标题和文案内容

🏗️ 系统架构

┌─────────────┐    HTTP请求    ┌──────────────┐    调用AI服务    ┌─────────────┐
│    前端     │ ─────────────→ │  FastAPI服务器 │ ─────────────→ │  AI模型集群  │
│  (Vue/React) │                │  (8000端口)   │                │             │
└─────────────┘                └──────────────┘                └─────────────┘
                                       │                              │
                                       ▼                              ▼
                              ┌──────────────┐                ┌─────────────┐
                              │   会话管理    │                │ ComfyUI图片  │
                              │   文件存储    │                │ 生成服务     │
                              └──────────────┘                │ (101.201.50.90) │
                                                             └─────────────┘

🚀 快速开始

环境准备

  1. Python环境
# 创建虚拟环境
conda create -n ai_service python=3.11
conda activate ai_service

# 安装依赖
pip install -r requirements.txt
  1. 环境配置
# 复制环境变量文件
cp .env.example .env

# 配置API密钥编辑.env文件
DEEPSEEK_API_KEY=your_deepseek_api_key
MOONSHOT_API_KEY=your_kimi_api_key

启动服务

方式1: 交互式启动

cd scripts
python run_pipeline.py
# 选择: 2 (API服务器模式)

方式2: 直接启动API服务器

cd scripts
uvicorn run_pipeline:app --host 0.0.0.0 --port 8000 --reload

验证服务

# 健康检查
curl http://localhost:8000/health

# 查看API信息
curl http://localhost:8000/

📋 主要功能

1. 智能需求分析

  • 使用DeepSeek模型分析用户输入
  • 提取主题、风格、尺寸等关键信息
  • 生成结构化的设计参数

2. AI图片生成

  • 调用ComfyUI服务(101.201.50.90:8188)
  • 根据分析结果生成高质量图片
  • 支持多种风格和主题

3. 智能文案生成

  • 使用Kimi模型生成文案内容
  • 智能选择字体和颜色搭配
  • 支持多层级文案结构

4. Vue组件生成

  • 使用DeepSeek生成Vue 3组件代码
  • 响应式布局设计
  • 完整的template、script、style结构

5. PSD文件合成

  • 自动合成多图层PSD文件
  • 支持手动PSD模板优先
  • 包含预览图片生成

🛠️ 使用方法

API调用

// 一键生成海报
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();

if (result.status === 'success') {
  // 获取Vue代码
  console.log('Vue代码:', result.data.vue_code);
  
  // 获取文案建议
  console.log('文案建议:', result.data.suggestions);
  
  // 下载PSD文件
  const downloadUrl = `http://localhost:8000/api/download/psd?session_id=${result.session_id}`;
  window.open(downloadUrl);
}

本地开发测试

cd scripts
python run_pipeline.py
# 选择: 1 (本地测试模式)
# 输入: "春节海报,红色背景,现代风格"

📁 项目结构

ai_service/
├── scripts/                    # 核心脚本
│   ├── run_pipeline.py         # 主服务入口和API服务器
│   ├── prompt_analysis.py      # 用户输入分析 (DeepSeek)
│   ├── flux_con.py            # 图片生成 (ComfyUI)
│   ├── generate_text.py       # 文案生成 (Kimi)
│   ├── generate_layout.py     # Vue代码生成 (DeepSeek)
│   └── export_psd_from_json.py # PSD文件合成
├── configs/                   # 配置文件
│   ├── font.yaml             # 字体配置
│   └── example.json          # 配置示例
├── outputs/                  # 输出目录
│   ├── session_*/           # 会话相关文件
│   ├── *.psd               # 生成的PSD文件
│   ├── *.vue               # 生成的Vue组件
│   └── *.png               # 生成的图片
├── workflows/               # ComfyUI工作流
│   ├── flux_work.json      # 主要工作流配置
│   └── temp/               # 临时工作流文件
├── README.md               # 项目说明
├── requirements.txt        # Python依赖
├── API_文档.md            # API使用文档
├── 接口文档.md            # 接口技术文档
└── 部署方案.md            # 部署指南

🔧 核心模块

1. prompt_analysis.py

  • 功能: 使用DeepSeek分析用户输入
  • 输入: 用户描述文本
  • 输出: 结构化分析结果
user_input_analysis_result = llm_user_analysis("端午节海报,传统风格")

2. flux_con.py

  • 功能: 调用ComfyUI生成图片
  • 输入: 分析结果和系统提示
  • 输出: 图片文件列表
parse_imglist = comfyui_img_info(user_input_analysis_result, system_prompt)

3. generate_text.py

  • 功能: 使用Kimi生成文案建议
  • 输入: 分析后的提示词
  • 输出: 分层文案内容
suggestions = get_poster_content_suggestions(analyzed_prompt)

4. generate_layout.py

  • 功能: 使用DeepSeek生成Vue组件
  • 输入: 布局提示词
  • 输出: 完整Vue组件代码
vue_code = generate_vue_code(prompt)

5. export_psd_from_json.py

  • 功能: 合成PSD文件
  • 输入: 图片路径列表
  • 输出: PSD文件
create_psd_from_images(image_paths, output_path, canvas_size)

🌐 API接口

主要接口

接口 方法 功能 状态
/api/generate-poster POST 一键生成海报
/api/download/{type} GET 文件下载
/api/status/{session_id} GET 会话状态
/health GET 健康检查

请求示例

# 生成海报
curl -X POST http://localhost:8000/api/generate-poster \
  -H "Content-Type: application/json" \
  -d '{"user_input": "春节海报,红色背景,现代风格"}'

# 下载PSD文件  
curl "http://localhost:8000/api/download/psd?session_id=SESSION_ID" \
  --output poster.psd

🎨 使用示例

1. 传统节日海报

输入: "端午节海报,传统风格,包含荷花和龙舟"
输出: 传统中式风格的Vue组件 + 精美PSD文件

2. 现代活动海报

输入: "科技大会海报,现代简约风格,蓝色主题"
输出: 现代简约风格的Vue组件 + 科技感PSD文件

3. 节庆祝福海报

输入: "春节祝福海报,红色背景,包含灯笼烟花"
输出: 喜庆风格的Vue组件 + 节日氛围PSD文件

🚀 部署方案

开发环境

# 本地启动
python scripts/run_pipeline.py
# 访问: http://localhost:8000

生产环境

Docker部署

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"]
# 构建和运行
docker build -t ai-poster-generator .
docker run -p 8000:8000 ai-poster-generator

PM2部署

# 安装PM2
npm install -g pm2

# 启动服务
pm2 start "uvicorn scripts.run_pipeline:app --host 0.0.0.0 --port 8000" --name poster-api

# 开机自启
pm2 startup
pm2 save

反向代理Nginx

server {
    listen 80;
    server_name your-domain.com;
    
    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

🔍 故障排查

常见问题

  1. API密钥错误
# 检查环境变量
echo $DEEPSEEK_API_KEY
echo $MOONSHOT_API_KEY
  1. ComfyUI连接失败
# 测试ComfyUI连接
curl http://101.201.50.90:8188/system_stats
  1. PSD生成失败
# 检查pytoshop安装
pip show pytoshop psd-tools
  1. 端口被占用
# 查找占用端口的进程
netstat -tulpn | grep 8000
# 或使用其他端口
uvicorn run_pipeline:app --port 8001

日志查看

# 查看实时日志
tail -f logs/app.log

# 检查错误日志
grep -i error logs/app.log

🤝 贡献指南

开发环境搭建

# 克隆项目
git clone <repository-url>
cd ai_service

# 安装开发依赖
pip install -r requirements.txt
pip install -r requirements-dev.txt

# 运行测试
pytest tests/

代码规范

  • 使用Python 3.11+
  • 遵循PEP 8代码风格
  • 添加类型注解
  • 编写单元测试

📄 License

MIT License - 详见 LICENSE 文件

📞 联系方式

  • 项目维护: AI海报生成系统团队
  • 技术支持: 查看API文档接口文档
  • 问题反馈: 提交Issue到项目仓库

📝 更新日志

v1.0.0 (2025-01-02)

  • 集成DeepSeek + Kimi + ComfyUI
  • 统一API接口设计
  • 支持Vue组件生成
  • 支持PSD文件合成
  • 完整的会话管理
  • 丰富的文档和示例

近期规划

  • 🔄 支持更多图片风格
  • 🔄 增加文案模板库
  • 🔄 优化PSD分层效果
  • 🔄 增加批量生成功能