创建人工审核工作流程 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建人工审核工作流程

使用 Amazon Augmented AI (Amazon A2I)人工审核工作流,或者流定义对于指定以下内容:

  • 对于 Amazon Textract 和 Amazon Rekognition 内置任务类型,指定调用您人工循环的条件。

  • 将任务发送到的员工

  • 您的工作人员收到的一组说明,称为作人员任务模板

  • 工作人员任务的配置,包括接收任务的工作人员数量和完成任务的时间限制。

  • 存储输出数据的位置

您可以在 SageMaker 控制台中或使用 SageMaker 创建人工审核工作流程。CreateFlowDefinitionoperation. 创建流定义时,您可以使用控制台构建工作人员任务模板以及 Amazon Rekognition 任务类型。

重要

启动人类循环的人类循环激活条件(例如,置信阈值)不适用于 Amazon A2I 自定义任务类型。使用控制台为自定义任务类型创建流定义时,您无法指定激活条件。使用 Amazon A2I API 为自定义任务类型创建流定义时,您无法将HumanLoopActivationConditions的属性HumanLoopActivationConditionsConfig参数。要控制何时启动人工审核,请指定在自定义应用程序中调用 StartHumanLoop 的条件。在这种情况下,每次 StartHumanLoop 调用都会导致人工审核。有关更多信息,请参阅 在自定义任务类型中使用 Amazon Augmented AI

先决条件

要创建人工审核工作流定义,您必须已完成中所述的先决条件。使用 Augmented AI 的先决条件.

如果您使用 API 为任何任务类型创建流定义,或者在控制台中创建流定义时使用自定义任务类型,请首先创建工作人员任务模板。有关更多信息,请参阅 创建和管理工作人员任务模板

如果您在控制台中为内置任务类型创建流定义时,希望预览工作人员任务模板,请确保使用类似于所述的策略,向您用于创建流定义的角色授予访问 Amazon S3 存储桶的权限(其中包含您的模板构件)。在启用工作人员任务模板预览 .

创建人工审核工作流程(控制台)

使用此过程可以使用 SageMaker 控制台创建 Amazon Augmented AI (Amazon A2I) 人工审核工作流程。如果您刚开始使用 Amazon A2I,我们建议您使用组织中的人员创建一个私有工作团队,并在创建流定义时使用该工作团队的 ARN。要了解如何设置私有人力和创建工作团队,请参阅创建私有人力(Amazon SageMaker 控制台)。如果您已设置私有人力,请参阅使用 SageMaker 控制台创建工作团队以了解如何将工作团队添加到该人力中。

如果您将 Amazon A2I 与某个内置任务类型结合使用,则在控制台中创建人工审查工作流程时,可以使用 Augmented AI 提供的默认工作人员任务模板来创建工作人员说明。要查看 Augmented AI 提供的默认模板示例,请参阅中的内置任务类型。使用 Amazon A2I 使用案例和示例.

创建流定义(控制台)

  1. 从打开 SageMaker 控制台https://console.amazonaws.cn/sagemaker/.

  2. 在导航窗格的 Augmented AI 部分中,选择人工审核工作流,然后选择创建人工审核工作流

  3. Overview (概述) 中,执行以下操作:

    1. 名称中,输入唯一工作流名称。该名称必须使用小写字母,在您账户所在的 Amazon 区域内唯一,并且最多可以包含 63 个字符。有效字符包括:a-z、0-9 和 -(连字符)。

    2. 输出的 S3 位置中,输入将人工审核结果存储到的 S3 存储桶。该存储桶必须与工作流位于同一 Amazon 区域中。

    3. 适用于IAM 角色中,选择具有所需权限的角色。如果您选择内置任务类型并希望在控制台中预览工作人员模板,请提供附加了启用工作人员任务模板预览 中所描述策略类型的角色。

  4. 任务类型中,选择您希望人工执行的任务类型。

  5. 如果您选择 Amazon Rekognition 或 Amazon Textract 任务类型,请指定调用人工审核的条件。

    • 对于 Amazon Rekognition 图像审核任务,选择一个推理置信度评分阈值区间,以启动人工审核。

    • 对于 Amazon Textract 任务,当特定表单密钥缺失或表单密钥检测置信度较低时,您可以启动人工审核。如果在对文本中的所有表单密钥进行评估后,置信度低于任何表单密钥所需的阈值,您也可以启动人工审核。两个变量指定了信心阈值:识别信心资格认证信. 要了解有关这些变量的更多信息,请参阅在 Amazon Textract 中使用亚马逊 Augmented AI

    • 对于这两种任务类型,您可以随机将一定比例的数据对象(图像或表单)及其标签发送给工作人员以供审查。

  6. 配置并指定工作人员任务模板:

    1. 如果您使用的是 Amazon Rekognition 或 Amazon Textract 任务类型:

      1. 创建模板部分:

        • 要使用 Amazon Rekognition 和 Amazon Textract 任务类型的 Amazon A2I 默认模板为您的工作人员创建说明,请选择从默认模板构建.

          • 如果您选择从默认模板构建,请在工作人员任务设计中创建您的说明。

            • 提供模板名称这是独一无二的Amazon你所在的地区。

            • 说明部分中,提供有关如何完成您的任务的详细说明。为了帮助工作人员达到更好的准确性,请提供好示例和坏示例。

            • (可选)在其他说明中,向您的工作人员提供其他信息和说明。

              有关创建有效说明的信息,请参阅创建良好的工作人员说明

        • 要选择您已创建的自定义模板,请从模板菜单中选择该模板,并提供一个任务描述来简要描述工作人员的任务。要了解如何创建自定义模板,请参阅 创建工作人员任务模板

    2. 使用自定义任务类型时:

      1. 工作者任务模板在部分中,从列表中选择您的模板。您在 SageMaker 控制台中创建的所有模板都将显示在此列表中。要了解如何为自定义任务类型创建模板,请参阅创建和管理工作人员任务模板

  7. (可选)预览工作人员模板:

    对于 Amazon Rekognition 和 Amazon Textract 任务类型,您可以选择选择查看示例工作人员任务以预览你的工作人员任务 UI。

    如果要为自定义任务类型创建流定义,您可以使用 RenderUiTemplate 操作预览工作人员任务 UI。有关更多信息,请参阅 预览工作人员任务模板

  8. 工作人员中,选择人力类型。

  9. 选择创建

