v110-v112 自定义模式完善 + 模板导出增强 + 多模态兼容优化
- 自定义模式:分析模型输出 delta 唯一改动指令,生图模板 custom_image_prompt.md({delta} 占位符),不再使用负向提示词;generate_design 按 custom_mode 分支,Pinterest 模式保留原创化指令,两模式互不影响
- 多模态分析 response_format 三级回退(json_schema → json_object → none),兼容 DeepSeek
- 模板导出:details 扩展列(细节1/2/3)、target_audience 扩展列(适用人群1)、固定值风格1=休闲/风格2=运动
- 童装特征库更新 + 标题模板外部化 + 图源映射增强
This commit is contained in:
@@ -98,13 +98,17 @@ START → pinterest_init → pinterest_custom_load → pinterest_analyze
|
||||
保证用户每次重新上传/选择的所有有效图片都会被重新多模态分析;分析批上限按「选品清单总数」截断,
|
||||
避免对多余图片浪费配额。`pinterest_custom_route` 只在 wait / analyze / done 间流转,从不 search。
|
||||
|
||||
**自定义模式提示词独立**:
|
||||
**自定义模式提示词独立(与 Pinterest 模式完全隔离,互不影响)**:
|
||||
- **多模态分析提示词**:`prompts/custom_analyze_system.md` / `prompts/custom_analyze_user.md`
|
||||
(与 Pinterest 模式的 `pinterest_analyze_*` 完全独立,互不影响);
|
||||
- **生图提示词模板**:`config.yaml` 的 `custom.prompt_pieces`(`image_prompt_template` /
|
||||
`negative_prompt`)可编辑——以参考图片的整体氛围/主题/时代/风格类型为灵感,**明确禁止复制或模仿**
|
||||
参考图片的印刷 artwork、角色、布局、文字及服装/模特等元素,仅基于观察到的主题/技术/调色板/布局
|
||||
生成新设计;留空回退代码内置 `CUSTOM_IMAGE_PROMPT_TEMPLATE` / `CUSTOM_NEGATIVE_PROMPT`。
|
||||
(与 Pinterest 模式的 `pinterest_analyze_*` 完全独立)——分析模型只输出**唯一改动指令**
|
||||
`{"delta": "<一句话>"}`(同主题换姿态 / 换主体 / 换文字 / 改构图,优先保最小改动,绝不复制原图);
|
||||
- **生图提示词模板**:`prompts/custom_image_prompt.md`(优先,可编辑)→
|
||||
`config.custom.prompt_pieces.image_prompt_template` → 代码内置默认。模板含 `{delta}` 占位符,
|
||||
运行时用分析产出的 delta 替换——以参考图印花为基底,只应用 delta 这一处改动,其余
|
||||
(布局 / 元素位置 / 配色 / 阴影 / 纹理 / 线条 / 文字排版)保持不变;
|
||||
- **不再使用负向提示词**:约束已全部内置进生图模板,`composite_negative` 置空;
|
||||
- **模式隔离**:`generate_design` 按 `custom_mode` 分支——Pinterest 模式保留「原创化指令」
|
||||
(防止复制原图),自定义模式不追加(模板已内置防复制约束),两个模式的生图行为互不影响。
|
||||
|
||||
## 目录结构
|
||||
|
||||
@@ -127,6 +131,7 @@ pod_trend_agent/
|
||||
├── prompts/pinterest_analyze_user.md # 多模态分析用户提示词,可配置
|
||||
├── prompts/custom_analyze_system.md # 自定义模式多模态分析系统提示词(独立于 Pinterest)
|
||||
├── prompts/custom_analyze_user.md # 自定义模式多模态分析用户提示词(独立于 Pinterest)
|
||||
├── prompts/custom_image_prompt.md # ★ 自定义模式生图提示词模板({delta} 占位符,可编辑)
|
||||
├── prompts/title_prompt_1.md # ★ 标题生成提示词(英语市场 US/GB/AU/MX)
|
||||
├── prompts/title_prompt_2.md # ★ 标题生成提示词(日本市场 JP)
|
||||
├── prompts/title_prompt_3.md # ★ 标题生成提示词(西班牙市场 ES)
|
||||
@@ -209,6 +214,12 @@ Pinterest 参考模式与自定义图片模式的多模态分析提示词已**
|
||||
`image_prompt` 二段式结构 / `suitable_for_print` 判定标准等约束(多模态分析不再产出
|
||||
`negative_prompt`,生图负向约束由固定 `print_suffix` 承担)。
|
||||
|
||||
**多模态分析 response_format 三级回退**(`openai_compat_backend.analyze_pinterest_images`):
|
||||
1. `json_schema`(OpenAI 原生 strict 输出)→ 2. `json_object`(部分兼容厂商支持,但要求提示词含
|
||||
"json",自动追加 "Return your answer as a JSON object.",兼容 DeepSeek)→ 3. 无 `response_format`
|
||||
(依赖 `_extract_json` 兜底解析)。DeepSeek 等厂商直接 json_schema 会 400
|
||||
"This response_format type is unavailable now",三级回退保证分析不中断。
|
||||
|
||||
## 标题生成提示词(可配置)
|
||||
|
||||
标题生成提示词已**外部化为独立文件**,无需改代码即可调优:
|
||||
@@ -305,6 +316,11 @@ config.yaml。模板内 `{year}`/`{month}`/`{season}` 占位符运行时自动
|
||||
- **SPU 商品属性字段映射**:`placket_type→门襟类型`、`sleeve_type→袖型`、`sleeve_length_type→袖长`、
|
||||
`breast_pad→胸垫`、`layout→版型`、`silhouette→廓形`、`length_type→长度`、`belt→腰带`、
|
||||
`occasion→场合`、`scene→场景`、`hemline_shape→下摆形状`,各字段独立不覆盖;
|
||||
- **details 扩展列**:精确匹配「细节1 / 细节2 / 细节3」列(`_find_details_headers`),匹配到即全部填
|
||||
`spu.details` 值(同一详情写多个扩展列);
|
||||
- **target_audience 扩展列**:精确匹配「适用人群1」列(`_find_target_audience_headers`),匹配到即填
|
||||
`target_audience` 映射后的值(童装按性别映射,见下);
|
||||
- **固定值风格列**:匹配到「风格1」列统一填「休闲」、匹配到「风格2」列统一填「运动」;
|
||||
- **季节映射(女装)**:`spu.season` 的「四季」→「ALL/全球/所有」(`config.yaml` 的 `season_map.female` 可配置);
|
||||
- **印花图案映射(女装)**:`spu.pattern` 为「印花」时 →「卡通」(`pattern_map` 可配置);
|
||||
- **适用人群映射(童装)**:`spu.target_audience` 按童装性别映射(`target_audience_map.kids` 可配置),
|
||||
|
||||
Reference in New Issue
Block a user