合并分支

* Merge branch 'main' into cluster-gemini
* PERF 尝试修复gemini推理超出思考token上限的问题

---------

Merge request URL: https://g-ldyi2063.coding.net/p/dev/d/modalDeploy/git/merge/4811
Co-authored-by: 康宇佳
This commit is contained in:
2025-06-17 14:10:13 +08:00
committed by Coding
parent 66cf37873f
commit a0946960f5
2 changed files with 120 additions and 444 deletions

View File

@@ -464,10 +464,10 @@ class VideoUtils:
ffmpeg_cmd.input(local_m3u8_path,
ss=seek_head,
t=duration,
protocol_whitelist="file,http,https,tcp,tls",
reconnect="1", # 自动重连
reconnect_streamed="1",
reconnect_delay_max="5")
protocol_whitelist="file,http,https,tcp,tls")
# reconnect="1", # 自动重连
# reconnect_streamed="1",
# reconnect_delay_max="5")
filter_complex: List[str] = []
temp_outputs: List[str] = []

View File

@@ -31,7 +31,7 @@ with downloader_image.imports():
),
},
region="us",
cloud='aws'
cloud='gcp'
)
@modal.concurrent(max_inputs=1)
async def video_hls_slice_inference(media: MediaSource,
@@ -260,445 +260,121 @@ with downloader_image.imports():
},
{
"text": """<prompt>
<instruction>
你是一个专业的AI视频分析师具备强大的多模态理解能力。我上传了一个主播直播卖货的视频片段和多张商品图片。你需要分阶段进行精确的商品识别任务确保结果的准确性
**输入材料说明**
- 📹 **视频**:主播直播带货片段,包含音频、画面、动作等多维信息
- 🖼️ **商品图片网格**:包含多个商品的网格布局图片,关键特征:
* 每个商品占据一个独立的黑色边框区域
* 每个区域内包含:商品图片 + 商品名称文字
* 区域按网格排列(从左上角开始,按行排列)
* **重要**:只有黑色边框内的内容才是有效商品信息
- 📋 **商品列表**:标准商品名称参考清单,用于匹配图片中识别的商品
**🚨 核心分析原则**
1. **严格分阶段执行**:必须按照"图片解析 → 四维分析 → 最终检查"的顺序进行
2. **图片为绝对基准**:只有图片中明确存在的商品才能进入后续分析
3. **四维一致性验证**:材质、图片、视频、语音四个维度必须保持一致
4. **宁缺毋滥原则**:有任何疑问的商品都不得输出
**请充分发挥Gemini 2.5的优势,进行严格的分阶段分析**
## 🔍 第一阶段:图片解析与基础匹配(独立完成,不受其他信息干扰)
**🎯 阶段目标**:建立可靠的图片商品基础数据库
**📋 执行步骤**
1. **完全忽略商品列表和视频内容**,专注于图片分析
2. **逐个扫描黑色边框区域**
- 从左上角开始,按行扫描每个黑色边框区域
- 为每个区域分配序号1, 2, 3, 4...
- 精确提取每个区域内的所有文字信息
- 记录区域位置和文字内容的对应关系
3. **建立图片商品档案**
```
图片商品档案:
序号1: 位置(左上) | 文字内容: "XXXXX" | 视觉特征: 颜色/图案/款式
序号2: 位置(左上第二) | 文字内容: "XXXXX" | 视觉特征: 颜色/图案/款式
...
```
4. **与商品列表进行文字匹配**
- 将每个图片商品的文字内容与商品列表进行比对
- 只有高相似度匹配才建立关联关系
- 记录匹配成功和匹配失败的商品
5. **生成基础匹配表**
```
基础匹配表:
✅ 序号1: "图片文字""商品列表标准名称" (匹配度: 95%)
✅ 序号3: "图片文字""商品列表标准名称" (匹配度: 90%)
❌ 序号2: "图片文字" → 无匹配 (在商品列表中找不到对应项)
```
**🚨 第一阶段严格约束**
- 🚫 **绝对禁止**参考视频内容影响图片分析
- 🚫 **绝对禁止**基于商品列表推测图片中的商品
- 🚫 **绝对禁止**输出图片中没有明确文字标注的商品
- ✅ **必须确保**每个识别的商品都有明确的图片文字依据
- ✅ **必须确保**匹配表中的商品数量不超过图片中的黑色边框区域数量
## 🎬 第二阶段:四维融合分析(基于第一阶段的匹配表)
**🎯 阶段目标**:对匹配表中的商品进行四维一致性验证
**📋 执行步骤**
1. **仅处理匹配表中的商品**
- 只分析第一阶段成功匹配的商品
- 忽略匹配失败的商品
- 不得添加新的商品到分析范围
2. **逐个商品精确分析**
- **🚨 关键要求**:必须按照第一阶段的序号顺序,逐个分析每个商品
- **📍 位置对应**:严格按照图片中的位置序号,确保分析的是正确的商品
- **🔍 精确定位**:重新确认图片中该序号位置的商品特征,避免混淆
3. **四维信息精确收集**
- 📋 **材质维度**:从该商品的标准名称中提取材质信息(纯棉、莱赛尔、天丝等)
- 🖼️ **图片维度****重新仔细观察图片中该序号位置的商品**,提取其真实的视觉特征:
* **颜色**:该位置商品的实际颜色(白色、黑色、蓝色、粉色等)
* **图案**:该位置商品的实际图案(文字、动物、几何图案等)
* **款式**该位置商品的实际款式V领、圆领、短袖、长袖等
* **⚠️ 严格要求**:图片维度信息必须与图片中该序号位置的实际商品完全一致
- 📹 **视频维度**:识别视频中与该商品匹配的展示片段(款式细节、动态效果)
- 🎤 **语音维度**:提取主播对该商品的描述(特征、卖点)
4. **四维一致性严格验证**
```
商品A序号X四维验证
📍 位置确认: 图片序号X位置的商品特征
📋 材质一致性: 商品名称"纯棉" ↔ 视频质感"棉质" ✅一致
🖼️ 图片一致性: 图片序号X"实际特征" ↔ 视频"对应特征" ✅一致
📹 视频一致性: 视频"展示效果" ↔ 语音"描述内容" ✅一致
🎤 语音一致性: 语音"材质描述" ↔ 材质"标注信息" ✅一致
综合判断: 四维信息高度一致 → 保留
```
5. **生成验证结果**
```
四维验证结果:
✅ 商品A序号1: 四维一致性95% → 保留
✅ 商品B序号3: 四维一致性90% → 保留
❌ 商品C序号5: 四维一致性60% → 移除(图片特征与视频不符)
```
**🚨 第二阶段严格约束**
- 🚫 **绝对禁止**分析匹配表之外的商品
- 🚫 **绝对禁止**基于视频内容添加新商品
- 🚫 **绝对禁止**四维信息明显不一致的商品进入最终结果
- 🚫 **绝对禁止**图片维度信息与图片实际内容不匹配
- 🚫 **绝对禁止**将不同序号位置的商品特征混淆
- ✅ **必须确保**图片维度信息与图片中该序号位置的实际商品完全一致
- ✅ **必须确保**每个商品的四个维度信息都相互支撑
- ✅ **必须确保**四维一致性低于80%的商品被移除
- ✅ **必须确保**重新观察图片确认每个序号位置的真实特征
## 🔍 第三阶段:最终检查与输出生成
**🎯 阶段目标**:生成高质量的最终分析结果
**📋 执行步骤**
1. **最终商品清单确认**
- 只包含通过四维验证的商品
- 确认每个商品都有完整的匹配追溯链
- 验证商品数量的合理性
2. **时间段分析**
- 基于确认的商品清单进行视频时间段识别
- 精确定位每个商品的出现时间
- 标注时间段的内容类型
3. **质量保证检查**
```
最终质量检查:
✅ 图片依据检查: 每个商品都有图片文字依据
✅ 匹配关系检查: 每个商品都有商品列表对应项
✅ 四维一致性检查: 每个商品四维信息一致
✅ 时间段合理性检查: 时间段符合视频实际内容
```
4. **生成最终JSON结果**
**🚨 第三阶段严格约束**
- 🚫 **绝对禁止**输出未通过前两阶段验证的商品
- 🚫 **绝对禁止**在最终阶段添加新商品
- ✅ **必须确保**每个输出商品都有完整的验证链条
- ✅ **必须确保**JSON结构完全符合规范
**商品列表(标准名称参考):**
{0}
</instruction>
<rules>
<!-- 🚨 核心铁律充分利用Gemini 2.5能力)🚨 -->
<rule>**严格分阶段分析流程**
- 必须严格按照"第一阶段:图片解析与基础匹配 → 第二阶段:四维融合分析 → 第三阶段:最终检查与输出生成"的完整流程
- 每个阶段都有明确的输入、处理和输出要求,不得跨阶段混合处理
- 后一阶段只能基于前一阶段的输出结果进行分析,不得引入新的商品
- 输出必须体现完整的三阶段分析过程和验证结果
</rule>
<rule>**图片基础数据库驱动原则**
- **🔒 第一阶段独立性**:图片解析必须完全独立于视频内容和商品列表,避免先入为主
- **📋 基础匹配表权威性**:第一阶段生成的基础匹配表是后续所有分析的唯一数据源
- **🚫 严禁跨阶段添加商品**:第二、三阶段不得添加第一阶段未识别的商品
- **📍 位置序号严格对应**:第二阶段分析时必须严格按照第一阶段的序号位置,确保图片维度信息与实际位置完全匹配
- **🔍 图片特征重新确认**:第二阶段必须重新仔细观察图片中每个序号位置的商品,避免特征混淆
- **✅ 逐级验证机制**:每个阶段都有严格的验证标准,不符合标准的商品逐级淘汰
- **🔄 四维一致性门槛**:第二阶段的四维一致性验证是商品进入最终结果的必要条件
- **⚠️ 质量优先原则**:宁可输出较少但准确的商品,也不输出存疑的商品
</rule>
<rule>**结构化输出约束**
- JSON数组顺序必须严格遵循图片中的`image_order`序列
- 利用你的格式化能力确保输出结构的完美一致性
- 每个对象都必须包含完整的匹配追溯信息
</rule>
<rule>**多模态一致性验证**
- 图片信息、视频内容、商品列表三者必须保持逻辑一致
- 利用你的跨模态理解能力发现和解决潜在冲突
- 确保所有识别结果都能在多个信息源中得到验证
</rule>
<!-- 格式规则 -->
<rule>**高质量JSON结构化输出**
- 利用你的格式化优势生成完美的JSON数组 `[]`
- 每个商品对象 `{{}}` 必须包含:`match_info`, `product`, `timeline` 三个核心字段
- `match_info` 必须提供完整的匹配追溯:
* `image_order`: 图片中的序号位置
* `image_name`: 图片上显示的原始名称
* `matched_list_name`: 匹配到的标准列表名称
- `product` 字段值必须与 `matched_list_name` 保持绝对一致
- 充分利用你的结构化能力确保格式完全符合规范
</rule>
<rule>**严禁使用列表外商品名**输出的商品名称必须100%来自提供的商品列表,不得使用图片中的文字标注或其他任何名称。</rule>
<rule>**图片维度信息严格准确性**
- **📍 位置对应准确**:图片维度信息必须与图片中对应序号位置的商品完全一致,不得混淆不同位置的商品特征
- **🔍 重新观察确认**:在第二阶段分析每个商品时,必须重新仔细观察图片中该序号位置的实际特征
- **🚫 严禁特征混淆**绝对禁止将序号1位置的商品特征描述为序号2位置的特征或任何其他位置混淆
- **✅ 特征描述精确**:图片维度的颜色、图案、款式描述必须与该位置商品的实际视觉特征完全匹配
- **⚠️ 一致性验证**:如果图片维度信息与图片实际内容不符,该商品必须被移除
</rule>
<rule>**超精准视觉识别能力**充分利用Gemini 2.5的强大视觉理解能力进行细致分析:
- **🎨 极致色彩识别**
* 基础色彩:白色、黑色、灰色、米色、卡其色等中性色的精确区分
* 彩色系统:红、橙、黄、绿、蓝、紫及其深浅变化的准确识别
* 特殊色调:莫兰迪色、马卡龙色、大地色等流行色系的识别
* 渐变效果:扎染、渐变、晕染等特殊染色工艺的识别
- **🧵 图案花纹深度解析**
* 动物图案:鱼、猫、狗、蝴蝶、鸟类等具体动物形象的识别
* 植物图案:花朵、叶子、树木、藤蔓等植物元素的识别
* 几何图案:条纹、格子、波点、菱形、圆形等几何形状的识别
* 文字图案:英文单词、字母组合、数字、符号的具体内容识别
* 抽象图案:艺术图案、涂鸦、抽象线条等创意设计的识别
- **👔 款式结构精细分析**
* 领型细分圆领、V领、方领、一字肩、吊带、高领、翻领等
* 袖型细分:短袖、长袖、七分袖、五分袖、无袖、泡泡袖、灯笼袖等
* 版型细分修身、宽松、oversize、紧身、A字型、H型、X型等
* 裤型细分:直筒、阔腿、紧身、喇叭、工装、哈伦、萝卜等
* 裙型细分A字裙、包臀裙、百褶裙、蛋糕裙、鱼尾裙等
- **🔍 材质工艺识别**
* 面料材质:纯棉、丝绸、雪纺、牛仔、针织、莱赛尔、天丝等
* 表面工艺:压褶、拼接、刺绣、印花、烫钻、流苏等装饰工艺
* 质感特征:光滑、粗糙、柔软、挺括、有光泽、哑光等质感表现
- **📐 尺寸比例分析**
* 长度比例:短款、中长款、长款的具体长度判断
* 宽松程度:紧身、合身、宽松、超宽松的具体程度判断
* 细节尺寸:袖口、领口、下摆等细节部位的尺寸特征</rule>
<rule>**同款商品完整保留**:如果视频中主播穿着或介绍了商品列表中的多个同款不同色商品,必须在结果中保留所有相关商品,不能因为是同款就只选择其中一个。每个配色版本都有其独立的商业价值,都需要完整记录。</rule>
<rule>**图案配色匹配超精确度**:在判断商品匹配时要进行多层次精细分析:
- **🎯 第一层:图案主题识别** - 精确识别图案的核心主题:
* 动物主题:鱼类、猫咪、蝴蝶、鸟类等具体动物种类
* 植物主题:花朵、叶子、果实等具体植物元素
* 几何主题:条纹、格子、波点、菱形等具体几何形状
* 文字主题:英文单词、字母、数字、符号等具体文字内容
- **🎨 第二层:配色方案精确匹配** - 在图案主题相同基础上的颜色分析:
* 纯色款:主色调的精确匹配(白、黑、灰、蓝、粉、绿、黄、红等)
* 双色款:主色+辅色的组合匹配(如白底黑字、黑底白字、蓝底白字等)
* 多色款3种以上颜色的复杂配色方案匹配
* 渐变款:渐变色的起始色、结束色、渐变方向的匹配
- **📐 第三层:图案布局分析** - 图案在服装上的具体位置和大小:
* 位置分布:胸前、背后、袖子、下摆、全身等位置
* 图案大小:小图案、中等图案、大图案、满版图案
* 排列方式:单个、重复、对称、随机分布等
- **🔍 第四层:细节特征验证** - 图案的具体细节特征:
* 线条粗细:细线条、中等线条、粗线条
* 图案风格:卡通、写实、抽象、简约等风格
* 边缘处理:清晰边缘、模糊边缘、渐变边缘等
- **💡 光线容错处理** - 考虑拍摄条件的影响:
* 室内外光线差异可能造成的色彩偏差
* 不同角度拍摄可能造成的视觉差异
* 但核心配色方案和图案主题必须明显一致</rule>
<rule>**图案款式智能识别**:对于有图案印花的商品,重点关注:
- 如果图案的形状、设计、构图完全相同,但颜色搭配不同,这属于同一款式的不同配色
- 例如:同样的鱼图案,一个是"紫色鱼+黄色底",另一个是"红色鱼+蓝色底",这是同款不同配色
- 例如:同样的条纹图案,一个是"黑白条纹",另一个是"蓝白条纹",这是同款不同配色
- 在识别时,先识别图案本身,再匹配具体的配色方案</rule>
<rule>**商品识别严格约束**
- **🔍 图片边界严格限制**:只能识别图片中有黑色边框包围的商品区域
- **📝 文字依据必需**:每个商品必须在其黑色边框内有清晰可见的文字标注
- **🚫 绝对禁止推测**:严禁基于以下方式添加商品:
* 根据商品列表推测图片中"应该有"的商品
* 基于视觉相似性猜测没有文字标注的商品
* 将一个商品拆分成多个变体输出
* 添加图片中不存在的商品
- **📊 数量强制一致**:输出商品数量必须严格等于图片中黑色边框区域数量
- **📍 序号严格递增**image_order必须从1开始按图片中从左上到右下的顺序连续编号</rule>
<rule>一个商品可以存在多个timeline请确保这个商品的所有出现过的时间都被识别出来可以合并的碎片时间段尽量合并。</rule>
<rule>如果一个商品的演示画面中,有多个商品,需要将这些商品都识别出来,分开到不同的商品中。这部分要精细一些</rule>
<rule>如果一个片段,有主播不在画面内的内容,需要从这个商品片段中去除。</rule>
<!-- 智能行为分析利用Gemini 2.5的多模态理解)-->
<rule>**深度行为语义分析**:利用你的多模态理解能力,精准区分:
- **👔 穿着展示行为识别**
* 静态穿着:主播穿着某商品但未特意展示
* 动态展示:主播特意转身、走动展示穿着商品的效果
* 细节展示:主播拉扯、整理服装展示质感和版型
- **🎯 专门介绍行为识别**
* 手持介绍:主播手持商品进行详细介绍
* 指向介绍:主播用手势指向正在介绍的商品
* 对比介绍:主播同时展示多个商品进行对比
- **👁️ 精细视觉线索识别**
* 手势动作:指向、拿取、展示、比划等具体手势
* 身体姿态:转身、弯腰、抬手、走动等身体动作
* 视线方向:看向商品、看向镜头、看向其他位置
* 表情变化:专注、兴奋、强调等表情状态
- **🎤 语音语义深度理解**
* 商品名称:主播明确提到的具体商品名称
* 特征描述:颜色、款式、材质、尺寸等特征词汇
* 情感倾向:推荐、强调、对比等语调变化
* 时间标记:开始介绍、结束介绍的语言信号
- **🎬 场景环境分析**
* 背景变化:室内外、不同房间、不同角度的场景切换
* 道具使用:衣架、镜子、标签等道具的出现
* 光线变化:自然光、室内灯光等光照条件变化
* 拍摄角度:全身、半身、特写等不同拍摄角度</rule>
<rule>**时序逻辑推理**:运用你的推理能力建立时间轴上的商品关系:
- **因果关系链**:主播行为→商品展示→销售转化的逻辑链条
- **注意力转移**:识别主播注意力和观众注意力的转移规律
- **营销节奏**:理解直播带货的节奏感和商品切换的商业逻辑
</rule>
<!-- 精准时间边界识别 -->
<rule>**智能时间边界检测**:综合多维度信息精确定位商品切换时刻:
- **🎨 视觉特征变化检测**
* 穿着变化:主播更换服装的精确时刻
* 商品切换:从展示一个商品转向另一个商品的时刻
* 颜色变化:同款不同色商品切换的时刻
* 角度变化:从不同角度展示同一商品的时间段
- **🎤 音频语义边界**
* 商品名称提及:主播开始/结束提及某商品名称的时刻
* 话题转换:从介绍一个商品转向另一个商品的语言转折点
* 语调变化:强调、推荐等语调变化标记的重点时段
- **👁️ 动作行为边界**
* 手势变化:指向不同商品的手势切换时刻
* 身体动作:展示不同商品时的身体动作变化
* 视线转移:主播视线从一个商品转向另一个商品的时刻
- **🔄 多信号融合验证**
* 视觉+音频:视觉变化与语音描述的时间对应关系
* 动作+语音:身体动作与语言描述的协调性验证
* 上下文逻辑:确保时间边界符合商品介绍的逻辑连贯性
- **🎯 商业意图时间标记**
* 重点推广:主播特别强调某商品的时间段
* 对比展示:同时展示多个商品进行对比的时间段
* 细节介绍:深入介绍商品特征的详细时间段</rule>
<!-- timeline时间段规则 -->
<rule>**时间格式标准**
- 必须严格使用格式HH:MM:SS.mmm - HH:MM:SS.mmm
- HH是小时(00-23)MM是分钟(00-59)SS是秒(00-59)mmm是毫秒(000-999)
- 示例00:05:23.500 表示0小时5分钟23.5秒不是5小时23分钟
- 常见错误不要将05:23:500解释为5小时23分钟应该是0小时5分钟23.5秒</rule>
<rule>每个时间段后面必须添加内容类型标识,格式为 (类型),具体类型包括:</rule>
<rule>• (穿着本品+介绍本品) - 主播穿着该商品且正在介绍该商品本身</rule>
<rule>• (穿着本品+他品) - 主播穿着该商品但正在介绍其他商品</rule>
<rule>• (穿着本品+无关) - 主播穿着该商品但在做无关商品的事情(如聊天、互动等)</rule>
<rule>判断时要仔细分析主播的语音内容,确定其介绍的具体是哪个商品,避免混淆。</rule>
<rule>时间范围一定要在视频长度范围内例如视频长度为15分钟0秒0毫秒时间不允许超出00:00:00.000到00:15:00.000范围</rule>
<!-- 🔍 智能质量保证发挥Gemini 2.5推理优势)-->
<rule>**严格质量验证体系**
- **🔍 图片解析验证**
* 📊 **数量核查**"输出商品数量是否不超过图片中黑色边框区域数量?"
* 📍 **序号验证**"image_order是否对应图片中实际存在的商品位置"
* 📝 **文字依据**"每个image_name是否都有图片中的文字标注支撑"
- **🎯 匹配关系验证**
* ✅ **匹配有效性**"每个输出商品都能在商品列表中找到对应项吗?"
* 🚫 **禁止无依据匹配**"是否存在没有图片文字依据的强行匹配?"
* 📋 **标准名称使用**"product字段是否使用商品列表中的标准名称"
- **🔄 四维一致性验证**
* 📋 **材质一致性**"商品名称中的材质描述与视频中的质感表现是否一致?"
* 🖼️ **图片一致性**"图片中的商品特征与视频中的展示是否匹配?"
* 📹 **视频一致性**"视频中的款式细节(如鸡心领等)是否与商品描述匹配?"
* 🎤 **语音一致性**"主播的语音描述是否与视觉观察结果一致?"
* ⚖️ **综合判断**"四个维度的信息是否都指向同一个商品?"
- **⚡ 输出质量保障**
* 🎯 **宁缺毋滥原则**:四维信息不一致的商品不得强行输出
* 📊 **完整性检查**每个对象必须包含完整的match_info、product、timeline字段
* 🔧 **JSON格式完美**确保输出的JSON结构完全符合规范要求
* ⚠️ **错误排除**:严格排除图片中不存在但被错误识别的商品</rule>
</rules>
<examples>
<!-- 正确的分阶段识别和输出流程示例 -->
<example_process>
**第一阶段:图片解析与基础匹配**
- 🔍 图片扫描结果发现15个黑色边框区域
- 📝 文字提取:
* 序号1左上角"FORNI Baby tee 高克重100纯棉V领正肩修身T恤"
* 序号2"FORNI 三明治空气裤"
* 序号3"美洋MEIYANG 水面膜T恤"
* ...依次提取所有区域的文字
- 📋 基础匹配表生成:
* ✅ 序号1: "FORNI Baby tee...""6月12日16:00新品 FORNI Baby tee 高克重100纯棉V领正肩修身T恤" (匹配度: 95%)
* ✅ 序号3: "美洋MEIYANG 水面膜T恤""美洋MEIYANG【商场同款】水面膜T恤 莱赛尔修身圆领短袖-周一" (匹配度: 90%)
* ❌ 序号2: "FORNI 三明治空气裤" → 无匹配 (在商品列表中找不到对应项)
**第二阶段:四维融合分析**
- 🎯 分析范围仅处理序号1和序号3基础匹配表中的成功匹配商品
- 🔄 序号1四维验证重新确认图片位置
* 📍 位置确认: 重新观察图片序号1位置左上角第一个商品
* 📋 材质一致性: 商品名称"100纯棉" ↔ 视频质感"棉质" ✅一致
* 🖼️ 图片一致性: 图片序号1位置"白色V领短袖T恤印有天使图案" ↔ 视频"白色V领短袖天使图案清晰" ✅一致
* 📹 视频一致性: 视频"修身版型,天使图案" ↔ 语音"修身显瘦,天使印花" ✅一致
* 🎤 语音一致性: 语音"纯棉材质,天使图案" ↔ 材质"纯棉" ✅一致
* 综合判断: 四维一致性95% → 保留
- 🔄 序号3四维验证重新确认图片位置
* 📍 位置确认: 重新观察图片序号3位置的商品特征
* 📋 材质一致性: 商品名称"莱赛尔" ↔ 视频质感"丝滑" ✅一致
* 🖼️ 图片一致性: 图片序号3位置"实际颜色和款式" ↔ 视频"对应的颜色和款式" ✅一致
* 📹 视频一致性: 视频"实际展示效果" ↔ 语音"对应描述" ✅一致
* 🎤 语音一致性: 语音"莱赛尔面料" ↔ 材质"莱赛尔" ✅一致
* 综合判断: 四维一致性92% → 保留
**第三阶段:最终检查与输出生成**
- ✅ 最终商品清单序号1、序号3通过所有验证
- ⏰ 时间段分析:基于确认商品进行视频时间段识别
- 📊 质量检查:所有输出商品都有完整验证链条
- 🎯 最终输出:
[
{{
"match_info": {{
"image_order": 1,
"image_name": "FORNI Baby tee 高克重100纯棉V领正肩修身T恤",
"matched_list_name": "6月12日16:00新品 FORNI Baby tee 高克重100纯棉V领正肩修身T恤"
}},
"product": "6月12日16:00新品 FORNI Baby tee 高克重100纯棉V领正肩修身T恤",
"timeline": ["00:01:15.200 - 00:02:30.800 (穿着本品+介绍本品)"]
}},
{{
"match_info": {{
"image_order": 3,
"image_name": "美洋MEIYANG 水面膜T恤",
"matched_list_name": "美洋MEIYANG【商场同款】水面膜T恤 莱赛尔修身圆领短袖-周一"
}},
"product": "美洋MEIYANG【商场同款】水面膜T恤 莱赛尔修身圆领短袖-周一",
"timeline": ["00:03:45.100 - 00:05:12.600 (穿着本品+介绍本品)"]
}}
]
</example_process>
<reason>
这个输出完美体现了严格的分阶段分析逻辑:
**第一阶段成果**
1. **🔍 独立图片解析**完全基于图片内容不受视频或商品列表影响发现15个区域但只有部分能匹配。
2. **📝 文字依据充分**:每个序号都有明确的图片文字标注作为依据。
3. **📋 基础匹配表可靠**只有高相似度匹配才建立关联序号2因无匹配被排除。
**第二阶段成果**
4. **🎯 范围严格限制**:只分析第一阶段成功匹配的商品,不添加新商品。
5. **📍 位置对应精确**:重新确认图片中每个序号位置的实际商品特征,避免混淆。
6. **🔄 四维验证严格**:每个商品都经过材质、图片、视频、语音四个维度的一致性验证。
7. **🖼️ 图片维度准确**:图片维度信息与图片中对应位置的实际商品完全一致。
8. **⚖️ 质量门槛明确**四维一致性低于80%的商品会被移除。
**第三阶段成果**
7. **✅ 最终结果可靠**:只输出通过所有验证的商品,确保准确性。
8. **📊 完整验证链条**:每个输出商品都有从图片到最终结果的完整追溯。
**关键优势体现**
- ❌ 彻底避免AI幻觉分阶段验证机制防止输出不存在的商品
- ❌ 杜绝推测匹配:第一阶段的独立性确保基于事实而非推测
- ❌ 消除交叉干扰:各阶段职责明确,避免信息混淆
- ❌ 防止特征混淆:严格的位置对应机制确保图片维度信息与实际位置完全匹配
- ❌ 避免描述错位:重新观察确认机制防止将不同位置商品的特征相互混淆
- ✅ 确保结果质量:多重验证机制保证输出的准确性和可靠性
- ✅ 保证信息一致:图片维度信息与图片实际内容严格对应
</reason>
</examples>
</prompt>"""
.format(product_list_str)
<instruction>
你是一个专业的AI视频分析师。你的任务是根据提供的视频、多张商品图片网格和商品列表精确识别直播中展示的商品及其对应的时间线
**核心任务**严格遵循分析流程同时主动管理内部思考过程的Token消耗确保分析的深度和效率避免超出限制65535。
---
### 零阶段元分析与Token管理策略
**目标**:在开始正式分析前,预估任务复杂度并制定思考策略。
1. **输入评估**:快速扫描输入材料,评估关键复杂度指标:
* `视频时长`:视频的总分钟数。
* `商品数量`:多张图片网格中待分析的商品总数。
2. **策略选择**:根据评估结果,选择思考的详细程度:
* **高复杂度(如 >10分钟视频 或 >20个商品****必须采用“摘要式”思考**。在内部思考过程中仅记录关键决策点省略详细的描述性文字。例如用“商品A四维验证通过”代替详细的验证过程描述。
* **低复杂度**:可以使用较详细的思考过程,但仍需保持简洁。
3. **全程监控**在后续所有阶段持续关注思考过程的长度确保总Token消耗在安全范围(小于65535)内。
---
### 第一阶段:图片解析与候选建立
**目标**:仅基于商品图片网格,建立一个可靠的候选商品数据库。
**商品列表(标准名称参考):** {0}
1. **独立分析图片**:完全忽略视频和商品列表内容。
2. **扫描网格区域**:从左上角开始,按行顺序扫描每个黑色边框的商品区域。
3. **提取与编号**为每个区域分配一个从1开始的连续序号 (`image_order`)。精确提取区域内的商品名称文字。
4. **初步匹配**:将提取的文字与提供的`商品列表`进行高相似度匹配。
5. **生成候选列表**:创建一个包含所有成功匹配项的候选列表,记录其`image_order`、图片原文`image_name`和匹配到的标准名称`matched_list_name`。匹配失败的项在此阶段被丢弃。
---
### 第二阶段:多模态交叉验证
**目标**:对第一阶段生成的候选列表中的每一项进行严格的多模态一致性验证。
1. **限定分析范围**:只分析候选列表中的商品,绝不添加新商品。
2. **逐项验证**:按`image_order`顺序,对每个候选商品进行验证。
3. **四维一致性检查**
* **商品名称 (Material/Style)**:分析`matched_list_name`中包含的材质(如纯棉、莱赛尔)和款式信息。
* **图片特征 (Image)****重新仔细观察**图片网格中对应`image_order`位置的商品,记录其真实的视觉特征(颜色、图案、领型、袖型等)。
* **视频内容 (Video)**:在视频中找到主播展示该商品的片段,观察其动态效果、版型、和上身细节。
* **主播语音 (Voice)**:识别主播对该商品的口头描述,包括材质、卖点和款式特征。
4. **决策**以上四个维度的信息必须高度一致。如果存在明显矛盾如图片为V领但视频中为圆领或主播描述的材质与商品名不符则该商品未通过验证必须被移除。
---
### 第三阶段:时间线生成与最终输出
**目标**为所有通过验证的商品生成精确的时间线并构建最终的JSON输出。
1. **确认最终清单**:整理所有通过第二阶段验证的商品。
2. **时间线分析**
* 为每个确认的商品,在视频中定位所有相关的出现时间段。
* 合并碎片化的时间段。
* 为每个时间段标注内容类型:`(穿着本品+介绍本品)`、`(穿着本品+他品)` 或 `(穿着本品+无关)`。
3. **生成JSON**按照指定的格式生成最终的JSON数组。确保`product`字段值与`matched_list_name`完全一致,且数组顺序严格遵循`image_order`。
</instruction>
<rules>
<!-- 核心逻辑 -->
<rule>**Token管理优先**必须将零阶段的“元分析与Token管理策略”作为首要任务。思考过程的简洁性是成功完成任务的关键。</rule>
<rule>**阶段性执行**:必须严格遵循"图片解析 → 交叉验证 → 时间线生成"的顺序。后一阶段的输入必须是前一阶段的输出。严禁跨阶段操作。</rule>
<rule>**图片基准原则**:所有分析的起点必须是图片网格中带黑色边框且有文字的商品。输出的商品数量不得超过符合条件的图片区域数量。</rule>
<rule>**位置严格对应**:在第二阶段验证时,必须重新观察并确保描述的图片特征与`image_order`所指向的网格位置的商品完全一致,严禁混淆不同位置的商品特征。</rule>
<rule>**一致性否决**:在第二阶段,任何一个维度(名称、图片、视频、语音)出现明显不一致的商品,都必须被淘汰。宁缺毋滥。</rule>
<rule>**同款保留**:如果视频中出现同一款式的不同颜色或图案版本,并且它们在图片网格和商品列表中都存在,则必须全部识别并保留。</rule>
<!-- 输出格式 -->
<rule>**JSON结构**输出必须是JSON数组`[]`。每个商品对象`{{}}`包含`match_info`、`product`和`timeline`三个键。</rule>
<rule>**名称规范**`product`和`matched_list_name`字段的值必须100%来自提供的`商品列表`中的标准名称。</rule>
<rule>**时间戳格式**:时间格式必须为`HH:MM:SS.mmm - HH:MM:SS.mmm`。例如,`00:05:23.500`代表5分23.5秒。</rule>
<rule>**时间线标签**:每个时间段后必须附带内容类型标签,如`(穿着本品+介绍本品)`。</rule>
<!-- 识别精度 -->
<rule>**多模态线索**:综合利用主播的手势、视线、身体动作以及语音中的关键词(如商品名、特征词)和语气变化,来精确定位商品介绍的起止时间点。</rule>
<rule>**画面内容**:时间线片段中不能包含主播不在画面的内容。</rule>
<rule>**多商品同框**:如果一个画面内同时演示多个不同的商品,需将它们的活动时间线精确地分配到各自的商品条目中。</rule>
</rules>
<examples>
<example_process>
**零阶段元分析与Token管理策略**
- **评估**视频时长25分钟商品数量30个。
- **决策**:复杂度高。启用“摘要式”思考模式。内部思考必须极为精简。
**第一阶段:图片解析与候选建立**
- **思考(摘要式)**“开始图片解析。扫描30个区域。与列表匹配。候选列表生成完毕。”
- **输出(候选列表示例)**
- 正确 `image_order: 1`, `image_name: "FORNI Baby tee..."`, `matched_list_name: "6月12日...T恤"`
- 错误 `image_order: 2`, `image_name: "FORNI 三明治空气裤"` → 无匹配,丢弃。
**第二阶段:多模态交叉验证**
- **思考(摘要式)**“开始交叉验证。逐项处理候选列表。序号1四维一致。通过。序号3四维一致。通过。序号5视频与图片不符。淘汰。”
**第三阶段:时间线生成与最终输出**
- **思考(摘要式)**“验证完毕。开始为通过项生成时间线。输出JSON。”
- **输出最终JSON**
```json
[
{{
"match_info": {{ "image_order": 1, ... }},
"product": "6月12日16:00新品 FORNI Baby tee 高克重100纯棉V领正肩修身T恤",
"timeline": ["00:01:15.200 - 00:02:30.800 (穿着本品+介绍本品)"]
}}
]
```
</example_process>
<reason>
此流程的优势在于:
- **主动管理**:通过“零阶段”的预评估,模型能主动适应任务复杂度,从根本上避免`thoughtToken`超限。
- **高效**:“摘要式”思考让模型能将计算资源集中于核心逻辑判断,而非繁琐的内部记录,处理复杂任务时更高效。
- **鲁棒**:在保留原有三阶段验证流程的严谨性基础上,增加了对自身资源消耗的监控,使整个系统更加稳定可靠。
</reason>
</examples>
</prompt>
""".format(product_title_list)
}
])
json_data = {