

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 인적 검토 워크플로 생성
<a name="a2i-create-flow-definition"></a>

Amazon Augmented AI(Amazon A2I) 인적 검토 워크플로 또는 흐름 정의를 사용하여 다음을 지정합니다.****
+ Amazon Textract 및 Amazon Rekognition 기본 제공 태스크 유형의 경우 인적 루프가 호출되는 조건
+ 작업이 전달되는 인력
+ 작업자가 수신하는 일련의 지침(작업자 태스크 템플릿이라고 함)**
+ 작업을 수신하는 작업자 수 및 작업 완료를 위한 시간 제한을 포함하여 작업자 작업의 구성 
+ 출력 데이터가 저장되는 위치 

사용자는 SageMaker AI 콘솔에서 또는 SageMaker AI [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html) 작업을 사용하여 인적 검토 워크플로를 만들 수 있습니다. 사용자는 흐름 정의를 생성하는 동안 Amazon Textract 및 Amazon Rekognition 태스크 유형에 대해 콘솔을 사용하여 작업자 태스크 템플릿을 생성할 수 있습니다.

**중요**  
인적 루프를 시작하는 인적 루프 활성화 조건(예: 신뢰도 임곗값)은 Amazon A2I 사용자 지정 태스크 유형에는 사용할 수 없습니다. 콘솔을 사용하여 사용자 지정 태스크 유형에 대한 흐름 정의를 생성하는 경우 활성화 조건을 지정할 수 없습니다. Amazon A2I API를 사용하여 사용자 지정 태스크 유형에 대한 흐름 정의를 생성하는 경우 `HumanLoopActivationConditionsConfig` 파라미터의 `HumanLoopActivationConditions` 속성을 설정할 수 없습니다. 인적 검토가 시작되는 시점을 제어하려면 사용자 지정 애플리케이션에서 `StartHumanLoop`가 호출되는 조건을 지정하세요. 이 경우 모든 `StartHumanLoop` 호출은 인적 검토를 초래합니다. 자세한 내용은 [Amazon Augmented AI를 사용자 지정 작업 유형과 함께 사용](a2i-task-types-custom.md) 섹션을 참조하세요.

**사전 조건**

인적 검토 흐름 정의를 생성하려면 먼저 [Augmented AI 사용을 위한 사전 조건](a2i-getting-started-prerequisites.md)에 설명된 사전 조건을 완료해야 합니다.

API를 사용하여 태스크 유형에 대한 흐름 정의를 생성하거나, 콘솔에서 흐름 정의를 생성할 때 사용자 지정 태스크 유형을 사용하는 경우 먼저 작업자 태스크 템플릿을 생성합니다. 자세한 내용은 [작업자 태스크 템플릿 생성 및 관리](a2i-instructions-overview.md) 섹션을 참조하세요.

