一、项目是什么

这是一个灵衍AI图片生成API服务,用于服装设计。

核心流程:

用户请求 → FastAPI接收 → Redis存储 → RabbitMQ排队 → Worker处理 → 豆包AI生成 → 返回结果

二、核心文件及作用

文件 作用
src/api/main.py API入口,接收HTTP请求
src/validation/validation.py 校验参数,构建提示词
src/core/task_manager.py 任务生命周期管理
src/core/doubao_client.py 调用豆包AI
src/core/redis_client.py Redis操作
config/settings.py 集中配置管理

三、validation.py 核心逻辑

这个文件是提示词构建的核心

3.1 build_prompt_for_tool() 方法

根据不同功能,把各个参数拼接成完整的提示词:

def build_prompt_for_tool(self, tool_name: str) -> str:
    if tool_name == "AI服装设计":
        parts = []
        if self.creative_description:
            parts.append(self.creative_description)
        if self.design_features:
            parts.append(self.design_features)
        if self.creation_style:
            parts.append(self.creation_style)
        return ", ".join(parts) if parts else self.prompt

    elif tool_name == "线稿转实物":
        parts = []
        if self.creative_description:
            parts.append(self.creative_description)
        if self.sketch_type:
            parts.append(self.sketch_type)
        if self.sketch_style:
            parts.append(self.sketch_style)
        if self.image_type:
            parts.append(self.image_type)
        if self.creation_style:
            parts.append(self.creation_style)
        return ", ".join(parts) if parts else self.prompt

四、Bug 修复(AI服装设计-领口畸形)

4.1 Bug 现象

用户使用"AI服装设计"功能生成 Polo 衫时:

  • 领子左右不对称
  • V字领歪斜
  • 领尖角度不一致
  • 缝合效果不自然
4.2 问题根因

这是AI生成图片的对称性不足导致的典型问题。AI在生成细节时随机性太大,导致结构不准确。

4.3 解决方案

build_prompt_for_tool() 方法中,给"AI服装设计"功能追加约束性提示词

4.4 代码改动

修改前:

elif tool_name == "AI服装设计":
    parts = []
    if self.creative_description:
        parts.append(self.creative_description)
    if self.design_features:
        parts.append(self.design_features)
    if self.creation_style:
        parts.append(self.creation_style)
    return ", ".join(parts) if parts else self.prompt

修改后:

elif tool_name == "AI服装设计":
    parts = []
    if self.creative_description:
        parts.append(self.creative_description)
    if self.design_features:
        parts.append(self.design_features)
    if self.creation_style:
        parts.append(self.creation_style)
    # 【修复】追加约束性提示词,解决领口畸形问题
    parts.append("左右严格对称,结构工整,服装细节清晰")
    return ", ".join(parts) if parts else self.prompt
4.5 修复流程

1. 发现问题 → 用户反馈Polo衫领口畸形
         ↓
2. 分析问题 → 确认是AI对称性不足
         ↓
3. 设计提示词 → "左右严格对称,结构工整,服装细节清晰"
         ↓
4. 定位代码 → 找到 validation.py 中的 build_prompt_for_tool()
         ↓
5. 修改代码 → 在 return 之前添加提示词
         ↓
6. 测试验证 → 重启服务,curl 测试
         ↓
7. 提交代码 → git add → git commit → git push
4.6 为什么这个提示词有效?
提示词 作用 影响设计内容吗
左右严格对称 约束结构对称性 ❌ 不影响
结构工整 约束整体准确度 ❌ 不影响
服装细节清晰 约束细节质量 ❌ 不影响

这个提示词只管"画得准不准",不管"设计成什么样",所以可以通用地应用到所有服装款式。


五、项目启动流程

每次重启电脑后需要启动:

# 1. Docker容器
docker start my-redis
docker start rabbitmq

# 2. API服务(窗口1)
cd e:\code\lingyan_webly
venv\Scripts\activate
python start_server.py

# 3. Worker(窗口2)
cd e:\code\lingyan_webly
venv\Scripts\activate
celery -A src.celery_app worker --loglevel=info --queues=webly_queue_server_a --pool=solo

六、Git 操作流程

# 1. 查看改动
git status                    # 看有哪些文件改动
git diff 文件名               # 看具体改动内容

# 2. 提交代码(只提交指定文件,不传doubao_test.py)
git add src/validation/validation.py   # 只添加指定文件
git status                    # 确认暂存区
git commit -m "AI服装设计追加提示词:左右严格对称,结构工整,服装细节清晰"

# 3. 推送代码
git push

七、遇到的问题及解决

问题 解决方式
依赖没安装 pip install -r requirements.txt
.env 文件名不对 把 aaa.env 改成 .env
Redis 没启动 Docker 启动 Redis 容器
RabbitMQ 权限没配置 用 rabbitmqctl 创建用户和虚拟主机
Worker 队列监听不对 指定 --queues=webly_queue_server_a
Windows Celery 权限报错 加参数 --pool=solo
没有仓库写权限 联系管理员要权限
远程有冲突 git pull 或 git push --force

八、调试技巧

  1. 加日志logger.info() 打印关键变量
  2. 看日志:观察数据流向,确定问题在哪一步
  3. curl 测试:绕过前端,直接测后端接口
  4. 分段排查:从请求 → 校验 → 队列 → Worker → AI 一步步排查

九、重要概念

概念 理解
API 应用程序接口,像餐厅的菜单
FastAPI Python Web 框架,用于接收请求
Redis 内存数据库,存临时数据
RabbitMQ 消息队列,像快递的中转站
Celery 任务队列框架,协调异步任务
Worker 后台干活的进程
Prompt Engineering 通过提示词引导AI生成正确结果

十、总结

今天你完成了:

  1. ✅ 理解项目整体架构
  2. ✅ 掌握核心文件作用
  3. ✅ 学会找bug的方法(加日志定位)
  4. ✅ 成功修复AI服装设计领口畸形bug
  5. ✅ 学会Git完整操作流程
  6. ✅ 掌握项目启动和调试方法
  7. ✅ 成功把代码提交到GitLab

恭喜你完成了第一次Bug修复! 🚀

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