[Feature] AI智能选片段接入MediaKit视频理解,替代硬编码fallback #1209

Closed
opened 2026-08-01 18:05:06 +08:00 by xiaoxia · 1 comment
Owner

背景

packages/shared/ai_service.py_call_ai_recommend_service() 有真实的豆包LLM调用路径,但当豆包API不可用时,_fallback_recommend_clips() 降级为 time.sleep(0.5) + 硬编码 intro/showcase/outro 片段。生产环境如果豆包未配置,用户体验等同于AI是空壳。

目标

用 MediaKit 的视频理解API分析每个素材的内容(场景、动作、质量、语义),生成智能选片方案,替代硬编码fallback。

改动范围

  1. 后端:改造 packages/shared/ai_service.py
    • 新增 _mediakit_recommend_clips() 方法,调用 MediaKit 视频理解API
    • 将每个素材的视频URL发给MediaKit,获取内容标签+质量评分
    • 根据标签和评分,智能分配 intro/showcase/outro 角色
    • 调用链路:豆包LLM → MediaKit视频理解 → 硬编码fallback(三级降级)
  2. MediaKit接入:复用 #1208 中建立的 MediaKit client

验收标准

  • 豆包API不可用时,走 MediaKit 视频理解而非硬编码
  • 选片结果与素材内容相关(不是固定的intro/showcase/outro模板)
  • 三级降级链路通畅

优先级

P1 — 直接影响智能剪辑核心体验

负责人

saas后端程序员

## 背景 `packages/shared/ai_service.py` 的 `_call_ai_recommend_service()` 有真实的豆包LLM调用路径,但当豆包API不可用时,`_fallback_recommend_clips()` 降级为 `time.sleep(0.5)` + 硬编码 intro/showcase/outro 片段。生产环境如果豆包未配置,用户体验等同于AI是空壳。 ## 目标 用 MediaKit 的视频理解API分析每个素材的内容(场景、动作、质量、语义),生成智能选片方案,替代硬编码fallback。 ## 改动范围 1. **后端**:改造 `packages/shared/ai_service.py` - 新增 `_mediakit_recommend_clips()` 方法,调用 MediaKit 视频理解API - 将每个素材的视频URL发给MediaKit,获取内容标签+质量评分 - 根据标签和评分,智能分配 intro/showcase/outro 角色 - 调用链路:豆包LLM → MediaKit视频理解 → 硬编码fallback(三级降级) 2. **MediaKit接入**:复用 #1208 中建立的 MediaKit client ## 验收标准 - 豆包API不可用时,走 MediaKit 视频理解而非硬编码 - 选片结果与素材内容相关(不是固定的intro/showcase/outro模板) - 三级降级链路通畅 ## 优先级 P1 — 直接影响智能剪辑核心体验 ## 负责人 saas后端程序员
xiaoxia added the devops label 2026-08-01 18:05:06 +08:00
Author
Owner

完成

PR #1224 已合并(commit 598e2b6f)

实现

  • MediaKitClient 新增 analyze_videos()(视频理解 + 异步轮询)
  • API路由层 _build_asset_analyses() 自动分析素材内容
  • _call_ai_recommend_service 支持 asset_analyses,视频内容注入 LLM prompt
  • 完整降级链:MediaKit不可用 → 空dict → 原有fallback

Staging E2E

  • 部署成功(CI build + Watchtower)
  • AI推荐端点正常(200 + 5 clips)
  • 降级逻辑验证通过

测试

  • 15新单测 + 260相关测试全绿
## ✅ 完成 **PR #1224** 已合并(commit 598e2b6f) ### 实现 - MediaKitClient 新增 analyze_videos()(视频理解 + 异步轮询) - API路由层 _build_asset_analyses() 自动分析素材内容 - _call_ai_recommend_service 支持 asset_analyses,视频内容注入 LLM prompt - 完整降级链:MediaKit不可用 → 空dict → 原有fallback ### Staging E2E - ✅ 部署成功(CI build + Watchtower) - ✅ AI推荐端点正常(200 + 5 clips) - ✅ 降级逻辑验证通过 ### 测试 - 15新单测 + 260相关测试全绿
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: xiaoxia/xiaoxia-saas#1209