如何使用 Ultralytics Agents 将 YOLO 检测结果转化为警报,无需编写代码
无需编写代码,使用 Ultralytics Agents 中的 Gate 条件,即可将 Ultralytics YOLO 检测结果转化为 Slack 警报、webhook 和数据集采集。
Miles Deans8 分钟阅读
你可以通过在 Ultralytics Agents 中构建可视化工作流,将 Ultralytics YOLO 检测结果转化为警报,无需编写代码;Ultralytics Agents 是 Ultralytics Platform 的一部分。将图像连接到 YOLO 模型,添加一个用于检查模型检测结果的 Gate,再将结果分支连接到 Slack 消息、webhook 或数据集。本指南将从 Capture and Alert 模板开始,逐步构建该工作流,然后扩展工作流以串联第二个模型、保存工作流、在新图像上重新运行,并导出为 Python。
你将构建的工作流#
最终工作流会使用 YOLO26 模型检查图像,并且仅在检测到 person 时,通过同一个条件执行三项操作:
- 发送 Slack 消息到你已连接的频道,其中包含检测结果。
- 向公共 HTTPS 端点发送 JSON webhook,该端点需配置为接受你选择的 JSON 正文,例如工单工具或内部服务的端点。
- 将图像保存到数据集,以便你之后为图像添加标签并重新训练模型。
Agents 会在画布上将图像、模型、条件和操作连接为模块,所有已登录的 Ultralytics Platform 用户都可以在个人和团队工作区中使用 Agents(Agents 文档)。点击 Run 后,工作流会针对所选图像、视频或数据集运行;它不是持续监控摄像头的服务。若要了解 Agents 是什么以及我们为何构建它,请阅读隆重介绍 Ultralytics Agents。
本指南使用 Image → YOLO → Gate,Gate 会分支连接到 Slack、Webhook 和目标 Dataset。如需查看完整的模块参考和其他工作流模式,请参阅 Agents 文档。

第 1 步:加载 Capture and Alert 模板#
在 Platform 侧边栏中打开 Agents,点击 Add block,切换到 Templates,然后选择 Capture and Alert。加载模板会替换当前画布上的模块,Platform 会先要求你确认。
Capture and Alert 已将 person 检测条件连接到数据集采集和 Slack;你需要配置这些目标,并在下方添加 webhook 分支。其他模板 YOLO → VLM Monitor 和 Collect Uncertain Detections 是可编辑的起点,分别用于描述场景和构建审核数据集。

第 2 步:选择输入图像#
选择 Input image 模块,然后选择一张包含 person 的图像,可以上传图像,也可以从已上传的数据集中选择。首次运行共享试用版时,请使用不超过 4 百万像素的图像。上传的文件会保留在浏览器中,直到你运行工作流;刷新页面后文件会被清除。若要处理多张图像,请将 Image 模块替换为 Dataset 模块,选择源数据集和数据拆分,设置输入数量上限,然后将其连接到 YOLO 模块。
第 3 步:选择 YOLO 模型和置信度#
选择 Detect people 模块。该模板使用 YOLO26 nano(yolo26n),这是共享试用版运行的模型。若要使用其他官方 YOLO 模型或在工作区中训练的模型(例如自定义缺陷检测器或 PPE 检测器),请在此模块的 Model 下选择该模型,并在第 7 步选择专用部署来执行工作流。Minimum detection confidence 设置会在任何条件运行之前丢弃置信度较低的检测结果;如果你希望工作流对置信度较低的检测结果作出反应,请调低此设置。
第 4 步:在 Gate 模块中设置条件#
Gate 模块决定是否运行后续操作。在 Capture and Alert 中,选择 Person detected 模块并确认其设置:
- 模式: Condition
- 检测模型: Detect people
- 度量: Detection count
- 类别名称: person
- 条件: 大于或等于
- 比较值: 1

将类别名称改为与你的模型类别相符的名称,或使用 * 表示任意类别。你也可以测量检测置信度而非数量;将 YOLO 模块的最低置信度设置得足够低,以保留你想要评估的检测结果。置信度条件在至少一个检测结果符合条件时通过,因此,分数为 0.3 和 0.9 的图像符合 0.25 到 0.5 的范围,而没有检测结果的图像永远不会通过置信度条件。如果条件不匹配,该图像对应的已连接操作就不会运行。
第 5 步:配置 Slack 和 webhook#
Slack。 在 Settings > Integrations 中连接一次 Slack(在团队工作区中,这需要由工作区管理员或所有者完成),然后编辑 Notify Slack 模块的消息。使用 {output} 纳入上游结果,如模板中的 Person detected: {output}。这些工作流消息与 Platform 的训练和部署通知彼此独立(Slack 集成文档)。
Webhook。 点击 Add block,在 Blocks 选项卡中选择 Webhook,然后将 Person detected 的输出连接到该模块,同时保留现有的 Slack 和数据集连接。输入一个公共 HTTPS 目标 URL,并将其配置为接受你的 JSON 正文,例如 {"text": "{output}"}。Platform 会针对每个结果发送一个 POST 请求,其中包含 Content-Type: application/json。正文最多可包含 10,000 个字符;请求不会跟随重定向;连接会在 5 秒后超时;非 2xx 响应会导致模块失败。Webhook 模块是终端模块,不会将结果继续传递到工作流的后续部分。

