本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建和启动人工循环
人工循环 启动人工审核工作流,并将数据审核任务发送给工作人员。当您使用 Amazon A2I 内置任务类型之一时,当您的流程定义中指定的条件得到满足时,相应的 AWS 服务会代表您创建并启动人工循环。如果未在流定义中指定任何条件,则为每个对象创建一个人工循环。如果将 Amazon A2I 用于自定义任务,则在应用程序调用 StartHumanLoop
时,人工循环将启动。
按照以下说明操作,使用 Amazon Rekognition 或 Amazon Textract 内置任务类型以及自定义任务类型配置人工循环。
先决条件
要创建和启动人工循环,必须将AmazonAugmentedAIFullAccess
策略附加到配置或启动人工循环的 AWS Identity and Access Management (IAM) 用户或角色。这是您用来通过 HumanLoopConfig
为内置任务类型配置人工循环的身份。对于自定义任务类型,这是您用来调用 StartHumanLoop
的身份。
此外,使用内置任务类型时,您的用户或角色必须有权调用与您的任务类型关联的 AWS 服务的 API 操作。例如,如果将 Amazon Rekognition 与 Augmented AI 结合使用,您必须附加调用 DetectModerationLabels
所需的权限。有关可用于授予这些权限的基于身份的策略的示例,请参阅 Amazon Rekognition 基于身份的策略示例和 Amazon Textract 基于身份的策略示例。您也可以使用更一般的策略 AmazonAugmentedAIIntegratedAPIAccess
以授予这些权限。有关更多信息,请参阅创建有权调用亚马逊 A2I、亚马逊 Textract 和亚马逊 Rekognition 操作的用户 API。
要创建和启动人工循环,您需要一个流定义 ARN。要了解如何创建流定义(或人工审核工作流),请参阅创建人工审核工作流。
重要
Amazon A2I 要求,对于包含人工循环输入图像数据的所有 S3 存储桶,都必须附加 CORS 策略。要了解有关此变化的更多信息,请参阅 CORS权限要求。
为内置任务类型创建和启动人工循环
要使用内置任务类型启动人工循环,请使用相应服务的 API 来提供输入数据并配置人工循环。对于 Amazon Textract,您可以使用 AnalyzeDocument
API 操作。对于 Amazon Rekognition,您可以使用 DetectModerationLabels
API 操作。您可以使用 AWS CLI 或特定语言的 SDK 通过这些 API 操作创建请求。
重要
当您使用内置任务类型创建人工循环时,您可以使用 DataAttributes
指定一组与提供给 StartHumanLoop
操作的输入相关的 ContentClassifiers
。使用内容分类器声明您的内容不含个人身份信息或成人内容。
要使用 Amazon Mechanical Turk,请确保您的数据中不包含个人身份信息,包括 HIPAA 规定的受保护的健康信息。包括 FreeOfPersonallyIdentifiableInformation
内容分类器。如果您不使用此内容分类器,则 SageMaker 不会将您的任务发送给 Mechanical Turk。即使您的数据不含成人内容,也请包含 'FreeOfAdultContent'
分类器。如果您不使用这些内容分类器, SageMaker 可能会限制可以查看您的任务的 Mechanical Turk 工作人员。
在您使用内置任务类型的 AWS 服务 API 启动机器学习作业后,Amazon A2I 会监控该服务的推理结果。例如,在使用 Amazon Rekognition 运行作业时,Amazon A2I 会检查每个图像的推理置信度分数,并将其与流定义中指定的置信度阈值进行比较。如果满足启动人工审核任务的条件,或者如果您未在流定义中指定条件,则人工审核任务将发送到工作人员。
创建 Amazon Textract 人工循环
Amazon A2I 与 Amazon Textract 集成,以便您能够使用 Amazon Textract API 配置和启动人工循环。要将文档文件发送到 Amazon Textract 来进行文本分析,您可以使用 Amazon Textract AnalyzeDocument
API 操作。要向此文档分析作业添加人工循环,您必须配置参数 HumanLoopConfig
。
在配置人工循环时,您在 HumanLoopConfig
的 FlowDefinitionArn
中指定的流定义,必须与在 Document
参数的 Bucket
中标识的存储桶位于同一 AWS 区域。
下表显示了如何将此操作与 AWS CLI 和一起使用的示例 AWS SDK for Python (Boto3)。
在配置了人工循环的情况下运行 AnalyzeDocument
后,Amazon A2I 将监控来自 AnalyzeDocument
的结果,并根据流定义的激活条件检查该结果。如果一个或多个键/值对的 Amazon Textract 推理置信度分数满足审核条件,Amazon A2I 将启动人工审核循环,并将 HumanLoopActivationOutput
对象包含在 AnalyzeDocument
响应中。
创建 Amazon Rekognition 人工循环
Amazon A2I 将与 Amazon Rekognition 集成,以便您能够使用 Amazon Rekognition API 配置和启动人工循环。要将图像发送到 Amazon Rekognition 以进行内容审核,请使用 Amazon Rekognition DetectModerationLabels
API 操作。要配置人工循环,请在配置 DetectModerationLabels
时设置 HumanLoopConfig
参数。
在配置人工循环时,您在 HumanLoopConfig
的 FlowDefinitionArn
中指定的流定义,必须与在 Image
参数的 Bucket
中标识的 S3 存储桶位于同一 AWS 区域。
下表显示了如何将此操作与 AWS CLI 和一起使用的示例 AWS SDK for Python (Boto3)。
在配置了人工循环的情况下运行 DetectModerationLabels
后,Amazon A2I 将监控来自 DetectModerationLabels
的结果,并根据流定义的激活条件检查该结果。如果某个图像的 Amazon Rekognition 推理置信度分数满足审核条件,Amazon A2I 将启动人工审核循环,并将响应元素 HumanLoopActivationOutput
包含在 DetectModerationLabels
响应中。
为自定义任务类型创建和启动人工循环
要为自定义人工审核任务配置人工循环,请在应用程序中使用 StartHumanLoop
操作。本节提供了使用 AWS SDK for Python (Boto3) 和 AWS Command Line Interface (AWS CLI) 的人工循环请求示例。有关其他支持StartHumanLoop
特定语言的软件开发工具包的文档,请使用 Amazon Agumented AI Runtime StartHumanLoopAPI 文档中的 “另请参阅” 部分。请参阅使用 Amazon A2I 的使用场景和示例以查看演示如何将 Amazon A2I 与自定义任务类型结合使用的示例。
先决条件
要完成此过程,您需要:
-
输入数据的格式设置为 JSON 格式文件的字符串表示形式
-
流定义的 Amazon 资源名称 (ARN)
配置人工循环
-
对于
DataAttributes
,指定一组与提供给StartHumanLoop
操作的输入相关的ContentClassifiers
。使用内容分类器声明您的内容不含个人身份信息或成人内容。要使用 Amazon Mechanical Turk,请确保您的数据中不包含个人身份信息(包括 HIPAA 规定的受保护的健康信息),并包括
FreeOfPersonallyIdentifiableInformation
内容分类器。如果您不使用此内容分类器,则 SageMaker 不会将您的任务发送给 Mechanical Turk。即使您的数据不含成人内容,也请包含'FreeOfAdultContent'
分类器。如果您不使用这些内容分类器, SageMaker 可能会限制可以查看您的任务的 Mechanical Turk 工作人员。 -
对于
FlowDefinitionArn
,输入流定义的 Amazon 资源名称 (ARN)。 -
对于
HumanLoopInput
,以 JSON 格式文件的字符串表示形式输入您的输入数据。构建输入数据和自定义工作人员任务模板,以便在您启动人工循环时,向工作人员正确显示输入数据。请参阅预览工作人员任务模板以了解如何预览自定义工作人员任务模板。 -
对于
HumanLoopName
,输入人工循环的名称。该名称在您账户所在的区域中必须唯一,并且最多可以包含 63 个字符。有效字符:a-z、0-9 和 -(连字符)。
启动人工循环
-
要启动人工循环,请使用首选的特定于语言的 SDK 提交与以下示例类似的请求。
当您通过直接调用 StartHumanLoop
成功启动人工循环时,响应将包含一个 HumanLoopARN
和一个设置为 NULL
的 HumanLoopActivationResults
对象。您可以使用此人工循环名称来监控和管理您的人工循环。
后续步骤:
启动人工循环后,您可以使用 Amazon Agumented AI 运行时 API 和亚马逊 CloudWatch 事件对其进行管理和监控。要了解更多信息,请参阅监控和管理您的人工循环。