💡 把"视频到向量"的一周开发,压缩为"一句描述 + 几分钟生成"。让数据团队专注业务,把 Pipeline 工程化交给 MaxFrame Skill。
🌙 你是不是也卡在这种地方?
凌晨两点,智驾数据团队的工位上,常常上演这样的对话:
😩 PM 让我们把这批舱内视频做帧级打标,再加一路 Embedding,最好两天能跑通......
😵 可是抽帧 UDF 怎么写?DashScope 的 Key 谁来管?OSS 鉴权过期了怎么办?失败的视频怎么单独重跑?
😮💨 光把 Pipeline 跑通就要一周,业务那边还在催数据。
如果你做过 智驾 / 智驾 / 舱内视觉 / 多模态 数据处理,对这些问题一定不陌生:
-
视频抽帧: 每段视频几十分钟,抽几万帧,单机跑不动
-
关键帧打标: 要接 VL 模型,还要管 DashScope Key、控并发、防限流
-
Embedding 生成: 图像 / 文本两路向量都要,输出维度还不一样
-
OSS / MaxCompute 多源流转: 路径鉴权、Bucket 配置、分区写入,全都是坑
-
失败容错: 一条视频炸了不能拖死整批作业,还得能精准重跑
每一条单拎出来都是工程活。组合在一起,常常一个 Pipeline 上线就要 「一周起步」。
👉 今天发布的 MaxFrame 智驾视频 Pipeline 脚手架 Skill (driving-video-maxframe-job),就是为了解决这个问题。
🎯 一句话解释:它是什么?
这是一个面向 智驾视频数据处理场景 的 MaxFrame 作业脚手架生成器。
✨ 你只需要描述输入表与处理目标,它就能一键产出可直接在 MaxCompute / MaxFrame 上运行的完整 Pipeline 代码、表结构建议与运行手册。
简单来说:
plaintext
你说:"输入是视频表,想要带标签和向量的图像表"
↓
Skill 自动选 Pipeline 形态、生成代码、写表结构、附运行手册
↓
你拿到符合 MaxFrame 最佳实践的完整作业,直接提交跑
📋 它能覆盖哪些场景?
智驾、智驾、舱内视觉团队最常见的 5 类需求,全部内置:
| 🔑 场景 | 📥 输入 | 📤 期望产出 |
|---|---|---|
| 视频抽帧 | 视频表(含 OSS 路径) | 帧图像表 |
| 抽帧 + 打标 + Embedding | 视频表 | 带标签 / 向量的图像表(自动拆成两段作业) |
| 关键帧打标 | Clip 目录表 | 带标签的关键帧表 |
| 图像直接打标 / 向量化 | 图像表 | 标签 + Embedding 表 |
| 图像表追加 Embedding | 已标注图像表 | 带向量列的图像表 |
无论你是从"原始视频"出发,还是从"已经抽好的图像"接入,都能被覆盖到。
⚡️ 用起来有多简单?
你只需要给 Skill 四个最小输入:
1. 场景名 (scenario_name):比如 cabin_video_label_v1
2. 输入数据形态 (input_shape):是视频表?Clip 目录表?还是图像表?
3. 处理目标 (targets):抽帧?打标?Embedding?还是组合?
4. 输出表名 (output_table / output_tables):结果写到哪张表
剩下的事,Skill 全部接管:
-
✅ 自动判别该用哪种 Pipeline 形态
-
✅ 生成主程序代码(
*.py) -
✅ 编写输入 / 中间 / 输出表的 DDL(
*_schema.sql) -
✅ 附上运行手册(
*_walkthrough.md),包括所需环境变量、运行顺序、上下游表期望
💡 如果你的描述还差一两个关键参数,Skill 会主动追问,而不是默默猜测。
🏗️ 内置的 5 个 MaxFrame 最佳实践
这才是这个 Skill 真正的价值所在------它不是一个简单的代码模板,而是把 MaxFrame 在智驾视频场景下沉淀的工程经验,全部内化在了生成的代码里。
1. AI Function + 托管百炼大模型,免维护 Key
打标和向量化,统一走 MaxFrame 的 AI Function + read_odps_model:
-
不需要自己封装 DashScope 客户端
-
不需要在代码里管理 API Key
-
不需要写 UDF 包装请求 / 重试 / 解析逻辑
模型作为 MaxCompute 资源直接被引用,✅ 鉴权、配额、并发 全部交给平台。
2. 视频任务自动两段拆分
如果你的目标是 "视频 → 抽帧 → 打标 + Embedding",Skill 会自动把作业拆成两段:
plaintext
作业一:视频抽帧(OSS 视频 → 帧图像表)
↓ 💾 中间表落地
作业二:图像打标 + Embedding(帧图像表 → 标签 + 向量表)
好处显而易见:
-
可复跑: 抽帧跑过一次后不用再跑,节省 GPU 资源
-
可复用: 同一份帧表可以被多个下游打标 / 向量化作业共享
-
可观测: 中间结果落地,便于审查和抽样验证
3. OSS 挂载 + Rebalance 并发控制
视频读取用 with_fs_mount 把 OSS 挂载成本地路径,并发用 rebalance 精准控制:
plaintext
@with_fs_mount("oss://your-bucket/videos/", "/mnt/videos", ...)
def extract_frames(row):
# 像读本地文件一样读 OSS 视频
...
df = video_df.mf.rebalance(num_partitions=N).mf.apply_chunk(extract_frames, ...)=
写出统一收口在 to_odps_table().execute(),🚫 不会出现"代码跑完了但结果没落表" 这种诡异情况。
4. 行级容错,单条失败不拖累整批
所有模型阶段输出统一携带 三个标准字段:
| 🏷️ 字段 | 📝 含义 |
|---|---|
status |
success/failed,行级状态 |
error_stage |
失败发生在哪个阶段(抽帧 / 打标 / Embedding 解析) |
error_msg |
具体错误信息 |
这意味着:
-
✅ 一条视频解码失败,不会让整批作业崩
-
✅ 失败原因 精确到阶段,不用瞎猜
-
✅ 可以基于
status='failed'精准重跑,不重复消耗已成功的部分
5. Token 用量按阶段返回
成本敏感的场景,Skill 默认在输出表里带上每个阶段的 token 消耗:
-
label_input_token/label_output_token -
embedding_total_token -
各阶段
*_total_token
💡 成本归因到行级,PM 问"这一批数据花了多少钱"时,一条 SQL 就能算清。
🔐 安全与合规默认开启
做企业级数据处理,光跑得通还不够,合规 同样关键。Skill 生成的代码默认遵守以下约定:
-
不写死任何敏感信息: 模型名、OSS Bucket、MaxCompute Project、密钥等,全部通过环境变量配置
-
路径安全校验: 拒绝
..路径穿越,强制保持在声明的 OSS 前缀下 -
客户中性: 生成代码不含任何客户名、私有 Prompt 或业务规则,可放心在团队间共享
-
标签生成默认关闭 thinking: 降低 token 开销
-
Embedding 阶段独立: 可按需开启 / 关闭,不需要就不浪费算力
📦 一次调用,三件交付物
每次调用 Skill,你会拿到完整的"作业三件套":
plaintext
📁 output/
├── 📄 cabin_video_label_v1.py # 主作业代码,可直接提交运行
├── 🗃️ cabin_video_label_v1_schema.sql # 输入 / 中间 / 输出表的 DDL
└── 📖 cabin_video_label_v1_walkthrough.md # 运行手册:场景类型、运行顺序、所需环境变量、上下游表期望
不是给你一段不知道怎么跑的代码片段,而是 ✨ 从建表到提交,端到端能落地 的工程交付物。
🔄 典型使用流程
plaintext
用户描述需求
↓
Skill 自动判别 Pipeline 形态
↓
(如有歧义)询问缺失的最小输入
↓
生成代码 + 表结构 + 运行手册
↓
用户在 MaxCompute / MaxFrame 直接提交运行
整个流程下来,从"想做"到"作业跑起来",🔥 通常只需几分钟。
🎯 什么时候用这个 Skill?
适用场景非常聚焦:
-
智驾 / 智驾 / 视觉数据团队,需要快速搭建 "视频 → 图像 → 标签 → 向量" Pipeline
-
想把存量的 UDF + DashScope 直连 改造成 AI Function 托管调用
-
希望生成的代码具备 生产级行级容错和可观测性,而不是只能跑 demo
如果你正好是这些团队的一员,✨ 强烈建议把这个 Skill 加入你的 AI 编程助手。
✍️ 写在最后
过去,业务团队上线一条智驾视频处理 Pipeline,至少需要:
-
1 名熟悉 Python 的开发工程师
-
1 周以上的开发 + 联调时间
-
多次踩坑 OSS 鉴权 / DashScope 限流 / 失败重试
现在,使用这个 Skill:
-
任何熟悉业务的同学 都能描述清楚需求
-
几分钟内 拿到符合最佳实践的完整作业
-
行级容错 + 成本归因 默认就有,不用自己造
💡 让数据团队专注业务逻辑,把 Pipeline 工程化交给 MaxFrame Skill。 这就是我们做这个 Skill 的初衷。
🎉 现在就在你的 AI 编程助手里试试吧------
💬 一句"帮我做个把舱内视频抽帧打标的 MaxFrame 作业",看看几分钟后会发生什么。
🔗相关链接:
-
MaxFrame 文档:maxframe.readthedocs.io/en/latest/
-
MaxFrame GitHub:github.com/aliyun/alib...
-
智驾视频 Skill:在你的项目
.claude/skills/或.qoder/skills/目录中安装driving-video-maxframe-job