2026-07-17 16:43:39 +08:00
|
|
|
|
---
|
|
|
|
|
|
id: T-658c
|
|
|
|
|
|
title: 商品套图多图参考生成计划与提示词一致性
|
2026-07-17 17:06:47 +08:00
|
|
|
|
status: DONE
|
2026-07-17 16:43:39 +08:00
|
|
|
|
phase: 7
|
|
|
|
|
|
deps: [T-655, T-656, T-657, T-658b]
|
|
|
|
|
|
created: 2026-07-17
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
# T-658c 商品套图多图参考生成计划与提示词一致性
|
|
|
|
|
|
|
|
|
|
|
|
## 问题 / 背景
|
|
|
|
|
|
|
|
|
|
|
|
当前 `{参考图规则}` 已由 T-657 统一带有 `参考图规则:` 前缀,但内容只覆盖单图。多图提交后,最终提示词必须准确说明主图和参考图数量,且预览内容要与新建 job 使用同一套 context。
|
|
|
|
|
|
|
|
|
|
|
|
## 方案
|
|
|
|
|
|
|
|
|
|
|
|
- 由统一 helper 根据“逐图主图勾选状态、实际可用图片数量、cmhub 裁剪上限”生成参考图规则。
|
|
|
|
|
|
- 单图保持 T-657 的现有中文表述和前缀:`参考图规则:当前上传图片是本任务唯一主参考图;...`。
|
|
|
|
|
|
- 多图使用明确的序号规则:第 1 张为主商品图,第 2 至 N 张仅作风格、构图、场景或排版参考,不得替换主商品。
|
|
|
|
|
|
- `build_job_specs()` 与提示词设置弹窗共用同一 context 构造函数,不能在 GUI 和生成层分别拼接规则。
|
|
|
|
|
|
- 预览没有图片资产时按 0/1 张显示单图规则;正式生成时以实际提交数量为准。
|
|
|
|
|
|
- 白底图、场景图、模特场景图、细节说明图、卖点图和自定义分类继续使用现有目标描述与数量配置。
|
|
|
|
|
|
- 确认弹窗的数量和点数仍按 job 请求数计算;超过 8 张时说明仅使用前 7 张参考图。
|
|
|
|
|
|
|
|
|
|
|
|
## 验收要点
|
|
|
|
|
|
|
|
|
|
|
|
- 单图、3 张、8 张上传图的 prompt 规则分别准确。
|
|
|
|
|
|
- 勾选逐图主图时每个 job 都使用单图规则;不勾选时使用多图规则。
|
|
|
|
|
|
- 预览 prompt 与实际 `build_job_specs()` 生成的 prompt 完全一致。
|
|
|
|
|
|
- 上传 1 张时两种模式行为一致,不出现空参考图描述。
|
|
|
|
|
|
- 当前 T-657 的变量清单、必需变量、`生成目标:{套图名称},{生成目标}` 格式不回退。
|
|
|
|
|
|
|
|
|
|
|
|
## 边界(不改什么)
|
|
|
|
|
|
|
|
|
|
|
|
- 不新增或删除提示词占位符。
|
|
|
|
|
|
- 不改变 cmhub 接口 payload、数据库迁移和蝦皮/CDP 操作。
|
|
|
|
|
|
- 不实现多 SKU 自动识别和图片语义分组。
|
|
|
|
|
|
|
|
|
|
|
|
## 验证
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
py -3.10 -m unittest tests.test_product_suite
|
|
|
|
|
|
py -3.10 -m unittest tests.test_product_suite_gui
|
|
|
|
|
|
py -3.10 -m ruff check app tests main.py
|
|
|
|
|
|
py -3.10 -m compileall app main.py
|
|
|
|
|
|
git diff --check
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 执行记录
|
|
|
|
|
|
|
2026-07-17 17:06:47 +08:00
|
|
|
|
- 2026-07-17:新增 `product_suite_reference_rule()` 与参考图数量计算 helper,单图和多图规则都保留 `参考图规则:` 前缀;多图规则中的 N 以实际提交总图片数渲染。
|
|
|
|
|
|
- 2026-07-17:`build_job_specs()` 以冻结的 `reference_asset_ids` 数量构建 job prompt;提示词设置弹窗接收当前可用原图数并使用同一 context,预览与新 job prompt 保持一致。
|
|
|
|
|
|
- 2026-07-17:补充单图、逐图主图、多图及3张原图预览一致性测试;同步路由、架构和 API 文档。
|
|
|
|
|
|
- 验证通过:`py -3.10 -m unittest tests.test_product_suite tests.test_product_suite_gui`(66项)、`py -3.10 -m ruff check app tests main.py`、`py -3.10 -m compileall app main.py`、`git diff --check`。离屏 GUI 测试有 Qt 字体/插件告警,但无测试失败。
|