

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

# 创建人工审核工作流程 (API)
<a name="a2i-textract-create-flow-definition-api"></a>

您可以创建人工审核工作流程，或*流定义*使用 Amazon A2I，[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html)operation.

在此示例中，您可以在 Amazon S3 中使用自己的文档，也可以下载[此示例文档](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2020/04/17/sample-document-final.png)然后将其存储在 S3 存储桶中。

确保您的 Amazon S3 存储桶位于同一位置AWS你计划用来调用的区域`AnalyzeDocument`. 要创建存储桶，请按照中的说明操作[创建存储桶](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html)中的*Amazon Storage Service 控制台用户指南*.

**先决条件**

要使用 Amazon A2I API 创建人工审核工作流程，您必须完成以下先决条件：
+ 配置 IAM 角色，同时调用 Amazon A2I 和 Amazon Textract API 操作的权限。要开始使用，您可以将 AWS 策略、AmazonAugmentedAIFullAccess 和 AmazonTextractFullAccess 附加到 IAM 角色。记录 IAM 角色 Amazon 资源名称 (ARN)，以后您将需要它。

  有关使用 Amazon Textract 时的更精细的权限，请参阅[Amazon Textract 基于身份的策略示例](security_iam_id-based-policy-examples.md). 对于 Amazon A2I，请参阅[Amazon Advanced Augmented AI 中的权限和安全性](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-permissions-security.html)中的*Amazon SageMaker 开发人员指南*.
+ 创建一个私人工作团队并记录工作组 ARN。如果您是 Amazon A2I 的新用户，请按照中的说明进行操作。[第 1 步：创建工作团队（控制台）](a2i-textract-create-flow-definition-console.md#a2i-textract-create-flow-definition-workteam).
+ 创建工作人员任务模板。按照中的说明进行操作[创建工作线程任务模板](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-worker-template-console.html#a2i-create-worker-template-console)以使用 Amazon A2I 控制台创建模板。在创建模板时，选择**提取形式提取**为了**模板类型**. 在模板中，替换`s3_arn`将与您的文档的 Amazon S3 ARN 结合在一起。在中添加其他员工说明`<full-instructions header="Instructions"></full-instructions>`.

  如果您要预览模板，请确保您的 IAM 角色具有中介绍的权限。[启用工作人员任务模板预览](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-permissions-security.html#permissions-for-worker-task-templates-augmented-ai).

  创建模板后，记录工作人员任务模板 ARN。

您使用在中创建的资源**先决条件**配置`CreateFlowDefinition`请求. 在此请求中，您还要指定 JSON 格式的激活条件。要了解如何配置激活条件，请参阅[将人工循环激活条件 JSON 架构与 Amazon Textract 一起使用](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-json-humantaskactivationconditions-textract-example.html).

## 创建人工审核工作流程（适用于 Python 的 AWS 开发工具包 (Boto3)）
<a name="a2i-textract-create-flow-definition-api-example"></a>

要使用此示例，请替换{{红色}}将文本包含您的规范和资源。

首先，使用以下代码将激活条件编码为 JSON 对象。如果 Amazon Textract 返回的信心分数低于 99，则会触发人工评论*邮寄地址*及其值，或者如果文档中检测到的任何键值对返回的置信度分数低于 90。如果您使用本示例中提供的示例文档，则这些激活条件将创建人工审阅任务。

```
import json

humanLoopActivationConditions = json.dumps({{"{
                "Conditions": [
                    {
                        "ConditionType": "ImportantFormKeyConfidenceCheck",
                        "ConditionParameters": {
                            "ImportantFormKey": "Mail Address",
                            "KeyValueBlockConfidenceLessThan": 99,
                            "WordBlockConfidenceLessThan": 99
                        }
                    },
                    {
                        "ConditionType": "ImportantFormKeyConfidenceCheck",
                        "ConditionParameters": {
                            "ImportantFormKey": "*",
                            "KeyValueBlockConfidenceLessThan": 90,
                            "WordBlockConfidenceLessThan": 90
                        }
                    }
                ]
            }"}}
)
```

使用`humanLoopActivationConditions`要配置`create_flow_definition`请求. 以下示例使用 SDK for Python (Boto3) 调用[https://docs.aws.amazon.com/goto/boto3/sagemaker-2017-07-24/CreateFlowDefinition](https://docs.aws.amazon.com/goto/boto3/sagemaker-2017-07-24/CreateFlowDefinition)在 us-west-2 区 AWS 中。它指定使用私有工作团队。

```
response = client.create_flow_definition(
    FlowDefinitionName='string',
    HumanLoopRequestSource={
         'AwsManagedHumanLoopRequestSource': {{"AWS/Textract/AnalyzeDocument/Forms/V1"}}
    }, 
    HumanLoopActivationConfig={
        'HumanLoopActivationConditionsConfig': {
            'HumanLoopActivationConditions': humanLoopActivationConditions
        }
    },
    HumanLoopConfig={
        'WorkteamArn': "arn:aws:sagemaker:{{us-west-2}}:{{111122223333}}:workteam/{{private-crowd}}/{{work-team-name}}",
        'HumanTaskUiArn': "arn:aws:sagemaker:{{us-west-2}}:{{111122223333}}:human-task-ui/{{worker-task-template-name}}",
        'TaskTitle': {{"Add a task title"}},
        'TaskDescription': {{"Describe your task"}},
        'TaskCount': {{1}},
        'TaskAvailabilityLifetimeInSeconds': {{3600}},
        'TaskTimeLimitInSeconds': {{86400}},
        'TaskKeywords': [{{"Document Review"}}, {{"Content Review"}}]
        }
    },
    OutputConfig={
        'S3OutputPath': "s3://{{DOC-EXAMPLE-BUCKET/prefix/}}",
    },
    RoleArn="arn:aws:iam::{{111122223333}}:role/{{role-name}}"
)
```