Label Studio中的Webhooks:何时以及如何使用
Webhooks 允许您设置集成,订阅 Label Studio 内部发生的特定事件。当事件触发时,Label Studio 会向配置的 webhook URL 发送一个 HTTP POST 请求。这使您能够自动化工作流程,并将 Label Studio 与其他系统无缝集成。
Label Studio 支持以下 Webhook 事件:
TASK_CREATED: 当新任务创建时触发。TASK_DELETED: 当任务被删除时触发。ANNOTATION_CREATED: 当创建新标注时触发。ANNOTATION_UPDATED: 当标注被更新时触发。ANNOTATION_DELETED: 当标注被删除时触发。PROJECT_CREATED: 在项目创建时触发。PROJECT_UPDATED: 当项目设置更新时触发。PROJECT_DELETED: 在项目被删除时触发。START_TRAINING: 当为连接的模型启动训练操作时触发。
有关设置和开发Label Studio webhooks的更多信息,请参阅我们的文档。
使用Webhooks与API的对比
何时应该使用webhooks而非SDK或其他API工作流?
该SDK非常适合以下场景:
- 批量操作: 执行批量操作或批量查询数据。
- 自定义集成: **构建自定义集成,以便更好地控制数据流和操作。
- 按需操作: 当您需要按需执行操作而非响应特定事件时。
不过,您可能需要考虑在以下情况下使用webhooks:
- 实时通知: 当您需要接收Label Studio中发生事件的实时通知时,例如任务创建、标注更新或项目变更。Webhook会在这些事件发生时自动向您配置的URL发送
HTTP POST请求。 - 自动化工作流: 如果您希望基于Label Studio中的特定事件自动化工作流程。例如,在完成一定数量的标注后启动机器学习模型训练过程,或在数据集仓库中触发数据版本控制。
- 与外部系统集成: 当您需要将Label Studio与能够处理
HTTP POST请求的外部系统集成时。Webhook非常适合用于在Label Studio中发生事件时通知其他服务或应用程序,而无需持续轮询。 - 事件驱动操作: 如果您的使用场景需要在Label Studio中发生事件后立即采取行动,webhooks提供了一种直接高效的方式来实现这一需求。
Webhook 使用案例示例
模型流水线自动化
使用webhooks与您的ML后端结合,实现训练管道的自动化。针对此用例,您可以使用和/或事件。
由于标注webhook负载中包含标注结果,您可以在ML流程中极具创意地运用它们。例如,您可以使用webhook自动化提示工程任务,这样每当捕获到负面/虚假评论时,就能触发事件,通过领域专家或另一个大语言模型重写提示词。
另一个例子是,您可以使用webhook将标注数据发送到外部机器学习系统,例如Amazon Sagemaker。有关此过程的完整教程,请参阅从原始数据到训练模型:使用Label Studio和Amazon SageMaker自动化您的ML流程。
- 在AWS中创建并配置您的webhook端点。
- 在Label Studio的项目设置中,配置webhook将事件发送到您的端点。
- 当创建标注时,端点监听器会触发一个脚本,开始在Amazon SageMaker中训练机器学习模型。
- 监控训练过程并在完成后更新模型注册表。
提示:在Label Studio Enterprise中,用户可以识别基准标注。这使您能够根据基准标注跟踪模型性能,并根据性能指标触发操作。
数据版本控制
随着项目进展创建训练数据的版本。在您的组织中,创建版本化数据集可能是支持可重现性和可追溯性的一项要求。
- 创建并配置您的webhook端点。
- 在Label Studio的项目设置中,配置webhook将事件发送到您的端点。
- 当创建新任务时,端点监听器会触发数据预处理流水线。
- 预处理后的数据随后存储在版本化的数据集仓库中,如DVC或Pachyderm。
通知系统
当有新项目准备就绪可供标注时,通知标注人员。
- 创建并配置您的webhook端点。
- 在Label Studio的项目设置中,配置webhook将事件发送到您的端点。
- 当创建新项目时,端点监听器会建立一个新的数据管理管道。
- 通知标注人员新项目已准备就绪,可以进行标注。
提示:Label Studio Enterprise 内置了多项队列管理和自动化工作流功能。例如,您可以自动将标注任务分配给一致性评分较低的标注人员。
本体创建
使用标注者提交的信息更新外部数据库。例如,您可以使用此功能帮助构建内部知识库,当标注者对LLM响应提供反馈时。
- 创建并配置您的webhook端点。
- 在Label Studio的项目设置中,配置webhook将事件发送到您的端点。
- 端点监听器解析有效载荷以提取更新后的标签列表。
- 更新外部数据库中的标签列表,使其与Label Studio保持同步。
主动学习与标注队列管理
触发主动学习并根据标注结果重新组织标注队列。
- 创建并配置您的webhook端点。
- 在Label Studio的项目设置中,配置webhook将事件发送到您的端点。
- 端点监听器触发脚本执行主动学习,选择最不确定的任务进行进一步标注。
- 使用新的标注更新模型并重复该过程。根据预测分数重新组织队列(例如数据管理器中的标签页)。
提示:Label Studio Enterprise包含一系列内置的队列管理和自动化工作流功能。例如,您可以自动将标注任务分配给一致性评分较低的标注人员。
希望本文能帮助您更好地理解何时在Label Studio中使用webhooks,并展示这一功能的灵活性。如果您想进一步了解Label Studio Enterprise如何为您的标注工作流提供更强大的自动化和定制能力,预约时间与我们的专家交流。祝您标注愉快!