

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar e iniciar um loop humano
<a name="a2i-start-human-loop"></a>

Um *loop humano* inicia seu fluxo de trabalho de análise humana e envia tarefas de análise de dados para operadores humanos. Quando você usa um dos tipos de tarefas incorporados do Amazon A2I, o AWS serviço correspondente cria e inicia um loop humano em seu nome quando as condições especificadas na sua definição de fluxo são atendidas. Se nenhuma condição for especificada em sua definição de fluxo, um loop humano é criado para cada objeto. Ao usar o Amazon A2I para uma tarefa personalizada, um loop humano é iniciado quando sua aplicação chama o `StartHumanLoop`. 

Use as seguintes instruções para configurar um loop humano com os tipos de tarefa integrados do Amazon Rekognition ou do Amazon Textract e com os tipos de tarefa personalizados. 

**Pré-requisitos**

Para criar e iniciar um loop humano, você deve anexar a `AmazonAugmentedAIFullAccess` política ao usuário ou função AWS Identity and Access Management (IAM) que configura ou inicia o loop humano. Essa é a identidade que você usará para configurar o loop humano usando `HumanLoopConfig` para tipos de tarefas integradas. Para tipos de tarefa personalizados, essa é a identidade que você usa para chamar `StartHumanLoop`.

Além disso, ao usar um tipo de tarefa incorporado, seu usuário ou função deve ter permissão para invocar operações de API do AWS serviço associado ao seu tipo de tarefa. Por exemplo, se você estiver usando o Amazon Rekognition com o Augmented AI, é necessário anexar as permissões necessárias para chamar o `DetectModerationLabels`. Para obter exemplos de políticas baseadas em identidade que você pode usar para conceder essas permissões, consulte [Exemplos de políticas baseadas em identidade do Amazon Rekognition](https://docs.aws.amazon.com/rekognition/latest/dg/security_iam_id-based-policy-examples.html) e [Exemplos de políticas baseadas em identidade do Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/security_iam_id-based-policy-examples.html). Você também pode usar a política mais geral `AmazonAugmentedAIIntegratedAPIAccess` para conceder essas permissões. Para obter mais informações, consulte [Crie um usuário com permissões para invocar as operações da API do Amazon A2I, Amazon Textract e Amazon Rekognition](a2i-permissions-security.md#a2i-grant-general-permission). 

Para criar e iniciar um loop humano, você precisa do ARN de uma definição de fluxo. Para saber como criar uma definição de fluxo (ou fluxo de trabalho de análise humana), consulte [Criar um fluxo de trabalho de análise humana](a2i-create-flow-definition.md).

**Importante**  
O Amazon A2I requer que todos os buckets do S3 que contenham dados de imagem de entrada para loops humanos tenham uma política CORS (Cross-Origin Resource Sharing) anexada. Para saber mais sobre essa mudança, consulte [Requisitos de permissão do CORS](a2i-permissions-security.md#a2i-cors-update).

## Criar e iniciar um loop humano para um tipo de tarefa incorporado
<a name="a2i-human-loop-built-in-task-type"></a>

Para iniciar um loop humano usando um tipo de tarefa incorporado, utilize a API correspondente do serviço para fornecer seus dados de entrada e configurar o loop humano. Para o Amazon Textract, você usa a operação da API `AnalyzeDocument`. Para o Amazon Rekognition, você usa a operação da API `DetectModerationLabels`. Você pode usar o SDK AWS CLI ou um SDK específico do idioma para criar solicitações usando essas operações de API. 

**Importante**  
Ao criar um loop humano usando um tipo de tarefa incorporado, você pode usar `DataAttributes` para especificar um conjunto de `ContentClassifiers` relacionado à entrada fornecida à operação `StartHumanLoop`. Use classificadores de conteúdo para declarar que seu conteúdo não contém informações de identificação pessoal ou conteúdo adulto.  
Para usar o Amazon Mechanical Turk, certifique-se de que seus dados estejam livres de informações de identificação pessoal, incluindo informações de saúde protegidas pela HIPAA. Inclua o classificador de conteúdo `FreeOfPersonallyIdentifiableInformation`. Se você não usar esse classificador de conteúdo, a SageMaker IA não enviará sua tarefa para o Mechanical Turk. Se os seus dados não contiverem conteúdo adulto, inclua também o classificador `'FreeOfAdultContent'`. Se você não usar esses classificadores de conteúdo, a SageMaker IA poderá restringir os trabalhadores da Mechanical Turk que podem visualizar sua tarefa.

Depois de iniciar seu trabalho de ML usando a API de AWS serviço do seu tipo de tarefa incorporada, a Amazon A2I monitora os resultados de inferência desse serviço. Por exemplo, ao executar um trabalho com o Amazon Rekognition, o Amazon A2I verifica a pontuação de confiança de inferência de cada imagem e compara-a com os limites de confiança especificados em sua definição de fluxo. Se as condições para iniciar uma tarefa de análise humana forem atendidas ou se você não tiver especificado condições na definição de fluxo, uma tarefa de análise humana será enviada aos operadores. 

### Criar uma loop humano do Amazon Textract
<a name="a2i-human-loop-textract"></a>

O Amazon A2I se integra com o Amazon Textract, permitindo que você configure e inicie um loop humano por meio da API do Amazon Textract. Para enviar um arquivo de documento para o Amazon Textract para análise de documentos, você utiliza a [operação de API `AnalyzeDocument`](https://docs.aws.amazon.com/textract/latest/dg/API_AnalyzeDocument.html) do Amazon Textract. Para adicionar um loop humano a esse trabalho de análise de documentos, você deve configurar o parâmetro `HumanLoopConfig`. 

Quando você configura seu loop humano, a definição de fluxo especificada em `FlowDefinitionArn` de `HumanLoopConfig` deve estar localizada na mesma região da AWS que o bucket identificado em `Bucket` no parâmetro `Document`.

A tabela a seguir mostra exemplos de como usar essa operação com AWS CLI AWS SDK para Python (Boto3) e.

------
#### [ AWS SDK para Python (Boto3) ]

O exemplo de solicitação a seguir usa o SDK para Python (Boto3). Para obter mais informações, consulte [analyze\$1document](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/textract.html#Textract.Client.analyze_document) na *Referência da API AWS para o SDK Python (Boto)*. 

```
import boto3

textract = boto3.client('textract', aws_region)

response = textract.analyze_document(
            Document={'S3Object': {'Bucket': bucket_name, 'Name': document_name}},
            FeatureTypes=["TABLES", "FORMS"],
            HumanLoopConfig={
                'FlowDefinitionArn': 'arn:aws:sagemaker:aws_region:aws_account_number:flow-definition/flow_def_name',
                'HumanLoopName': 'human_loop_name',
                'DataAttributes': {'ContentClassifiers': ['FreeOfPersonallyIdentifiableInformation','FreeOfAdultContent']}
            }
          )
```

------
#### [ AWS CLI ]

O exemplo de solicitação a seguir usa a AWS CLI. Para obter mais informações, consulte [analyze-document](https://docs.aws.amazon.com/cli/latest/reference/textract/analyze-document.html) na *Referência de comandos da [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*.

```
$ aws textract analyze-document \
     --document '{"S3Object":{"Bucket":"bucket_name","Name":"document_name"}}' \
     --human-loop-config HumanLoopName="human_loop_name",FlowDefinitionArn="arn:aws:sagemaker:aws-region:aws_account_number:flow-definition/flow_def_name",DataAttributes='{ContentClassifiers=["FreeOfPersonallyIdentifiableInformation", "FreeOfAdultContent"]}' \
     --feature-types '["TABLES", "FORMS"]'
```

```
$ aws textract analyze-document \
     --document '{"S3Object":{"Bucket":"bucket_name","Name":"document_name"}}' \
     --human-loop-config \
          '{"HumanLoopName":"human_loop_name","FlowDefinitionArn":"arn:aws:sagemaker:aws_region:aws_account_number:flow-definition/flow_def_name","DataAttributes": {"ContentClassifiers":["FreeOfPersonallyIdentifiableInformation","FreeOfAdultContent"]}}' \
     --feature-types '["TABLES", "FORMS"]'
```

------

Após executar `AnalyzeDocument` com um loop humano configurado, o Amazon A2I monitora os resultados de `AnalyzeDocument` e os verifica em relação às condições de ativação definidas no fluxo. Se a pontuação de confiança na inferência do Amazon Textract para um ou mais pares chave-valor atender às condições para revisão, o Amazon A2I inicia um loop de revisão humana e inclui o objeto [https://docs.aws.amazon.com/textract/latest/dg/API_HumanLoopActivationOutput.html](https://docs.aws.amazon.com/textract/latest/dg/API_HumanLoopActivationOutput.html) na resposta do `AnalyzeDocument`.

### Criar um loop humano do Amazon Rekognition
<a name="a2i-human-loop-rekognition"></a>

O Amazon A2I integra-se com o Amazon Rekognition, permitindo que você configure e inicie um loop humano por meio da API do Amazon Rekognition. Para enviar imagens para o Amazon Rekognition para moderação de conteúdo, você usa a [operação da API `DetectModerationLabels` do Amazon Rekognition](https://docs.aws.amazon.com/rekognition/latest/dg/API_DetectModerationLabels.html). Para configurar um loop humano, defina o parâmetro `HumanLoopConfig` ao configurar `DetectModerationLabels`.

Quando você configura seu loop humano, a definição `FlowDefinitionArn` de fluxo especificada em ou `HumanLoopConfig` deve estar localizada na mesma AWS região `Bucket` do S3 bucket identificado no parâmetro `Image`.

A tabela a seguir mostra exemplos de como usar essa operação com AWS CLI AWS SDK para Python (Boto3) e.

------
#### [ AWS SDK para Python (Boto3) ]

O exemplo de solicitação a seguir usa o SDK para Python (Boto3). Para obter mais informações, consulte [detect\$1moderation\$1labels](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rekognition.html#Rekognition.Client.detect_moderation_labels) na referência da API *AWS SDK para Python (Boto)*.

```
import boto3

rekognition = boto3.client("rekognition", aws_region)

response = rekognition.detect_moderation_labels( \
        Image={'S3Object': {'Bucket': bucket_name, 'Name': image_name}}, \
        HumanLoopConfig={ \
            'HumanLoopName': 'human_loop_name', \
            'FlowDefinitionArn': , "arn:aws:sagemaker:aws_region:aws_account_number:flow-definition/flow_def_name" \
            'DataAttributes': {'ContentClassifiers': ['FreeOfPersonallyIdentifiableInformation','FreeOfAdultContent']}
         })
```

------
#### [ AWS CLI ]

O exemplo de solicitação a seguir usa a AWS CLI. Para obter mais informações, consulte [detect-moderation-labels](https://docs.aws.amazon.com/cli/latest/reference/rekognition/detect-moderation-labels.html) na *Referência de comandos da [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*.

```
$ aws rekognition detect-moderation-labels \
    --image "S3Object={Bucket='bucket_name',Name='image_name'}" \
    --human-loop-config HumanLoopName="human_loop_name",FlowDefinitionArn="arn:aws:sagemaker:aws_region:aws_account_number:flow-definition/flow_def_name",DataAttributes='{ContentClassifiers=["FreeOfPersonallyIdentifiableInformation", "FreeOfAdultContent"]}'
```

```
$ aws rekognition detect-moderation-labels \
    --image "S3Object={Bucket='bucket_name',Name='image_name'}" \
    --human-loop-config \
        '{"HumanLoopName": "human_loop_name", "FlowDefinitionArn": "arn:aws:sagemaker:aws_region:aws_account_number:flow-definition/flow_def_name", "DataAttributes": {"ContentClassifiers": ["FreeOfPersonallyIdentifiableInformation", "FreeOfAdultContent"]}}'
```

------

Após executar `DetectModerationLabels` com um loop humano configurado, o Amazon A2I monitora os resultados de `DetectModerationLabels` e os verifica em relação às condições de ativação definidas no fluxo. Se a pontuação de confiança na inferência do Amazon Rekognition para uma imagem atender às condições para revisão, o Amazon A2I inicia um loop de revisão humana e inclui o elemento de resposta `HumanLoopActivationOutput` na resposta do `DetectModerationLabels`.

## Criar e iniciar um loop humano para um tipo de tarefa personalizado
<a name="a2i-instructions-starthumanloop"></a>

Para configurar um loop humano para uma tarefa de análise humana personalizada, use a operação `StartHumanLoop` em seu aplicativo. Esta seção fornece um exemplo de uma solicitação de loop humano usando o AWS SDK para Python (Boto3) e o AWS Command Line Interface (AWS CLI). Para obter documentação sobre outras linguagens específicas SDKs compatíveis`StartHumanLoop`, use a seção **Consulte também** da documentação da [StartHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StartHumanLoop.html)API Amazon Augmented AI Runtime. Consulte [Casos de uso e exemplos usando o Amazon A2I](a2i-task-types-general.md) para ver exemplos que demonstram como usar o Amazon A2I com um tipo de tarefa personalizado.

**Pré-requisitos**

Para concluir este procedimento, você precisa:
+ Dados de entrada formatados como uma representação de string de um arquivo em formato JSON.
+ O nome de recurso da Amazon (ARN) de sua definição de fluxo

**Como configurar o loop humano**

1. Em `DataAttributes`, especifique um conjunto de `ContentClassifiers` relacionados à entrada fornecida para a operação `StartHumanLoop`. Use classificadores de conteúdo para declarar que seu conteúdo não contém informações de identificação pessoal ou conteúdo adulto. 

   Para utilizar o Amazon Mechanical Turk, certifique-se de que seus dados estejam livres de informações pessoais identificáveis, incluindo informações de saúde protegidas sob a HIPAA, e inclua o classificador de conteúdo `FreeOfPersonallyIdentifiableInformation`. Se você não usar esse classificador de conteúdo, a SageMaker IA não enviará sua tarefa para o Mechanical Turk. Se os seus dados não contiverem conteúdo adulto, inclua também o classificador `'FreeOfAdultContent'`. Se você não usar esses classificadores de conteúdo, a SageMaker IA poderá restringir os trabalhadores da Mechanical Turk que podem visualizar sua tarefa.

1. Em `FlowDefinitionArn`, insira o nome de recurso da Amazon (ARN) da sua definição de fluxo.

1. Em `HumanLoopInput`, insira os dados de entrada como uma representação de string de um arquivo em formato JSON. Estruture os dados de entrada e o modelo de tarefa de operador personalizado para que os dados de entrada sejam exibidos corretamente para operadores humanos quando você iniciar o loop humano. Consulte [Visualizar um modelo de tarefa de operador](a2i-custom-templates.md#a2i-preview-your-custom-template) para saber como visualizar seu modelo de tarefa de operador personalizado. 

1. Em `HumanLoopName`, insira um nome para o loop humano. O nome deve ser exclusivo na região da sua conta da e pode ter até 63 caracteres. Os caracteres válidos são a-z, 0-9 e - (hífen).

**Como iniciar um loop humano**
+ Para iniciar um loop humano, envie uma solicitação semelhante aos exemplos a seguir usando o SDK específico à linguagem de sua preferência. 

------
#### [ AWS SDK para Python (Boto3) ]

O exemplo de solicitação a seguir utiliza o SDK para Python (Boto3). Para obter mais informações, consulte o [Boto 3 Augmented AI Runtime](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker-a2i-runtime.html#AugmentedAIRuntime.Client.start_human_loop) na *Referência da API AWS para Python (Boto)*.

```
import boto3

a2i_runtime_client = boto3.client('sagemaker-a2i-runtime')

response = a2i_runtime_client.start_human_loop(
    HumanLoopName='human_loop_name',
    FlowDefinitionArn='arn:aws:sagemaker:aws-region:xyz:flow-definition/flow_def_name',
    HumanLoopInput={
        'InputContent': '{"InputContent": {\"prompt\":\"What is the answer?\"}}'    
    },
    DataAttributes={
        'ContentClassifiers': [
            'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
        ]
    }
)
```

------
#### [ AWS CLI ]

O exemplo de solicitação a seguir usa a AWS CLI. Para obter mais informações, consulte [start-human-loop](https://docs.aws.amazon.com/cli/latest/reference/sagemaker-a2i-runtime/start-human-loop.html) na *Referência de comandos da [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*. 

```
$ aws sagemaker-a2i-runtime start-human-loop
        --flow-definition-arn 'arn:aws:sagemaker:aws_region:xyz:flow-definition/flow_def_name' \
        --human-loop-name 'human_loop_name' \
        --human-loop-input '{"InputContent": "{\"prompt\":\"What is the answer?\"}"}' \
        --data-attributes ContentClassifiers="FreeOfPersonallyIdentifiableInformation","FreeOfAdultContent" \
```

------

Ao iniciar com êxito um loop humano invocando `StartHumanLoop` diretamente, a resposta inclui um `HumanLoopARN` e um objeto `HumanLoopActivationResults` que é definido como `NULL`. Você pode usar esse nome do loop humano para monitorar e gerenciar o loop humano.

## Próximas etapas:
<a name="a2i-next-step-starthumanloop"></a>

Depois de iniciar um loop humano, você pode gerenciá-lo e monitorá-lo com a API Amazon Augmented AI Runtime e o CloudWatch Amazon Events. Para saber mais, consulte [Monitorar e gerenciar seu loop humano](a2i-monitor-humanloop-results.md).