后续步骤

创建人工审核工作流后,该工作流将显示在控制台中的人工审核工作流下。要查看流定义的 Amazon 资源名称 (ARN) 和配置详细信息,请通过选择名称来选择工作流。

如果您使用的是内置任务类型,则可以使用流定义 ARN,通过该类型启动人工循环。Amazon服务的 API(例如,Amazon Textract API)。对于自定义任务类型,您可以使用 ARN,通过 Amazon Augmented AI 运行时 API 启动人工循环。要了解有关这两个选项的更多信息,请参阅创建和启动人工循环

创建人工审核工作流程 (API)

要使用 SageMaker API 创建流定义,请使用CreateFlowDefinitionoperation. 完成后,执行使用 Augmented AI 的先决条件,请按照以下步骤了解如何使用此 API 操作。

有关的概述CreateFlowDefinition操作和有关每个参数的详细信息,请参阅CreateFlowDefinition.

创建流定义 (API)

  1. 对于 FlowDefinitionName,输入唯一名称。该名称在您账户所在的 Amazon 区域中必须唯一,并且最多可以包含 63 个字符。有效字符包括:a-z、0-9 和 -(连字符)。

  2. 对于 RoleArn,输入您为授予对数据源访问权限而配置的角色的 ARN。

  3. 对于 HumanLoopConfig,输入有关工作人员及其所见内容的信息。有关 HumanLoopConfig 中每个参数的信息,请参阅 HumanLoopConfig

  4. (可选)如果您使用内置任务类型,请在中提供启动人工循环的条件。HumanLoopActivationConfig. 要了解如何创建 HumanLoopActivationConfig 参数所需的输入,请参阅亚马逊中用于人 Augmented AI 循环激活条件的 JSON 架构。如果您没有在此指定条件,则当您向Amazon与内置任务类型(例如 Amazon Textract 或 Amazon Rekognition)关联的服务(例如 Amazon Textract 或 Amazon Rekognition),该服务将每个任务发送给工作人员以进行审查。

    如果您使用自定义任务类型,则将禁用 HumanLoopActivationConfig。要了解如何使用自定义任务类型控制何时将任务发送给工作人员,请参阅在自定义任务类型中使用 Amazon Augmented AI

  5. (可选)如果您使用的是内置任务类型,Amazon Rekognition 在HumanLoopRequestSource参数。

  6. 适用于OutputConfig中,指示在 Amazon Simple Storage Service (Amazon S3) 中存储人工循环输出的位置。

  7. (可选)使用Tags以输入键值对以帮助您分类和组织流定义。每个标签都由键 和值组成,这两个参数都由您定义。

Amazon Textract – Key-value pair extraction

以下是使用Amazon SDK for Python (Boto3). 您必须使用'AWS/Textract/AnalyzeDocument/Forms/V1'创建 Amazon Textract 人工循环。只包括PublicWorkforceTaskPrice如果你使用的是 Mechanical Turk 员队伍。