一个 Gate 输出可以同时连接多个模块,因此 Slack、webhook 和数据集都会使用同一个已评估的条件。模块失败时会显示红色轮廓。
第 6 步:保留符合条件的图像以供重新训练#
选择 Captured images 模块,然后选择一个你有编辑权限的现有数据集;如果需要,可以先按照数据集创建指南创建数据集。已连接的云存储数据集和本地部署数据集不能用作目标数据集,且正常的数据集存储配额仍然适用。符合条件的图像会添加到数据集的训练拆分中,但不会添加标签;数据集中已有的图像会被跳过。在标注编辑器中打开数据集,审核并标注收集到的图像,然后在下一次 Platform 训练运行中使用这些图像。
第 7 步:运行、保存并在新图像上重新运行#
在 Run 按钮旁选择运行方式:
| 选项 | 适用场景 | 局限 |
|---|---|---|
| 共享试用版 · 60 秒 | 试用小型工作流 | 最长 60 秒;最多 20 张输入图像,每张不超过 4 百万像素;最多 20 次模型或提供商调用;每分钟最多运行三次;一个本地 YOLO 模型,使用官方 YOLO26 nano 模型 |
| 现有专用部署 | 较大的数据集和较长的运行任务 | 使用该部署的硬件和定价;工作流没有总时长或图像数量上限,但仍受现有部署和提供商限制约束 |
| 新建部署 | 从构建器创建专用硬件 | 打开部署创建和定价对话框;请等待部署就绪后再运行 |
一个工作流最多可以有 20 个模块。Slack 和 webhook 操作计为模型或提供商调用,分支可能会增加每张图像的调用次数。运行过程中,模块会显示进度;你可以点击 Stop 取消运行。
配置好输入和目标后,点击 Run。检查模块结果,然后查看已连接的 Slack 频道、webhook 接收端和目标数据集。如果没有操作运行,请检查 YOLO 是否检测到 person,以及 Gate 条件是否匹配;条件不匹配时,已连接的操作不会执行。
点击 Save workflow 为工作流命名,以便之后从 Open workflow 重新打开。若要在新数据上重新运行,请打开已保存的工作流,选择新图像或其他数据集,然后再次点击 Run。保存不会安排运行任务。
第 8 步:串联第二个模型#
如果你除了想知道“是否有 person?”,还想知道“发生了什么?”,请添加一个 LLM 模块,将 Gate 连接到该模块,再将 LLM 连接到新的 Output 模块,按照 YOLO → VLM Monitor 模板的模式进行配置。Gate 会评估 YOLO 的检测结果,视觉语言模型则只描述通过条件的图像。在 LLM 模块中选择视觉语言模型并输入提示词,然后在 Settings > API Keys 中添加对应的提供商密钥(在团队工作区中,由工作区所有者添加密钥)。语言模型的使用费用由该提供商收取。若要通过已部署的模型执行预测步骤,请使用 Deployment 模块调用现有的、已就绪的 Platform 部署。
第 9 步:将工作流导出为 Python 或通过 API 管理#
点击 Python 查看生成的工作流代码。若要在本地运行,请安装 ultralytics 和 ultralytics-platform 包,在环境中设置所需的提供商密钥,并选择源输入。通过代码管理工作流的团队可以使用 Agents API;该 API 在 Python SDK 中以 client.agents(ultralytics-platform>=0.1.74)的形式提供,可用于列出、保存和删除 agents。若要在 Platform 上启动运行,请在画布上打开已保存的工作流并点击 Run。
何时该选择其他方案#
Agents 适用于按需运行的图像、视频片段和数据集事件驱动检查。其他任务可能适合采用其他方案:
- 用 Python 编写。若要持续处理实时摄像头画面,请使用 Ultralytics Python 包通过代码构建流水线;我们的安全警报系统指南展示了一个使用 Ultralytics YOLO26 构建的代码式警报项目。
- 多路视频流流水线。NVIDIA 将 DeepStream 描述为流分析工具包,它提供基于 GStreamer 的框架,可在 NVIDIA GPU 上构建多路、多模型推理流水线。
- 通用自动化工具。Node-RED 将自身描述为一种基于流程的编程工具,带有基于浏览器的流程编辑器,适合需要在计算机视觉之外构建更广泛自动化流程的团队。
常见问题
Ultralytics Platform 中的 Ultralytics Agents 支持在可视化画布上将 YOLO 模型、Platform 部署和视觉语言模型串联为模块。常见模式是 YOLO → Gate → LLM:YOLO 用于筛选图像,视觉语言模型则只描述通过条件的图像。
Ultralytics Agents 将 YOLO 检测模型与 Gate 模块相结合;Gate 可根据检测数量、置信度和类别应用规则,并支持 Slack、webhook 和数据集操作。团队可以从模板开始构建工作流,无需编写代码,之后还可以将工作流导出为 Python。
在 Ultralytics Agents 中,将 Gate 模块连接到 Webhook 模块。仅当条件匹配时才会触发 webhook;每个结果都会向公共 HTTPS 端点发送一个 JSON POST 请求,其中的
{output}会被检测结果替换。Ultralytics Agents 会通过连接到条件的 Slack 模块发送 Slack 消息,例如“person 数量 ≥ 1”。在 Settings > Integrations 中连接一次 Slack,然后使用 Capture and Alert 模板。
Ultralytics Agents 会按名称保存工作流。打开已保存的工作流,将新图像或数据集选为输入,然后点击 Run。在专用部署上运行时,工作流没有总时长或图像数量上限,但仍受现有部署和提供商限制约束。
Ultralytics Agents 是 Ultralytics Platform 中的无代码计算机视觉工作流构建器,提供可编辑模板,可将 Ultralytics YOLO 检测结果连接到条件、Slack 警报、webhook 和数据集采集。其共享试用版无需创建部署即可运行小型工作流。Slack 操作需要已连接的 Slack 频道,视觉语言模型步骤需要对应的提供商密钥。
不会。点击 Run 后,工作流才会针对所选图像、视频或数据集运行;保存工作流不会安排运行任务。持续监控摄像头需要单独通过代码或流处理方式实现。
作者
评论
提出问题、分享你的结果,或帮助其他人。