콘솔에서 기본 제공 태스크 유형에 대한 흐름 정의를 생성하는 동안 작업자 태스크 템플릿을 미리 보려면 [작업자 작업 템플릿 미리 보기 사용](a2i-permissions-security.md#permissions-for-worker-task-templates-augmented-ai)에서 설명하는 것과 같은 정책을 사용하여 템플릿 아티팩트가 포함된 Amazon S3 버킷에 액세스할 수 있는 흐름 정의 권한을 생성하는 데 사용하는 역할을 부여합니다.



**Topics**
+ [인적 검토 워크플로 생성(콘솔)](#a2i-create-human-review-console)
+ [인적 검토 워크플로(API) 생성](#a2i-create-human-review-api)
+ [Amazon Augmented AI의 인적 루프 활성화 조건에 대한 JSON 스키마](a2i-human-fallback-conditions-json-schema.md)

## 인적 검토 워크플로 생성(콘솔)
<a name="a2i-create-human-review-console"></a>

이 절차에 따라 SageMaker AI 콘솔을 사용하여 Amazon Augmented AI(Amazon A2I) 인적 검토 워크플로를 만듭니다. Amazon A2I를 처음 사용하는 경우 조직의 구성원을 사용하여 프라이빗 작업 팀을 생성하고 흐름 정의를 생성할 때 이 작업 팀의 ARN을 사용하는 것이 좋습니다. 프라이빗 작업 인력을 설정하고 작업 팀을 생성하는 방법은 [프라이빗 작업 인력 생성(Amazon SageMaker AI 콘솔)](sms-workforce-create-private-console.md) 섹션을 참조하세요. 프라이빗 작업 인력을 이미 설정한 경우 [SageMaker AI 콘솔을 사용하여 작업 팀 생성](sms-workforce-management-private-console.md#create-workteam-sm-console) 섹션을 참조하여 해당 작업 인력에 작업 팀을 추가하는 방법을 알아봅니다.

Amazon A2I에서 기본 제공 태스크 유형 중 하나를 사용하는 경우 콘솔에서 인적 검토 워크플로를 생성하는 동안 사용자는 Augmented AI에서 제공하는 기본 작업자 태스크 템플릿을 사용하여 작업자 지침을 생성할 수 있습니다. Augmented AI에서 제공하는 기본 템플릿의 샘플을 보려면 [Amazon A2I를 사용한 사용 사례 및 예제](a2i-task-types-general.md)의 기본 제공 태스크 유형을 참조하세요.

**흐름 정의를 생성하려면(콘솔)**

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 SageMaker AI 콘솔을 엽니다.

1. 탐색 창의 **Augmented AI** 섹션에서 **Human review workflows(인적 검토 워크플로)**를 선택한 다음 **Create human review workflow(인적 검토 워크플로 생성)**를 선택합니다.

1. **개요**에서 다음을 수행합니다.

   1. **이름**에 고유한 워크플로 이름을 입력합니다. 이름은 소문자여야 하며 계정의 AWS 리전 내에서 고유해야 하며 최대 63자까지 가능합니다. 유효한 문자는 a-z, 0-9 및 -(하이픈)입니다.

   1. **S3 location for output(출력을 위한 S3 위치)**에 인적 검토 결과를 저장해야 하는 S3 버킷을 입력합니다. 버킷은 워크플로와 동일한 AWS 리전에 있어야 합니다.

   1. **IAM 역할**에서 필요한 권한이 있는 역할을 선택합니다. 기본 제공 태스크 유형을 선택하고 콘솔에서 작업자 템플릿을 미리 보려는 경우 연결된 [작업자 작업 템플릿 미리 보기 사용](a2i-permissions-security.md#permissions-for-worker-task-templates-augmented-ai)에서 설명하는 정책 유형과 함께 역할을 제공합니다.

1. **태스크 유형**에서 인적 작업자가 수행할 태스크 유형을 선택합니다.

1. Amazon Rekognition 또는 Amazon Textract 태스크 유형을 선택한 경우 인적 검토를 간접적으로 호출할 조건을 지정합니다.
   + Amazon Rekognition Image 조절 작업의 경우 인적 검토를 트리거하는 추론 신뢰도 점수 임곗값 간격을 선택합니다.
   + Amazon Textract 작업의 경우, 사용자는 특정 양식 키가 누락되었거나 양식 키 감지 신뢰도가 낮을 때 인적 검토를 시작할 수 있습니다. 또한 텍스트의 모든 양식 키를 평가한 후 신뢰도가 양식 키에 필요한 임곗값보다 낮은 경우에도 인적 검토를 시작할 수 있습니다. 두 가지 변수인 **Identification confidence(식별 신뢰도)** 및 **Qualification confidence(자격 신뢰도)**가 신뢰도 임곗값을 지정합니다. 이러한 변수에 대한 자세한 내용은 [Amazon Augmented AI를 Amazon Textract와 함께 사용](a2i-textract-task-type.md) 섹션을 참조하세요.
   + 두 태스크 유형 모두, 사용자는 검토를 위해 일정 비율의 데이터 개체(이미지 또는 양식)와 해당 레이블을 인적 작업자에게 무작위로 보낼 수 있습니다.

1. 작업자 태스크 템플릿을 구성하고 지정합니다.

   1. Amazon Rekognition 또는 Amazon Textract를 사용하는 경우 태스크 유형은 다음과 같습니다.

      1. **Create template(템플릿 생성)** 섹션에서 
        + Amazon Rekognition 및 Amazon Textract 태스크 유형에 대한 Amazon A2I 기본 템플릿을 사용하여 작업자에 대한 지침을 생성하려면 **Build from a default template(기본 템플릿에서 빌드)**을 선택합니다.
          + **Build from a default template(기본 템플릿에서 빌드)**을 선택하면 **Worker task design(작업자 작업 설계)**에서 지침을 생성합니다.
            + 현재 있는 AWS 리전에서 고유한 **템플릿 이름을** 제공합니다.
            + **Instructions(지침)** 섹션에서 작업 완료 방법에 대한 자세한 지침을 제공합니다. 작업자의 정확성을 높이기 위해 좋은 예제와 나쁜 예제를 제공합니다.
            + (선택 사항) **Additional instructions(추가 지침)**에서 작업자에게 추가 정보 및 지침을 제공합니다.

              효과적인 지침 생성에 대한 자세한 내용은 [정확한 작업자 지침 생성](a2i-creating-good-instructions-guide.md) 섹션을 참조하세요.
        + 생성한 사용자 지정 템플릿을 선택하려면 **템플릿** 메뉴에서 템플릿을 선택하고 **작업 설명**을 제공하여 작업자에게 작업을 간략하게 설명합니다. 사용자 지정 템플릿을 생성하는 방법은 [작업자 태스크 템플릿 생성](a2i-worker-template-console.md#a2i-create-worker-template-console) 섹션을 참조하세요.

   1. 사용자 지정 태스크 유형을 사용하는 경우

      1. **작업자 태스크 템플릿** 섹션 목록에서 템플릿을 선택합니다. SageMaker AI 콘솔에서 만든 모든 템플릿이 이 목록에 나타납니다. 사용자 지정 태스크 유형에 대한 템플릿을 생성하는 방법은 [작업자 태스크 템플릿 생성 및 관리](a2i-instructions-overview.md) 섹션을 참조하세요.

1. (선택 사항) 작업자 템플릿을 미리 봅니다.

   Amazon Rekognition 및 Amazon Textract 태스크 유형의 경우 **See a sample worker task(샘플 작업자 작업 보기)**를 선택하여 작업자 작업 UI를 미리 볼 수 있습니다.

   사용자 지정 태스크 유형에 대한 흐름 정의를 생성하는 경우 사용자는 `RenderUiTemplate` 작업을 사용하여 작업자 작업 UI를 미리 볼 수 있습니다. 자세한 내용은 [작업자 태스크 템플릿 미리 보기](a2i-custom-templates.md#a2i-preview-your-custom-template) 섹션을 참조하세요.

1. **작업자**에서 작업 인력 유형을 선택합니다.

1. **생성(Create)**을 선택합니다.

### 다음 단계
<a name="a2i-next-step-createflowdefinition-console"></a>

인적 검토 워크플로가 생성되면 콘솔의 **Human review workflows(인적 검토 워크플로)** 아래에 표시됩니다. 흐름 정의의 Amazon 리소스 이름(ARN) 및 구성 세부 정보를 보려면 해당 이름을 선택하여 워크플로를 선택합니다.

기본 제공 태스크 유형을 사용하는 경우 흐름 정의 ARN을 사용하여 해당 AWS 서비스의 API(예: Amazon Textract API)를 사용하여 인적 루프를 시작할 수 있습니다. 사용자 지정 태스크 유형의 경우 사용자는 ARN을 사용하여 Amazon Augmented AI 런타임 API를 사용하는 인적 루프를 시작할 수 있습니다. 두 옵션에 대한 자세한 내용은 [인적 루프 생성 및 시작](a2i-start-human-loop.md) 섹션을 참조하세요.

## 인적 검토 워크플로(API) 생성
<a name="a2i-create-human-review-api"></a>

SageMaker API를 사용하여 흐름 정의를 생성하려면 `CreateFlowDefinition` 작업을 사용합니다. [Augmented AI 사용을 위한 사전 조건](a2i-getting-started-prerequisites.md) 작업을 완료한 후 다음 절차를 사용하여 이 API 작업을 사용하는 방법을 알아보세요.

`CreateFlowDefinition` 작업에 대한 개요와 각 파라미터에 대한 자세한 내용은 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html)을 참조하세요.

**흐름 정의(API)를 생성하려면**

1. `FlowDeﬁnitionName`에 고유한 이름을 입력합니다. 이름은 계정의 AWS 리전 내에서 고유해야 하며 최대 63자까지 가능합니다. 유효한 문자는 a-z, 0-9 및 -(하이픈)입니다.

1. `RoleArn`에 데이터 원본에 대한 액세스 권한을 부여하도록 구성한 역할의 ARN을 입력합니다.

1. `HumanLoopConfig`에서 작업자와 작업자가 확인해야 하는 내용에 대한 정보를 입력합니다. `HumanLoopConfig`의 각 파라미터에 대한 자세한 내용은 [HumanLoopConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html#sagemaker-CreateFlowDefinition-request-HumanLoopActivationConfig)를 참조하세요.

1. (선택 사항) 기본 제공 태스크 유형을 사용하면 `HumanLoopActivationConﬁg`에서 인적 루프를 시작하는 조건을 제공합니다. `HumanLoopActivationConﬁg` 파라미터에 필요한 입력을 생성하는 방법은 [Amazon Augmented AI의 인적 루프 활성화 조건에 대한 JSON 스키마](a2i-human-fallback-conditions-json-schema.md) 섹션을 참조하세요. 여기에서 조건을 지정하지 않으면 기본 제공 작업 유형(예: Amazon Textract 또는 Amazon Rekognition)과 연결된 AWS 서비스에 흐름 정의를 제공할 때 해당 서비스는 검토를 위해 모든 작업을 인간 작업자에게 보냅니다.

   사용자 태스크 유형을 사용하면 `HumanLoopActivationConfig`는 비활성화됩니다. 사용자 지정 태스크 유형을 사용하여 인적 작업자에게 작업을 전송하는 시기를 제어하는 방법은 [Amazon Augmented AI를 사용자 지정 작업 유형과 함께 사용](a2i-task-types-custom.md) 섹션을 참조하세요.

1. (선택 사항) 기본 제공 태스크 유형을 사용하는 경우 [HumanLooprequestSource](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanLoopRequestSource.html) 파라미터에 통합 소스(예: Amazon Rekognition 또는 Amazon Textract)를 지정하세요.

1. `OutputConfig`의 경우 Amazon Simple Storage Service(S3)에서 인적 루프의 출력을 저장할 위치를 표시합니다.

1. (선택 사항) 흐름 정의를 분류하고 구성하는 데 도움이 되는 키 값 페어를 입력하려면 `Tags`을 사용합니다 각 태그는 사용자가 정의하는 키와 값으로 구성됩니다.

------
#### [ Amazon Textract – Key-value pair extraction ]

다음은 AWS SDK for Python (Boto3)을 사용하여 Amazon Textract의 인적 검토 워크플로(흐름 정의)를 생성해 달라는 요청의 예입니다. Amazon Textract 인적 루프를 생성하는 데 먼저 `'AWS/Textract/AnalyzeDocument/Forms/V1'`을 사용해야 합니다. Mechanical Turk 인력을 사용하는 경우에만 `PublicWorkforceTaskPrice`을 포함하세요.

```
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 ]

다음은 AWS SDK for Python (Boto3)을 사용하여 Amazon Rekognition 인적 검토 워크플로(흐름 정의)를 생성해 달라는 요청의 예입니다. Amazon Rekognition 흐름 정의를 생성하려면 먼저 `'AWS/Rekognition/DetectModerationLabels/Image/V3'`을 사용해야 합니다. Mechanical Turk 인력을 사용하는 경우에만 `PublicWorkforceTaskPrice`을 포함하세요.

```
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`을 생략하세요. Mechanical Turk 인력을 사용하는 경우에만 `PublicWorkforceTaskPrice`을 포함하면 됩니다.

```
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'}}
        },
    ]
)
```

------

### 다음 단계
<a name="a2i-next-step-createflowdefinition-api"></a>

`CreateFlowDefinition` API 작업이 성공적으로 호출된 경우 반환 값은 흐름 정의 Amazon 리소스 이름(ARN)입니다.

기본 제공 태스크 유형을 사용하는 경우 흐름 정의 ARN을 사용하여 해당 AWS 서비스의 API(예: Amazon Textract API)를 사용하여 인적 루프를 시작할 수 있습니다. 사용자 지정 태스크 유형의 경우 사용자는 ARN을 사용하여 Amazon Augmented AI 런타임 API를 사용하는 인적 루프를 시작할 수 있습니다. 이러한 두 옵션에 대한 자세한 내용은 [인적 루프 생성 및 시작](a2i-start-human-loop.md) 섹션을 참조하세요.