本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建人工审核工作流程 (API)
您可以创建人工审核工作流程,或流定义使用 Amazon A2I,CreateFlowDefinition
operation.
在此示例中,您可以在 Amazon S3 中使用自己的文档,也可以下载此示例文档
确保您的 Amazon S3 存储桶位于同一位置AWS你计划用来调用的区域AnalyzeDocument
. 要创建存储桶,请按照中的说明操作创建存储桶中的Amazon Storage Service 控制台用户指南.
先决条件
要使用 Amazon A2I API 创建人工审核工作流程,您必须完成以下先决条件:
-
配置 IAM 角色,同时调用 Amazon A2I 和 Amazon Textract API 操作的权限。要开始使用,您可以将 AWS 策略、AmazonAugmentedAIFullAccess 和 AmazonTextractFullAccess 附加到 IAM 角色。记录 IAM 角色 Amazon 资源名称 (ARN),以后您将需要它。
有关使用 Amazon Textract 时的更精细的权限,请参阅Amazon Textract 基于身份的策略示例. 对于 Amazon A2I,请参阅Amazon Advanced Augmented AI 中的权限和安全性中的Amazon SageMaker 开发人员指南.
-
创建一个私人工作团队并记录工作组 ARN。如果您是 Amazon A2I 的新用户,请按照中的说明进行操作。第 1 步:创建工作团队(控制台).
-
创建工作人员任务模板。按照中的说明进行操作创建工作线程任务模板以使用 Amazon A2I 控制台创建模板。在创建模板时,选择提取形式提取为了模板类型. 在模板中,替换
s3_arn
将与您的文档的 Amazon S3 ARN 结合在一起。在中添加其他员工说明<full-instructions header="Instructions"></full-instructions>
.如果您要预览模板,请确保您的 IAM 角色具有中介绍的权限。启用工作人员任务模板预览.
创建模板后,记录工作人员任务模板 ARN。
您使用在中创建的资源先决条件配置CreateFlowDefinition
请求. 在此请求中,您还要指定 JSON 格式的激活条件。要了解如何配置激活条件,请参阅将人工循环激活条件 JSON 架构与 Amazon Textract 一起使用.
创建人工审核工作流程(适用于 Python 的 AWS 开发工具包 (Boto3))
要使用此示例,请替换红色
将文本包含您的规范和资源。
首先,使用以下代码将激活条件编码为 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) 调用create_flow_definition
在 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
" )