资讯详情

资讯详情

使用 AI 编码智能体构建 FiftyOne 自定义插件:从提示词到可运行 Operator 的完整实战指南

使用 AI 编码智能体构建 FiftyOne 自定义插件从提示词到可运行 Operator 的完整实战指南【免费下载链接】fiftyoneRefine high-quality datasets and visual AI models项目地址: https://gitcode.com/GitHub_Trending/fi/fiftyone本指南基于 FiftyOne 官方入门文档系统讲解如何借助 Claude Code、Cursor、VS Code Copilot、Gemini CLI 等 AI 编码智能体从终端直接构建自定义 FiftyOne 插件。你将学会用自然语言描述需求让智能体自动完成fiftyone.yml清单、操作符逻辑与面板实现并在以调试模式运行的 App 中实时测试与迭代最终交付一个可直接被智能体通过 MCP 调用的插件。指南概览AI 编码智能体的价值在于你用一句话描述想要什么智能体负责怎么实现——包括目录结构、操作符逻辑和在 App 中的实时测试。整个开发过程被收敛为一个紧密的四步循环以调试模式启动 App——在开发模式下启动 FiftyOne让 Python 与服务器日志实时打印到终端边构建边观察错误提示你的智能体——使用fiftyone-develop-plugin技能让智能体描述并构建自定义操作符operator或面板panel在 App 中测试——安装并运行插件把任何报错原样粘贴回给智能体迭代——在提示 → 测试 → 修复之间收紧循环直到插件行为符合预期。前置条件开始之前请确保环境满足以下三个条件已安装 FiftyOne安装方式见 Installation 指南建议与 MCP 服务器安装在同一个 Python 环境中虚拟环境或 conda 环境需先激活一个 AI 编码智能体Claude Code、Cursor、VS Code Copilot、Gemini CLI 或 Antigravity 均可已配置 Skills按照 Using Agents 中的说明为你的智能体安装 MCP 服务器与技能约需 5 分钟。说明本指南面向在终端中工作的 AI 编码智能体。如果你需要的是 FiftyOne Enterprise App 内建的人工智能助手请参阅 FiftyOne Agent。背景Skills 与 MCP 的分工要理解为什么配置 Skills是前置条件需要先弄清 FiftyOne 智能体生态的两层架构FiftyOne MCP Serverfiftyone-mcp-server负责连接。它实现开放的 Model Context Protocol 标准让兼容的智能体直接访问 FiftyOne 的 80 操作符、数据集管理、模型推理、Brain 计算与 App 控制能力FiftyOne Skills负责指导。每个技能都是一份SKILL.md专家工作流教会智能体在什么时机、按什么步骤完成特定任务。简言之MCP 暴露系统能做什么Skills 解释何时以及如何做。fiftyone-develop-plugin与fiftyone-eval-plugin正是本指南中用到的两个关键技能。更多技能清单与各智能体的安装方式可浏览 Agent Ecosystem自定义技能的写法见 Developing Skills。Step 1以调试模式启动 App调试模式会把所有 Python 与服务器日志打印到你的终端。在开发全程保持它运行这样任何错误都会立刻可见fiftyone app debugApp 会在http://localhost:5151打开。若要同时加载特定数据集fiftyone app debug dataset-name从源码实现看fiftyone app debug由 fiftyone/core/cli.py 中的AppDebugCommand提供。它支持以下附加参数与app launch保持一致参数含义默认值name要打开的数据库名称位置参数无-p/--port服务器使用的端口号由服务器决定-A/--address使用的地址服务器名默认地址--headless不打开浏览器False底层通过fiftyone.server.main的start_server()启动服务open_browsernot args.headless决定是否自动打开浏览器。调试模式下终端会持续输出运行日志这是你发现插件错误的第一现场。企业版用户注意运行该命令前请确保已导出凭证并激活团队环境。Step 2提示智能体构建插件在你的项目目录中另开一个终端窗口启动 AI 智能体然后用自然语言描述你想构建的插件。fiftyone-develop-plugin技能为智能体提供了一条构建 FiftyOne 操作符与面板的完整端到端工作流。当你描述一个插件目标时该技能会引导智能体依次完成创建目录结构与fiftyone.yml清单实现带输入、执行逻辑与输出的操作符本地安装插件校验插件是否已准备好测试。一个良好的首个提示词示例Build me a FiftyOne operator that shows a histogram of confidence scores for predicted labels in the current dataset. Display the result in a panel.构建一个 FiftyOne 操作符显示当前数据集中预测标签置信度分数的直方图并把结果展示在面板中。提示词撰写要点明确说明插件做什么、接受哪些输入、你处理的媒体类型图像/视频/点云等以及你要构建的 FiftyOne 原语——是普通操作符operator、面板panel还是委托操作符delegated operator。描述越具体智能体生成的代码越贴近需求。若没有头绪可参考仓库自带的官方插件示例例如 plugins/panels/similarity_search 与 plugins/operators/annotation.py它们展示了面板与操作符的典型写法。深入智能体眼中的插件长什么样为了让提示词更有效理解智能体实际生成的代码结构很有帮助。一个插件本质上是一个包含fiftyone.yml清单与 Python 代码的目录而操作符则是插件的执行单元。下面是一个可参考的最小操作符骨架来自 Developing Tools Skillsimport fiftyone.operators as foo from fiftyone.operators import types from fiftyone import ViewField as F class ShowHighConfidence(foo.Operator): property def config(self): return foo.OperatorConfig( nameshow_high_confidence, labelShow High Confidence, descriptionFilter samples by minimum confidence threshold, ) def resolve_input(self, ctx): inputs types.Object() inputs.float( threshold, labelMinimum confidence, default0.9, ) return types.Property(inputs) def execute(self, ctx): threshold ctx.params.get(threshold, 0.9) view ctx.dataset.filter_labels( predictions, F(confidence) threshold ) ctx.ops.set_view(view) def register(p): p.register(ShowHighConfidence)可以看到操作符由三部分构成config声明名称与描述、resolve_input定义输入参数支持默认值与类型、execute编写执行逻辑。完整的操作符与面板 API 可参阅 FiftyOne Plugins 文档 及 fiftyone/operators 源码目录。仓库中还有大量真实示例可对照插件清单fiftyone.yml的格式可参考 plugins/operators/fiftyone.yml。Step 3在 App 中测试智能体创建插件后先确认它已安装fiftyone plugins list该命令由 fiftyone/core/cli.py 中的PluginsListCommand提供其核心逻辑list_plugins()位于 fiftyone/plugins/core.py返回可用的PluginDefinition实例列表。命令支持以下筛选参数参数含义-g/--glob-patt仅显示名称匹配 glob 模式的插件如voxel51/*-t/--tags仅显示带指定标签的插件-e/--enabled仅显示已启用的插件-d/--disabled仅显示已禁用的插件-b/--builtins-only仅显示内建插件然后在 App 中查找并运行它按下反引号键或点击工具栏中的操作符图标按名称搜索你的操作符填写输入项点击Execute。如果运行结果不对把调试终端中的确切报错原样粘贴回给智能体而不是转述大意——完整的堆栈信息能显著加快修复速度。Step 4迭代智能体驱动的插件开发是一个紧密循环描述一处修改或修复智能体更新插件在 App 中测试——Python 操作符的改动在下一次执行时即生效面板改动则需要重载 App把任何报错或异常行为粘贴回给智能体重复以上步骤。在宣布插件完成之前请让智能体运行fiftyone-eval-plugin技能以捕获结构性问题与常见反模式Use the fiftyone-eval-plugin skill to evaluate the plugin we just built.这个技能相当于一次代码审查它检查插件的目录结构、清单字段、操作符注册方式等是否符合规范帮助你在发布前消除隐患。延伸构建完成后插件即智能体工具值得强调的是你在本指南中构建的插件并不会开发完就结束——任何在插件中注册的操作符都会自动成为智能体可用的工具。当智能体通过 MCP 服务器连接时它可以调用list_operators发现所有已安装的操作符调用get_operator_schema理解操作符接受哪些输入调用execute_operator执行它。例如上面那个show_high_confidence操作符安装后智能体可以直接响应Show me samples with confidence above 0.85并自动以{operator: show_high_confidence, params: {threshold: 0.85}}调用execute_operator。这意味着你写的每个插件都在扩充智能体的能力边界——从插件生态系统升级为智能体能力生态系统。下一步Using Agents完整的环境搭建指南与可用的 MCP 工具清单Agent Ecosystem浏览所有可用技能及按智能体分类的安装说明Developing Skills编写你自己的智能体技能SKILL.md或将技能随插件一起分发FiftyOne Plugins完整的插件系统参考涵盖操作符、面板、委托执行等 APIFiftyOne AgentFiftyOne Enterprise 内建的人工智能助手。【免费下载链接】fiftyoneRefine high-quality datasets and visual AI models项目地址: https://gitcode.com/GitHub_Trending/fi/fiftyone创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →