SuperAPI AI 工具集

fiftyone-zoo-remote-model

智能体与模型

查看项目

更新于 10-16 08:38

技能介绍

用途:本技能面向 FiftyOne 远程模型库(Remote Model Zoo)的模型集成,当用户需要新增远程 zoo 源、调试已有源、排查“注册成功但模型无法加载”,或实现自定义 fom.Model / TorchModelMixin、VLM 与结构化输出集成时使用。注意:插件、操作符、面板、brain 方法不属于本技能范围。

主要能力:Phase 0 先确认集成面,输出一行确认(例如“Zoo model integration because user wants dataset.apply_model(model) to write predictions”),无法写出则停止。Phase 1 复制 template/ 脚手架,包括 manifest.json(顶层 name 必填,缺失会静默跳过)、init.py(导出 download_model、load_model,可选 resolve_input,使用相对导入 from .zoo import ...)和 zoo.py(配置与模型类)。Phase 2 按 MODEL-CLASS.md 实现类层次、属性与 predict/predict_all 输入分派;按 LABEL-TYPES.md 处理标签返回类型、单 fo.Label 规则与坐标;按 DATALOADER.md 处理 DataLoader pickle 与 worker 导入解析;VLM 生成式结构化输出另见 VLM-PATTERNS.md。

验证:检查 manifest.json 顶层 name、相对导入、图像操作返回单个 fo.Label(dict 仅用于视频帧级且为整数键)、坐标校验、dataset.apply_model(model) 在默认 num_workers 下运行;在 macOS 上用默认 num_workers 确认无 spawned worker 的 ModuleNotFoundError。失败时按症状路由:注册成功但 load_zoo_model 失败查 MANIFEST.md、MODEL-CLASS.md;worker 报 ModuleNotFoundError 或 pickle 错误查 DATALOADER.md;预测字段异常查 LABEL-TYPES.md;空间输出位置错误查 LABEL-TYPES.md 与 VLM-PATTERNS.md;输出符合 schema 但值错误、后端/设备错误查 DEBUGGING-PRINCIPLES.md。

关键约束:运行时参数应做成 setter,不要让用户重建模型来改 generate()/forward 参数、提示词、操作选择器或后处理阈值;优先使用 FiftyOne 原语;不要在 zoo.py 定义 pickle 绑定对象;参考实现需在多 worker 下验证后方可借用;schema 合规不等于正确;不要反复修补解析器超过两次;修复逻辑保持有界。具体代码与命令请参见上述各参考文件,资料未提供完整示例代码。