sagemaker_client = boto3.client('sagemaker', aws_region) response = sagemaker_client.create_flow_definition( FlowDefinitionName='ExampleFlowDefinition', HumanLoopRequestSource={ 'AwsManagedHumanLoopRequestSource': 'AWS/Textract/AnalyzeDocument/Forms/V1' }, HumanLoopActivationConfig={ 'HumanLoopActivationConditionsConfig': { 'HumanLoopActivationConditions': '{...}' } }, HumanLoopConfig={ 'WorkteamArn': 'arn:aws:sagemaker:aws_region:aws_account_number:workteam/private-crowd/workteam_name', 'HumanTaskUiArn': 'arn:aws:sagemaker:aws_region:aws_account_number:human-task-ui/template_name', 'TaskTitle': 'Example task title', 'TaskDescription': 'Example task description.', 'TaskCount': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'TaskTimeLimitInSeconds': 123, 'TaskKeywords': [ 'Keyword1','Keyword2' ], 'PublicWorkforceTaskPrice': { 'AmountInUsd': { 'Dollars': 123, 'Cents': 123, 'TenthFractionsOfACent': 123 } } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/', 'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab' }, RoleArn='arn:aws:iam::aws_account_number:role/role_name', Tags=[ { 'Key': 'KeyName', 'Value': 'ValueName' }, ] )
Amazon Rekognition – Image moderation

以下是使用Amazon SDK for Python (Boto3). 您必须使用'AWS/Rekognition/DetectModerationLabels/Image/V3'以创建 Amazon Rekognition 流定义。只包括PublicWorkforceTaskPrice如果你使用的是 Mechanical Turk 员队伍。

sagemaker_client = boto3.client('sagemaker', aws_region) response = sagemaker_client.create_flow_definition( FlowDefinitionName='ExampleFlowDefinition', HumanLoopRequestSource={ 'AwsManagedHumanLoopRequestSource': 'AWS/Rekognition/DetectModerationLabels/Image/V3' }, HumanLoopActivationConfig={ 'HumanLoopActivationConditionsConfig': { 'HumanLoopActivationConditions': '{...}' } }, HumanLoopConfig={ 'WorkteamArn': 'arn:aws:sagemaker:aws_region:aws_account_number:workteam/private-crowd/workteam_name', 'HumanTaskUiArn': 'arn:aws:sagemaker:aws_region:aws_account_number:human-task-ui/template_name', 'TaskTitle': 'Example task title', 'TaskDescription': 'Example task description.', 'TaskCount': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'TaskTimeLimitInSeconds': 123, 'TaskKeywords': [ 'Keyword1','Keyword2' ], 'PublicWorkforceTaskPrice': { 'AmountInUsd': { 'Dollars': 123, 'Cents': 123, 'TenthFractionsOfACent': 123 } } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/', 'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab' }, RoleArn='arn:aws:iam::aws_account_number:role/role_name', Tags=[ { 'Key': 'KeyName', 'Value': 'ValueName' }, ] )
Custom Workflow

以下是为自定义集成创建人工审核工作流程(流定义)的请求示例。要创建这种类型的人工审核工作流程,请省略HumanLoopRequestSource来自流程定义请求。您只需要包含PublicWorkforceTaskPrice如果你使用的是 Mechanical Turk 员队伍。

sagemaker_client = boto3.client('sagemaker', aws_region) response = sagemaker_client.create_flow_definition( FlowDefinitionName='ExampleFlowDefinition', HumanLoopActivationConfig={ 'HumanLoopActivationConditionsConfig': { 'HumanLoopActivationConditions': '{...}' } }, HumanLoopConfig={ 'WorkteamArn': 'arn:aws:sagemaker:aws_region:aws_account_number:workteam/private-crowd/workteam_name', 'HumanTaskUiArn': 'arn:aws:sagemaker:aws_region:aws_acount_number:human-task-ui/template_name', 'TaskTitle': 'Example task title', 'TaskDescription': 'Example task description.', 'TaskCount': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'TaskTimeLimitInSeconds': 123, 'TaskKeywords': [ 'Keyword1','Keyword2' ], 'PublicWorkforceTaskPrice': { 'AmountInUsd': { 'Dollars': 123, 'Cents': 123, 'TenthFractionsOfACent': 123 } } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/', 'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab' }, RoleArn='arn:aws:iam::account_number:role/role_name', Tags=[ { 'Key': 'KeyName', 'Value': 'ValueName' }, ] )

后续步骤

成功调用 CreateFlowDefinition API 操作的返回值是流定义的 Amazon 资源名称 (ARN)。

如果您使用的是内置任务类型,则可以使用流定义 ARN,通过该类型启动人工循环。Amazon服务的 API(即 Amazon Textract API)。对于自定义任务类型,您可以使用 ARN,通过 Amazon Augmented AI 运行时 API 启动人工循环。要了解有关这些选项的更多信息,请参阅创建和启动人工循环