

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation de l’IA augmentée d’Amazon pour la vérification humaine
<a name="a2i-use-augmented-ai-a2i-human-review-loops"></a>

Lorsque vous utilisez des applications d’IA telles que Amazon Rekognition ou Amazon Textract, ou vos modèles de machine learning (ML) personnalisés, vous pouvez utiliser l’IA augmentée d’Amazon pour exécuter une vérification humaine sur des prédictions peu fiables ou des échantillons aléatoires.
<a name="what-is-amazon-augmented-ai-a2i"></a>
**Qu’est-ce que l’IA augmentée d’Amazon ?**  
L’IA augmentée d’Amazon (Amazon A2I) est un service qui offre à tous les développeurs une capacité de vérification humaine de prédictions ML, sans la charge associée à la création de systèmes de vérification humaine ou la gestion d’un grand nombre de vérificateurs humains. 

Dans de nombreuses applications ML, les utilisateurs doivent vérifier les prédictions peu fiables pour s’assurer de l'exactitude des résultats. Par exemple, l'extraction d'informations à partir de formulaires de demande de prêt hypothécaire numérisés peut nécessiter une vérification humaine en raison de la mauvaise qualité de la numérisation ou de l’écriture manuscrite. La création de systèmes de vérification humaine peut être chronophage et onéreuse, car elle implique la mise en œuvre de processus ou de *flux* complexes, l’écriture de logiciels personnalisés pour gérer les tâches et les résultats de la vérification, et la gestion d’importants groupes de vérificateurs.

Amazon A2I rationalise la création et la gestion des vérifications humaines pour les applications ML. Amazon A2I fournit des flux de vérification humaine intégrés pour les cas d'utilisation ML courants, tels que la modération de contenu et l'extraction de texte à partir de documents. Vous pouvez également créer vos propres flux de travail pour les modèles de machine learning basés sur l' SageMaker IA ou tout autre outil. À l'aide d'Amazon A2I, vous pouvez autoriser des vérificateurs humains à intervenir lorsqu'un modèle ne parvient pas à établir une prédiction très fiable ou à auditer ses prédictions en continu. 
<a name="a2i-use-cases-intro"></a>
**Exemples de cas d'utilisation Amazon A2I**  
Les exemples suivants montrent comment utiliser Amazon A2I pour intégrer une boucle de révision humaine dans votre application ML. Pour chacun de ces exemples, vous pouvez trouver un bloc-notes Jupyter qui démontre que le flux dans [Cas d'utilisation et exemples d’utilisation d'Amazon A2I](a2i-task-types-general.md). 
+ **Utilisation d'Amazon A2I avec Amazon Textract** : demandez à des humains de vérifier des paires clé-valeur importantes dans des documents d'une seule page, ou demandez à Amazon Textract d'échantillonner au hasard des documents de votre jeu de données et de les envoyer pour vérification humaine. 
+ **Utilisation d'Amazon A2I avec Amazon Rekognition** : demandez à des humains de vérifier des images non sécurisées, dont le contenu explicite ou violent s’adresse à des adultes, si Amazon Rekognition renvoie un score de faible confiance, ou demandez à Amazon Rekognition d'échantillonner au hasard des images de votre jeu de données et de les envoyer pour vérification humaine.
+ **Utilisez Amazon A2I pour examiner les inférences de machine learning en temps réel** — Utilisez Amazon A2I pour examiner les inférences peu fiables effectuées en temps réel par un modèle déployé sur un point de terminaison hébergé par l' SageMaker IA et entraînez progressivement votre modèle à l'aide des données de sortie Amazon A2I.
+ **Utilisation d'Amazon A2I avec Amazon Comprehend** : demandez à des humains de vérifier des inférences Amazon Comprehend sur les données textuelles telles que l'analyse de ressenti, la syntaxe de texte et la détection d’entités.
+ **Utilisation d'Amazon A2I avec Amazon Transcribe** : demandez à des humains de vérifier des transcriptions des fichiers vidéo ou audio Amazon Transcribe. Utilisez les résultats de boucles de révision humaine de transcription pour créer un vocabulaire personnalisé et améliorer les transcriptions de contenus vidéo ou audio similaires à l’avenir.
+ **Utilisation d'Amazon A2I avec Amazon Translate** : demandez à des humains de vérifier des traductions peu fiables renvoyées par Amazon Translate.
+ **Utilisation d'Amazon A2I pour vérifier des données tabulaires** : utilisez Amazon A2I pour intégrer une boucle de révision humaine dans une application ML qui utilise des données tabulaires.

![\[Fonctionnement d'Amazon Augmented AI\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/amazon-augmented-ai-how-it-works.png)


**Topics**
+ [Démarrer avec l’IA augmentée d’Amazon](a2i-getting-started.md)
+ [Cas d'utilisation et exemples d’utilisation d'Amazon A2I](a2i-task-types-general.md)
+ [Créer un flux de vérification humaine](a2i-create-flow-definition.md)
+ [Supprimer un flux de vérification humaine](a2i-delete-flow-definition.md)
+ [Créer et démarrer une boucle humaine](a2i-start-human-loop.md)
+ [Supprimer une boucle humaine](a2i-delete-human-loop.md)
+ [Créer et gérer des modèles de tâches d'employé](a2i-instructions-overview.md)
+ [Surveillance et gestion de votre boucle humaine](a2i-monitor-humanloop-results.md)
+ [Données de sortie Amazon A2I](a2i-output-data.md)
+ [Autorisations et sécurité dans Amazon Augmented AI](a2i-permissions-security.md)
+ [Utilisation Amazon CloudWatch Events dans Amazon Augmented AI](a2i-cloudwatch-events.md)
+ [Utilisation des API dans Amazon Augmented AI](a2i-api-references.md)

# Démarrer avec l’IA augmentée d’Amazon
<a name="a2i-getting-started"></a>

Pour commencer à utiliser l’IA augmentée d’Amazon, vérifiez [Composants principaux d'Amazon A2I](a2i-getting-started-core-components.md) et [Conditions préalables à l'utilisation d'Augmented AI](a2i-getting-started-prerequisites.md). Ensuite, utilisez la documentation suivante pour savoir comment utiliser la console et l'API Amazon A2I. 
+ [Didacticiel : Démarrer dans la console Amazon A2I](a2i-get-started-console.md)
+ [Didacticiel : Démarrer à l'aide de l'API Amazon A2I](a2i-get-started-api.md)

Vous pouvez également démarrer avec l'API Amazon A2I en suivant un tutoriel Jupyter Notebook. Consultez [Cas d'utilisation et exemples d’utilisation d'Amazon A2I](a2i-task-types-general.md) pour obtenir une liste d’ordinateurs portables et de cas d’utilisation. 

# Composants principaux d'Amazon A2I
<a name="a2i-getting-started-core-components"></a>

Examinez les termes suivants pour vous familiariser avec les composants principaux d'Amazon A2I. 

## Types de tâche
<a name="a2i-task-type-get-started"></a>

Le AI/ML flux de travail dans lequel vous intégrez Amazon A2I définit un type de *tâche* Amazon A2I. 

Amazon A2I prend en charge :
+ Deux *types de tâches intégrés* :[Amazon Textract - Extraction par paire clé-valeur A](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-textract-task-type.html) et [Amazon Rekognition - Modération des images](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-rekognition-task-type.html).
+ Un [type de tâche personnalisé](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-task-types-custom.html) : utilisez un type de tâche personnalisé pour intégrer une boucle de vérification humaine dans *n'importe quel* flux de machine learning. Vous pouvez utiliser un type de tâche personnalisé pour intégrer Amazon A2I à d'autres AWS services tels qu'Amazon Comprehend, Amazon Transcribe et Amazon Translate, ainsi qu'à vos propres flux de travail d'apprentissage automatique personnalisés. Pour en savoir plus, veuillez consulter la section [Cas d'utilisation et exemples d’utilisation d'Amazon A2I](a2i-task-types-general.md).

Sélectionnez un onglet dans le tableau suivant pour voir les diagrammes illustrant le fonctionnement d'Amazon A2I avec chaque type de tâche. Sélectionnez la page Task type (Type de tâche) à l'aide des liens de la liste précédente pour en savoir plus sur ce type de tâche.

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

Cette image représente le flux intégré à Amazon A2I avec Amazon Textract. Sur la gauche, les ressources nécessaires à la création d'un flux de vérification Amazon Textract sont représentées : un compartiment Amazon S3, des conditions d'activation, un modèle de tâche d'employé et une équipe de travail. Ces ressources sont utilisées pour créer un flux de vérification humaine ou définition de flux. Une flèche pointe à droite, vers l’étape suivante du flux : utiliser Amazon Textract pour configurer une boucle humaine avec le flux de vérification humaine. Une seconde flèche pointe à droite, de cette étape vers l’étape dans laquelle les conditions d’activation spécifiées dans le flux de vérification humaine sont remplies. Cela initie la création d'une boucle humaine. À droite de l'image, la boucle humaine est représentée en trois étapes : 1) l'interface utilisateur d'employé et les outils sont générés, et la tâche est mise à la disposition des employés, 2) les employés vérifient les données d'entrée, et enfin, 3) les résultats sont enregistrés dans Amazon S3.

![\[Flux de travail intégré à Amazon A2I avec Amazon Textract\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/a2i/diagrams/product-page-diagram_A21-Components_Textract@2x.png)


------
#### [ Amazon Rekognition – Image moderation ]

Cette image représente le flux intégré à Amazon A2I avec Amazon Rekognition. Sur la gauche, les ressources nécessaires à la création d'un flux de vérification humaine Amazon Rekognition sont représentées : un compartiment Amazon S3, des conditions d'activation, un modèle de tâche d'employé et une équipe de travail. Ces ressources sont utilisées pour créer un flux de vérification humaine ou définition de flux. Une flèche pointe à droite, vers l'étape suivante du flux : utiliser Amazon Rekognition pour configurer une boucle humaine avec le flux de vérification humaine. Une seconde flèche pointe à droite, de cette étape vers l'étape dans laquelle les conditions d'activation spécifiées dans le flux de vérification humaine sont remplies. Cela initie la création d'une boucle humaine. À droite de l'image, la boucle humaine est représentée en trois étapes : 1) l'interface utilisateur d'employé et les outils sont générés, et la tâche est mise à la disposition des employés, 2) les employés vérifient les données d'entrée, et enfin, 3) les résultats sont enregistrés dans Amazon S3.

![\[Flux de travail intégré à Amazon A2I avec Amazon Rekognition\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/a2i/diagrams/product-page-diagram_A2I-Components_Rekognition@2x.png)


------
#### [ Custom Task Type ]

L'image suivante illustre le flux personnalisé Amazon A2I. Un modèle ML personnalisé est utilisé pour générer des prédictions. L'application client filtre ces prédictions à l'aide de critères définis par l'utilisateur et détermine si une vérification humaine est requise. Si c'est le cas, ces prédictions sont envoyées à Amazon A2I pour vérification humaine. Amazon A2I collecte les résultats de la vérification humaine dans Amazon S3, auquel l'application client peut accéder. Si le filtre détermine qu'aucune vérification humaine n'est requise, les prédictions peuvent être transmises directement à l'application client. 

![\[Flux de travail personnalisé Amazon A2I\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/a2i/diagrams/product-page-diagram_A2I-Components_Custom@2x.png)


------

## Flux de vérification humaine (définition de flux)
<a name="a2i-getting-started-human-review-workflow"></a>

Vous utilisez un flux de vérification humaine pour spécifier à votre *équipe de travail* de configurer votre interface utilisateur d'employé à l'aide d'un *modèle de tâche d'employé*, et de fournir des informations sur la façon dont les employés doivent effectuer la tâche de vérification. 

Pour les types de tâche intégrés, vous utilisez également le flux de vérification humaine pour identifier les conditions dans lesquelles une boucle humaine est initiée. Par exemple, Amazon Rekognition peut procéder à la modération du contenu d'image à l'aide du machine learning. Vous pouvez utiliser le flux de vérification humaine pour spécifier qu'une image sera envoyée à un humain pour vérifier la modération du contenu si la fiabilité d'Amazon Rekognition est trop faible.

Vous pouvez utiliser un flux de vérification humaine pour créer plusieurs boucles humaines.

Vous pouvez créer une définition de flux dans la console SageMaker AI ou à l'aide de l' SageMaker API. Pour en savoir plus sur ces deux options, consultez [Créer un flux de vérification humaine](a2i-create-flow-definition.md).

**Équipe de travail**  
Une *équipe de travail* est un groupe d'employés humains à qui vous envoyez vos tâches de vérification humaine.

Lorsque vous créez un flux de vérification humaine, vous spécifiez une équipe de travail unique. 

Votre équipe de travail peut venir de la [main-d'œuvre Amazon Mechanical Turk](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-public.html), de la [main-d'œuvre gérée par le fournisseur](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-vendor.html), ou de votre propre [ main-d'œuvre privée](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private.html). Lorsque vous utilisez la main-d'œuvre privée, vous pouvez créer plusieurs équipes de travail. Chaque équipe de travail peut être utilisée dans plusieurs flux de vérification humaine. Pour savoir comment créer une main-d’œuvre et des équipes de travail, consultez [Mains-d’œuvre](sms-workforce-management.md).

**Modèle de tâche d'employé et interface utilisateur de tâche humaine**  
Vous utilisez un *modèle de tâche d'employé* pour créer une interface utilisateur d'employé (une *interface utilisateur de tâche humaine*) pour vos tâches de vérification humaine.

L'interface utilisateur de tâche humaine affiche vos données d'entrée, telles que des documents ou des images, et des instructions destinées aux employés. Elle fournit également des outils interactifs que l'employé utilise pour effectuer vos tâches. 

Pour les types de tâches intégrés, vous devez utiliser le modèle de tâche d'employé Amazon A2I fourni pour ce type de tâche.

## Boucles humaines
<a name="a2i-getting-started-human-loop"></a>

Une *boucle humaine* est utilisée pour créer une seule tâche de vérification humaine. Pour chaque tâche de vérification humaine, vous pouvez choisir le nombre d'employés qui reçoivent une *tâche*de vérifier un seul objet de données. Par exemple, si vous définissez le nombre d'employés par objet sur `3` pour une tâche de labélisation de classification d'image, trois employés classent chaque image d'entrée. L'augmentation du nombre d'employés par objet peut améliorer la précision de labélisation.

Une boucle humaine est créée à l'aide d'un flux de vérification humaine, de la façon suivante :
+ Pour les types de tâches intégrés, les conditions spécifiées dans le flux de vérification humaine déterminent le moment de la création de la boucle humaine.
+ Les tâches de vérification humaine sont envoyées à l'équipe de travail spécifiée dans le flux de vérification humaine. 
+ Le modèle de tâche d'employé spécifié dans le flux de vérification humaine est utilisé pour rendre l'interface utilisateur de tâche humaine. 

**Quand les boucles humaines sont-elles créées ?**

Lorsque vous utilisez l'un des *types de tâches intégrés*, le AWS service correspondant crée et démarre une boucle humaine en votre nom lorsque les conditions spécifiées dans votre flux de travail de révision humaine sont remplies. Par exemple :
+ Lorsque vous utilisez Augmented AI avec Amazon Textract, vous pouvez intégrer Amazon A2I dans une tâche de vérification de document à l'aide de l'opération d'API `AnalyzeDocument`. Une boucle humaine est créée chaque fois qu'Amazon Textract renvoie des inférences sur des paires clé-valeur qui répondent aux conditions que vous spécifiez dans votre flux de vérification humaine. 
+ Lorsque vous utilisez Augmented AI avec Amazon Rekognition, vous pouvez intégrer Amazon A2I dans une tâche de modération des images à l'aide de l'opération d'API `DetectModerationLabels`. Une boucle humaine est créée chaque fois qu'Amazon Rekognition renvoie des inférences sur le contenu d'image qui répondent aux conditions que vous spécifiez dans votre flux de vérification humaine.

Lorsque vous utilisez un *type de tâche personnalisé*, vous démarrez une boucle humaine à l’aide de [l’API d’exécution de l’IA augmentée d’Amazon](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/Welcome.html). Lorsque vous appelez `StartHumanLoop` dans votre application personnalisée, une tâche est soumise à vérification humaine. 

Pour savoir comment créer et démarrer une boucle humaine, consultez [Créer et démarrer une boucle humaine](a2i-start-human-loop.md).

Pour générer ces ressources et créer un flux de travail de révision humain, Amazon A2I en intègre plusieurs APIs, notamment le modèle d'exécution Amazon Augmented AI SageMaker APIs, le et APIs associé à votre type de tâche. Pour en savoir plus, veuillez consulter la section [Utilisation des API dans Amazon Augmented AI](a2i-api-references.md).

**Note**  
AWS La disponibilité des régions peut varier lorsque vous utilisez Augmented AI avec d'autres AWS services, tels qu'Amazon Textract. Créez des ressources d'IA augmentée dans la même AWS région que celle que vous utilisez pour interagir avec ces AWS services. Pour connaître AWS la disponibilité de tous les services par [région, consultez le tableau](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) des régions.

# Conditions préalables à l'utilisation d'Augmented AI
<a name="a2i-getting-started-prerequisites"></a>

Amazon A2I utilise les ressources d'IAM, d' SageMaker IA et d'Amazon S3 pour créer et exécuter vos flux de travail de révision humaine. Vous pouvez créer certaines de ces ressources dans la console Amazon A2I lorsque vous créez un flux de vérification humaine. Pour savoir comment procéder, consultez [Didacticiel : Démarrer dans la console Amazon A2I](a2i-get-started-console.md).

Pour utiliser Amazon A2I, vous avez besoin des ressources suivantes :
+ Un ou plusieurs compartiments Amazon S3 situés dans la même AWS région que le flux de travail pour vos données d'entrée et de sortie. Pour créer un compartiment, suivez les instructions de la section [Create a Bucket (Créer un compartiment)](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html) dans le *Guide de l'utilisateur de la console Amazon Simple Storage Service*. 
+ Un rôle IAM disposant des autorisations requises pour créer un flux de vérification humaine et un utilisateur ou un rôle IAM disposant d'une autorisation d'accès à Augmented AI. Pour plus d’informations, consultez [Autorisations et sécurité dans Amazon Augmented AI](a2i-permissions-security.md).
+ Une main-d'œuvre publique, privée ou du fournisseur pour vos flux de vérification humaine. Si vous envisagez de faire appel à une main-d'œuvre privée, vous devez en configurer une à l'avance dans la même AWS région que votre flux de travail Amazon A2I. Pour en savoir plus sur ces types de main-d’œuvre, consultez [Mains-d’œuvre](sms-workforce-management.md).
**Important**  
Pour en savoir plus sur les programmes de conformité qui s’appliquent à l’IA augmentée d’Amazon, consultez [Services AWS concernés par le programme de conformité](https://aws.amazon.com/compliance/services-in-scope/). Si vous utilisez Amazon Augmented AI conjointement avec d'autres AWS services (tels qu'Amazon Rekognition et Amazon Textract), notez qu'Amazon Augmented AI n'est peut-être pas concerné par les mêmes programmes de conformité que ces autres services. Vous êtes responsable de la façon dont vous utilisez l’IA augmentée d’Amazon. Il vous incombe notamment de comprendre comment le service traite ou stocke les données des clients, ainsi que l’impact sur la conformité de votre environnement de données. Vous devez discuter des objectifs et des buts de votre charge de travail avec l'équipe chargée de votre AWS compte ; elle peut vous aider à évaluer si le service convient au cas d'utilisation et à l'architecture que vous proposez.

# Didacticiel : Démarrer dans la console Amazon A2I
<a name="a2i-get-started-console"></a>

Le didacticiel suivant vous montre comment commencer à utiliser Amazon A2I dans la console Amazon A2I.

Le didacticiel vous donne la possibilité d'utiliser Augmented AI avec Amazon Textract pour la vérification des documents, ou Amazon Rekognition pour la vérification du contenu des images.

## Conditions préalables
<a name="a2i-getting-started-console-prerequisites"></a>

Pour commencer à utiliser Amazon A2I, vous devez remplir les conditions préalables suivantes. 
+ Créez un compartiment Amazon S3 dans la même AWS région que le flux de travail pour vos données d'entrée et de sortie. Par exemple, si vous utilisez Amazon A2I avec Amazon Textract dans la région us-east-1, créez votre compartiment dans la région us-east-1. Pour créer un compartiment, suivez les instructions de la section [Create a Bucket (Créer un compartiment)](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html) dans le *Guide de l'utilisateur de la console Amazon Simple Storage Service*. 
+ Effectuez l’une des actions suivantes :
  + Si vous voulez suivre le didacticiel à l’aide d’Amazon Textract, téléchargez cette image et placez-la dans votre compartiment Amazon S3.  
![\[Candidature succincte\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/a2i/getting-started/sample-document-final.png)
  + Si vous voulez suivre le didacticiel à l’aide d’Amazon Rekognition, téléchargez cette image et placez-la dans votre compartiment Amazon S3.  
![\[Femme en bikini faisant du yoga sur la plage\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/a2i/getting-started/yoga_swimwear_resized.jpg)

**Note**  
La console Amazon A2I est intégrée à la console SageMaker AI. 

## Étape 1 : Créer une équipe de travail
<a name="a2i-get-started-console-step-1"></a>

Tout d'abord, créez une équipe de travail dans la console Amazon A2I et ajoutez-vous en tant qu'employé afin de pouvoir prévisualiser la tâche de vérification humaine.

**Important**  
Ce didacticiel utilise une équipe de travail privée. Le personnel privé Amazon A2I est configuré dans la zone Ground Truth de la console SageMaker AI et est partagé entre Amazon A2I et Ground Truth. 

**Pour créer une main-d’œuvre privée à l’aide d’e-mails d’employés**

1. Ouvrez la console SageMaker AI à l'adresse [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/). 

1. Dans le panneau de navigation, choisissez **Labeling workforces**(Mains-d'œuvre de labélisation) sous **Ground Truth**.

1. Choisissez **Private (Privée)**, puis **Create private team (Créer une équipe privée)**.

1. Choisissez **Invite new workers by email (Inviter les nouveaux employés par e-mail)**.

1. Pour ce tutoriel, saisissez votre e-mail et celui de toutes les autres personnes dont vous voulez qu'elles puissent prévisualiser l'interface utilisateur de la tâche humaine. Collez ou tapez une liste de 50 adresses e-mail au maximum, séparées par des virgules, dans la zone d'adresses e-mail.

1. Saisissez un nom d’organisation et une adresse e-mail de contact.

1. Éventuellement, choisissez une rubrique Amazon SNS à laquelle abonner l'équipe pour que les employés soient avertis par e-mail lorsque de nouvelles tâches de labélisation Ground Truth deviennent disponibles. Les notifications Amazon SNS sont prises en charge par Ground Truth, mais pas par Augmented AI. Si vous abonnez des employés à des notifications Amazon SNS, ils recevront uniquement des notifications concernant les tâches de labélisation Ground Truth. Ils ne recevront pas de notifications concernant les tâches Augmented AI. 

1.  Choisissez **Create private team (Créer une équipe privée)**. 

Si vous vous ajoutez à une équipe de travail privée, vous recevez un e-mail de `no-reply@verificationemail.com` contenant des informations de connexion. Utilisez le lien figurant dans cet e-mail pour réinitialiser votre mot de passe et vous connecter à votre portail d'employé. C'est là que vos tâches de vérification humaine apparaissent lorsque vous créez une boucle humaine.

## Étape 2 : Créer un flux de vérification humaine
<a name="a2i-get-started-console-step-2"></a>

Dans cette étape, vous créez un flux de vérification humaine. Chaque flux de vérification humaine est créé pour un[type de tâche](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-task-types-general.html) spécifique. Ce tutoriel vous permet de choisir entre les types de tâches intégrés : Amazon Rekognition et Amazon Textract. 

**Pour créer un flux de vérification humaine :**

1. Ouvrez la console Augmented AI à l'adresse [https://console.aws.amazon.com/a2i](https://console.aws.amazon.com/a2i/) pour accéder à la page des **flux de travail de révision humaine**. 

1. Sélectionnez **Create human review workflow (Créer un flux de vérification humaine)**.

1. Dans **les paramètres du flux** de travail, entrez un **nom** de flux de travail, un **compartiment S3** et le **rôle IAM** que vous avez créé pour ce didacticiel, avec la politique AWS gérée `AmazonAugmentedAIIntegratedAPIAccess` attachée.

1. Pour **Task type (Type de tâche)**, sélectionnez **Textract — Extraction par paire clé-valeur** ou **Rekognition — Modération des images**.

1. Sélectionnez le type de tâche que vous avez choisi dans le tableau suivant pour obtenir les instructions relatives à ce type de tâche. 

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

   1. Sélectionnez **Trigger a human review for specific form keys based on the form key confidence score or when specific form keys are missing** (Déclencher une vérification humaine pour des clés de formulaire spécifiques en fonction de l'indice de confiance de la clé de formulaire ou lorsque des clés de formulaire spécifiques sont manquantes). 

   2. Pour **Key name (Nom de la clé)**, saisissez `Mail Address`. 

   3. Définissez le seuil de confiance d'identification entre `0` et `99`. 

   4. Définissez le seuil de confiance de qualification entre `0` et `99`.

   5. Sélectionnez **Trigger a human review for all form keys identified by Amazon Textract with confidence scores in a specific range** (Déclencher une vérification humaine pour toutes les clés de formulaire identifiées par Amazon Textract avec des indices de confiance figurant dans une plage spécifiée).

   6. Définissez le seuil de confiance d'identification entre `0` et `90`. 

   7. Définissez le seuil de confiance de qualification entre `0` et `90`.

   Cela initie une vérification humaine si Amazon Textract renvoie un indice de confiance inférieur à `99` pour `Mail Address` et sa clé, ou un indice de confiance inférieur à `90` pour toute paire clé-valeur détectée dans le document.

   L'image suivante montre la section Amazon Textract form extraction - Conditions for invoking human review (Extraction de formulaire Amazon Textract - Conditions d'appel d'une vérification humaine) de la console Amazon A2I. Dans l'image, les cases en regard des deux types de déclencheurs expliqués dans le paragraphe suivant sont cochées, et `Mail Address` est utilisé comme **Nom de clé** pour le premier déclencheur. Le seuil de confiance d'identification est défini à l'aide d'indices de confiance pour les paires clé-valeur détectées dans le formulaire. Il est défini entre 0 et 99. Le seuil de confiance de qualification est défini à l'aide d'indices de confiance pour le texte contenu dans les clés et les valeurs d'un formulaire. Il est défini entre 0 et 99. 

![\[Console Amazon A2I indiquant les conditions d’invocation de la section de vérification humaine.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/a2i/getting-started/Textract-conditions.png)


------
#### [ Amazon Rekognition – Image moderation ]

   1. Sélectionnez **Trigger human review for labels identified by Amazon Rekognition based on label confidence score** (Déclencher une vérification humaine pour les étiquettes identifiées par Amazon Rekognition en fonction de l'indice de confiance de l'étiquette).

   2. Définissez **Threshold (Seuil)** entre `0` et `98`. 

   Cela initie une vérification humaine si Amazon Rekognition renvoie un indice de confiance inférieur à `98` pour une tâche de modération des images. 

   L'image suivante illustre la façon dont vous pouvez sélectionner l'option **Trigger human review for labels identified by Amazon Rekognition based on label confidence score (Déclencher une vérification humaine pour les étiquettes identifiées par Amazon Rekognition en fonction de l'indice de confiance de l'étiquette) ** et saisissez un **Threshold (Seuil)** entre 0 et 98 dans la console Amazon A2I.

![\[Console Amazon A2I indiquant les conditions d’invocation de la section de vérification humaine.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/a2i/getting-started/Rek-conditions.png)


------

1. Pour **Worker task template creation (Création d'un modèle de tâche d'employé)**, sélectionnez **Create from a default template (Créer à partir d'un modèle par défaut)**.

1. Saisissez un **Template name (Nom de modèle)**.

1. Dans le champ **Task description (Description de la tâche)**, saisissez le texte suivant :

   `Read the instructions carefully and complete the task.`

1. Pour **Workers (Employés)**, sélectionnez **Privé**.

1. Sélectionnez l'équipe privée que vous avez créée.

1. Sélectionnez **Create (Créer)**.

Une fois que votre flux de vérification humaine est créé, il apparaît dans le tableau de la page **Human review workflows (Flux de vérification humaine)**. Lorsque **Status (État)** est défini sur `Active`, copiez et enregistrez l'ARN du flux. Vous en aurez besoin à l'étape suivante. 

## Étape 3 : Démarrer une boucle humaine
<a name="a2i-get-started-console-step-3"></a>

Vous devez utiliser une opération d'API pour démarrer une boucle humaine. Il existe différents langages spécifiques SDKs que vous pouvez utiliser pour interagir avec ces opérations d'API. Pour consulter la documentation relative à chacun de ces éléments SDKs, reportez-vous à la section **Voir aussi** de la documentation de l'API, comme illustré dans l'image suivante.

![\[Capture d’écran de la section Voir aussi de la documentation de l’API Amazon Textract\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/a2i/getting-started/see-also.png)


Pour ce didacticiel, vous devez utiliser l'un des outils suivants APIs :
+ Si vous avez choisi le type de tâche Amazon Textract, utilisez l'opération `[AnalyzeDocument](https://docs.aws.amazon.com/textract/latest/dg/API_AnalyzeDocument.html)`.
+ Si vous avez choisi le type de tâche Amazon Rekognition, utilisez l'opération `[DetectModerationLabels](https://docs.aws.amazon.com/rekognition/latest/dg/API_DetectModerationLabels.html)`.

Vous pouvez interagir avec ceux-ci à APIs l'aide d'une instance de SageMaker bloc-notes (recommandée pour les nouveaux utilisateurs) ou du AWS Command Line Interface (AWS CLI). Choisissez l'une des possibilités suivantes pour en savoir plus sur ces options :
+ Pour en savoir plus sur une instance de bloc-notes, et la configurer, consultez [Instances de SageMaker blocs-notes Amazon](nbi.md).
+ Pour en savoir plus et commencer à utiliser le AWS CLI, voir [Qu'est-ce que l'interface de ligne de AWS commande ?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) dans le *guide de AWS Command Line Interface l'utilisateur*.

Sélectionnez votre type de tâche dans le tableau suivant pour afficher des exemples de demandes pour Amazon Textract et Amazon Rekognition à l'aide de l'outil AWS SDK pour Python (Boto3). 

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

L'exemple suivant utilise l'appel AWS SDK pour Python (Boto3) to `analyze_document` dans us-west-2. Remplacez le texte en rouge et en italique par vos ressources. N'incluez le paramètre [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html) que si vous utilisez la main-d'œuvre Amazon Mechanical Turk. Pour plus d’informations, consultez la documentation `[analyze\$1document](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/textract.html#Textract.Client.analyze_document)` dans la *Référence des API AWS SDK pour Python (Boto) *.

```
   response = client.analyze_document(
         Document={
                "S3Object": {
                    "Bucket": "amzn-s3-demo-bucket", 
                    "Name": "document-name.pdf"
                }
         },
         HumanLoopConfig={
            "FlowDefinitionArn":"arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
            "HumanLoopName":"human-loop-name",
            "DataAttributes" : {
                "ContentClassifiers":["FreeOfPersonallyIdentifiableInformation","FreeOfAdultContent"]
            }
         },
         FeatureTypes=["TABLES", "FORMS"])
```

------
#### [ Amazon Rekognition – Image moderation ]

L'exemple suivant utilise l'appel AWS SDK pour Python (Boto3) to `detect_moderation_labels` dans us-west-2. Remplacez le texte en rouge et en italique par vos ressources. N'incluez le paramètre [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html) que si vous utilisez la main-d'œuvre Amazon Mechanical Turk. Pour plus d’informations, consultez la documentation `[detect\$1moderation\$1labels](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rekognition.html#Rekognition.Client.detect_moderation_labels)` dans la *Référence des API AWS SDK pour Python (Boto) *.

```
   response = client.detect_moderation_labels(
            Image={
                "S3Object":{
                    "Bucket": "amzn-s3-demo-bucket", 
                    "Name": "image-name.png"
                }
            },
            HumanLoopConfig={
               "FlowDefinitionArn":"arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
               "HumanLoopName":"human-loop-name",
               "DataAttributes":{
                    ContentClassifiers:["FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent"]
                }
             })
```

------

## Étape 4 : Voir l'état de la boucle humaine dans la console
<a name="a2i-get-started-console-step-4"></a>

Lorsque vous démarrez une boucle humaine, vous pouvez voir son état dans la console Amazon A2I. 

**Pour voir l'état de votre boucle humaine**

1. Ouvrez la console Augmented AI à l'adresse [https://console.aws.amazon.com/a2i](https://console.aws.amazon.com/a2i/) pour accéder à la page des **flux de travail de révision humaine**. 

1. Sélectionnez le flux de vérification humaine que vous avez utilisé pour démarrer votre boucle humaine.

1. Dans la section **Human loops (Boucles humaines)**, vous pouvez voir votre boucle humaine. Voir son état dans la colonne **Status (État)**.

## Étape 5 : Télécharger les données de sortie
<a name="a2i-get-started-console-step-5"></a>

Vos données de sortie sont stockées dans le compartiment Amazon S3 que vous avez spécifié lorsque vous avez créé un flux de vérification humaine.

**Pour voir vos données de sortie Amazon A2I**

1. Ouvrez la [console Amazon S3](https://console.aws.amazon.com/s3/).

1. Sélectionnez le compartiment Amazon S3 que vous avez spécifié lorsque vous avez créé votre flux de vérification humaine à l'étape 2 de cet exemple. 

1. En commençant par le dossier nommé d'après votre flux de vérification humaine, accédez à vos données de sortie en sélectionnant le dossier avec la convention de dénomination suivante :

   ```
   s3://output-bucket-specified-in-human-review-workflow/human-review-workflow-name/YYYY/MM/DD/hh/mm/ss/human-loop-name/output.json
   ```

1. Sélectionnez `output.json` et choisissez **Download (Télécharger)**. 

# Didacticiel : Démarrer à l'aide de l'API Amazon A2I
<a name="a2i-get-started-api"></a>

Ce didacticiel explique les opérations d'API que vous pouvez utiliser pour commencer à utiliser Amazon A2I. 

Pour utiliser un bloc-notes Jupyter pour exécuter ces opérations, sélectionnez un bloc-notes Jupyter [Cas d'utilisation et exemples d’utilisation d'Amazon A2I](a2i-task-types-general.md) et utilisez-le [Utiliser une instance de SageMaker bloc-notes avec Amazon A2I Jupyter Notebook](a2i-task-types-general.md#a2i-task-types-notebook-demo) pour savoir comment l'utiliser dans une SageMaker instance de bloc-notes AI.

Pour en savoir plus sur les opérations d’API que vous pouvez utiliser avec Amazon A2I, consultez [Utilisation des API dans Amazon Augmented AI](a2i-api-references.md).

## Créer une équipe de travail privée
<a name="a2i-get-started-api-create-work-team"></a>

Vous pouvez créer une équipe de travail privée et vous ajouter en tant qu'employé afin de pouvoir prévisualiser Amazon A2I. 

Si vous ne connaissez pas Amazon Cognito, nous vous recommandons d'utiliser la console d' SageMaker intelligence artificielle pour créer un personnel privé et de vous ajouter en tant que travailleur privé. Pour obtenir des instructions, veuillez consulter [Étape 1 : Créer une équipe de travail](a2i-get-started-console.md#a2i-get-started-console-step-1).

Si vous connaissez Amazon Cognito, vous pouvez suivre les instructions suivantes pour créer une équipe de travail privée à l'aide de l' SageMaker API. Après avoir créé une équipe de travail, notez l'ARN de l'équipe de travail (`WorkteamArn`).

Pour en savoir plus sur la main-d’œuvre privée et d’autres configurations disponibles, consultez [Main-d’œuvre privée](sms-workforce-private.md).

**Créer une main-d'œuvre privée**  
Si vous n'avez pas créé de main-d'œuvre privée, vous pouvez le faire à l'aide d'un [groupe d'utilisateurs Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html). Vérifiez que vous vous êtes ajouté à ce groupe d'utilisateurs. Vous pouvez créer une équipe de travail privée à l'aide de AWS SDK pour Python (Boto3) `[create\$1workforce](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_workforce)` cette fonction. Pour les autres langues spécifiques SDKs, reportez-vous à la liste dans. [CreateWorkforce](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html#API_CreateWorkforce_SeeAlso)

```
    
    response = client.create_workforce(
        CognitoConfig={
            "UserPool": "Pool_ID",
            "ClientId": "app-client-id"
        },
        WorkforceName="workforce-name"
    )
```

**Créer une équipe de travail privée**  
Après avoir créé une main-d'œuvre privée dans la AWS région pour configurer et démarrer votre boucle humaine, vous pouvez créer une équipe de travail privée à l'aide de cette AWS SDK pour Python (Boto3) `[create\$1workteam](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_workteam)` fonction. Pour les autres langues spécifiques SDKs, reportez-vous à la liste dans. `[CreateWorkteam](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkteam.html#API_CreateWorkteam_SeeAlso)`

```
    response = client.create_workteam(
        WorkteamName="work-team-name",
        WorkforceName= "workforce-name",
        MemberDefinitions=[
            {
                "CognitoMemberDefinition": {
                    "UserPool": "<aws-region>_ID",
                    "UserGroup": "user-group",
                    "ClientId": "app-client-id"
                },
            }
        ]
    )
```

Pour accéder à l'ARN de votre équipe de travail, procédez comme suit :

```
    workteamArn = response["WorkteamArn"]
```

**Répertorier les équipes de travail privées de votre compte**  
Si vous avez déjà créé une équipe de travail privée, vous pouvez répertorier toutes les équipes de travail d'une AWS région donnée dans votre compte à l'aide de cette AWS SDK pour Python (Boto3) `[list\$1workteams](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.list_workteams)` fonction. Pour les autres langues spécifiques SDKs, reportez-vous à la liste dans. `[ListWorkteams](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListWorkteams.html#API_ListWorkteams_SeeAlso)` 

```
    response = client.list_workteams()
```

Si votre compte comporte de nombreuses équipes de travail, vous voudrez peut-être utiliser `MaxResults`, `SortBy` et `NameContains` pour filtrer vos résultats.

## Créer un flux de vérification humaine
<a name="a2i-get-started-api-create-human-review-workflow"></a>

Vous pouvez créer un flux de vérification humaine à l'aide de l'opération `[CreateFlowDefinition](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html)` Amazon A2I. Avant de créer votre flux de vérification humaine, vous devez créer une interface utilisateur de tâche humaine. Vous pouvez faire ceci avec l'opération `[CreateHumanTaskUi](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html)`.

Si vous utilisez Amazon A2I avec les intégrations Amazon Textract ou Amazon Rekognition, vous pouvez spécifier des conditions d'activation à l'aide d'un objet JSON. 

### Créer une interface utilisateur de tâche humaine
<a name="a2i-get-started-api-worker-task-template"></a>

Si vous créez un flux de vérification humaine à utiliser avec les intégrations Amazon Textract ou Amazon Rekognition, vous devez utiliser et modifier le modèle de tâche d'employé préétabli. Pour toutes les intégrations personnalisées, vous pouvez utiliser votre propre modèle de tâche d'employé personnalisé. Utilisez le tableau suivant pour apprendre à créer une interface utilisateur de tâche humaine à l'aide d'un modèle de tâche d'employé pour les deux intégrations intégrées. Pour personnaliser cette demande, remplacez le modèle par le vôtre. 

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

Pour en savoir plus sur ce modèle, consultez [Exemple de modèle personnalisé pour Amazon Textract](a2i-custom-templates.md#a2i-custom-templates-textract-sample).

```
template = r"""
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
{% capture s3_uri %}http://s3.amazonaws.com/{{ task.input.aiServiceRequest.document.s3Object.bucket }}/{{ task.input.aiServiceRequest.document.s3Object.name }}{% endcapture %}
<crowd-form>
  <crowd-textract-analyze-document 
      src="{{ s3_uri | grant_read_access }}" 
      initial-value="{{ task.input.selectedAiServiceResponse.blocks }}" 
      header="Review the key-value pairs listed on the right and correct them if they don"t match the following document." 
      no-key-edit="" 
      no-geometry-edit="" 
      keys="{{ task.input.humanLoopContext.importantFormKeys }}" 
      block-types='["KEY_VALUE_SET"]'>
    <short-instructions header="Instructions">
        <p>Click on a key-value block to highlight the corresponding key-value pair in the document.
        </p><p><br></p>
        <p>If it is a valid key-value pair, review the content for the value. If the content is incorrect, correct it.
        </p><p><br></p>
        <p>The text of the value is incorrect, correct it.</p>
        <p><img src="https://assets.crowd.aws/images/a2i-console/correct-value-text.png">
        </p><p><br></p>
        <p>A wrong value is identified, correct it.</p>
        <p><img src="https://assets.crowd.aws/images/a2i-console/correct-value.png">
        </p><p><br></p>
        <p>If it is not a valid key-value relationship, choose No.</p>
        <p><img src="https://assets.crowd.aws/images/a2i-console/not-a-key-value-pair.png">
        </p><p><br></p>
        <p>If you can’t find the key in the document, choose Key not found.</p>
        <p><img src="https://assets.crowd.aws/images/a2i-console/key-is-not-found.png">
        </p><p><br></p>
        <p>If the content of a field is empty, choose Value is blank.</p>
        <p><img src="https://assets.crowd.aws/images/a2i-console/value-is-blank.png">
        </p><p><br></p>
        <p><strong>Examples</strong></p>
        <p>Key and value are often displayed next or below to each other.
        </p><p><br></p>
        <p>Key and value displayed in one line.</p>
        <p><img src="https://assets.crowd.aws/images/a2i-console/sample-key-value-pair-1.png">
        </p><p><br></p>
        <p>Key and value displayed in two lines.</p>
        <p><img src="https://assets.crowd.aws/images/a2i-console/sample-key-value-pair-2.png">
        </p><p><br></p>
        <p>If the content of the value has multiple lines, enter all the text without line break. 
        Include all value text even if it extends beyond the highlight box.</p>
        <p><img src="https://assets.crowd.aws/images/a2i-console/multiple-lines.png"></p>
    </short-instructions>
    <full-instructions header="Instructions"></full-instructions>
  </crowd-textract-analyze-document>
</crowd-form>
"""
```

------
#### [ Amazon Rekognition – Image moderation ]

Pour en savoir plus sur ce modèle, consultez [Exemple de modèle personnalisé pour Amazon Rekognition](a2i-custom-templates.md#a2i-custom-templates-rekognition-sample).

```
template = r"""
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
{% capture s3_uri %}http://s3.amazonaws.com/{{ task.input.aiServiceRequest.image.s3Object.bucket }}/{{ task.input.aiServiceRequest.image.s3Object.name }}{% endcapture %}

<crowd-form>
  <crowd-rekognition-detect-moderation-labels
    categories='[
      {% for label in task.input.selectedAiServiceResponse.moderationLabels %}
        {
          name: "{{ label.name }}",
          parentName: "{{ label.parentName }}",
        },
      {% endfor %}
    ]'
    src="{{ s3_uri | grant_read_access }}"
    header="Review the image and choose all applicable categories."
  >
    <short-instructions header="Instructions">
      <style>
        .instructions {
          white-space: pre-wrap;
        }
      </style>
      <p class="instructions">Review the image and choose all applicable categories.
If no categories apply, choose None.

<b>Nudity</b>
Visuals depicting nude male or female person or persons

<b>Partial Nudity</b>
Visuals depicting covered up nudity, for example using hands or pose

<b>Revealing Clothes</b>
Visuals depicting revealing clothes and poses

<b>Physical Violence</b>
Visuals depicting violent physical assault, such as kicking or punching

<b>Weapon Violence</b>
Visuals depicting violence using weapons like firearms or blades, such as shooting

<b>Weapons</b>
Visuals depicting weapons like firearms and blades
    </short-instructions>

    <full-instructions header="Instructions"></full-instructions>
  </crowd-rekognition-detect-moderation-labels>
</crowd-form>"""
```

------
#### [ Custom Integration ]

Voici un exemple de modèle qui peut être utilisé dans une intégration personnalisée. Ce modèle est utilisé dans cet [ordinateur portable](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(A2I)%20and%20Comprehend%20DetectSentiment.ipynb), pour démontrer une intégration personnalisée avec Amazon Comprehend.

```
template = r"""
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>

<crowd-form>
    <crowd-classifier
      name="sentiment"
      categories='["Positive", "Negative", "Neutral", "Mixed"]'
      initial-value="{{ task.input.initialValue }}"
      header="What sentiment does this text convey?"
    >
      <classification-target>
        {{ task.input.taskObject }}
      </classification-target>
      
      <full-instructions header="Sentiment Analysis Instructions">
        <p><strong>Positive</strong> sentiment include: joy, excitement, delight</p>
        <p><strong>Negative</strong> sentiment include: anger, sarcasm, anxiety</p>
        <p><strong>Neutral</strong>: neither positive or negative, such as stating a fact</p>
        <p><strong>Mixed</strong>: when the sentiment is mixed</p>
      </full-instructions>

      <short-instructions>
       Choose the primary sentiment that is expressed by the text. 
      </short-instructions>
    </crowd-classifier>
</crowd-form>
"""
```

------

À l'aide du modèle spécifié ci-dessus, vous pouvez créer un modèle à l'aide de la AWS SDK pour Python (Boto3) `[create\$1human\$1task\$1ui](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_human_task_ui)` fonction. Pour les autres langues spécifiques SDKs, reportez-vous à la liste dans. `[CreateHumanTaskUi](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html#API_CreateHumanTaskUi_SeeAlso)` 

```
    
    response = client.create_human_task_ui(
        HumanTaskUiName="human-task-ui-name",
        UiTemplate={
            "Content": template
        }
    )
```

Cet élément de réponse contient l'ARN de l'interface utilisateur de tâche humaine. Enregistrez ceci comme suit :

```
    humanTaskUiArn = response["HumanTaskUiArn"]
```

### Créer un objet JSON pour spécifier les conditions d'activation
<a name="a2i-get-started-api-activation-conditions"></a>

Pour les intégrations intégrées Amazon Textract et Amazon Rekognition, vous pouvez enregistrer les conditions d'activation dans un objet JSON et l'utiliser dans votre demande `CreateFlowDefinition`. 

Ensuite, sélectionnez un onglet pour voir un exemple de conditions d'activation que vous pouvez utiliser pour ces intégrations intégrées. Pour plus d’informations sur les options de condition d’activation, consultez [Schéma JSON pour les conditions d’activation de boucle humaine dans l’IA augmentée d’Amazon](a2i-human-fallback-conditions-json-schema.md).

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

Cet exemple spécifie des conditions pour des clés spécifiques (telles que `Mail address`) dans le document. Si l'indice de confiance d'Amazon Textract dépasse les seuils définis ici, le document est soumis à vérification humaine, et les clés spécifiques à l'initiation de la boucle humaine sont envoyées à l'employé.

```
      import json  

      humanLoopActivationConditions = json.dumps(
        {
            "Conditions": [
                {
                  "Or": [
                    
                    {
                        "ConditionType": "ImportantFormKeyConfidenceCheck",
                        "ConditionParameters": {
                            "ImportantFormKey": "Mail address",
                            "ImportantFormKeyAliases": ["Mail Address:","Mail address:", "Mailing Add:","Mailing Addresses"],
                            "KeyValueBlockConfidenceLessThan": 100,
                            "WordBlockConfidenceLessThan": 100
                        }
                    },
                    {
                        "ConditionType": "MissingImportantFormKey",
                        "ConditionParameters": {
                            "ImportantFormKey": "Mail address",
                            "ImportantFormKeyAliases": ["Mail Address:","Mail address:","Mailing Add:","Mailing Addresses"]
                        }
                    },
                    {
                        "ConditionType": "ImportantFormKeyConfidenceCheck",
                        "ConditionParameters": {
                            "ImportantFormKey": "Phone Number",
                            "ImportantFormKeyAliases": ["Phone number:", "Phone No.:", "Number:"],
                            "KeyValueBlockConfidenceLessThan": 100,
                            "WordBlockConfidenceLessThan": 100
                        }
                    },
                    {
                      "ConditionType": "ImportantFormKeyConfidenceCheck",
                      "ConditionParameters": {
                        "ImportantFormKey": "*",
                        "KeyValueBlockConfidenceLessThan": 100,
                        "WordBlockConfidenceLessThan": 100
                      }
                    },
                    {
                      "ConditionType": "ImportantFormKeyConfidenceCheck",
                      "ConditionParameters": {
                        "ImportantFormKey": "*",
                        "KeyValueBlockConfidenceGreaterThan": 0,
                        "WordBlockConfidenceGreaterThan": 0
                      }
                    }
            ]
        }
            ]
        }
    )
```

------
#### [ Amazon Rekognition – Image moderation ]

Les conditions d'activation de la boucle humaine utilisées ici sont adaptées à la modération du contenu Amazon Rekognition ; elles sont basées sur les seuils de confiance pour les étiquettes de modération `Suggestive` et `Female Swimwear Or Underwear`.

```
        import json  

        humanLoopActivationConditions = json.dumps(
        {
            "Conditions": [
                {
                  "Or": [
                    {
                        "ConditionType": "ModerationLabelConfidenceCheck",
                        "ConditionParameters": {
                            "ModerationLabelName": "Suggestive",
                            "ConfidenceLessThan": 98
                        }
                    },
                    {
                        "ConditionType": "ModerationLabelConfidenceCheck",
                        "ConditionParameters": {
                            "ModerationLabelName": "Female Swimwear Or Underwear",
                            "ConfidenceGreaterThan": 98
                        }
                    }
                  ]
               }
            ]
        }
    )
```

------

### Créer un flux de vérification humaine
<a name="a2i-get-started-api-flow-definition"></a>

Cette section donne un exemple de `CreateFlowDefinition` AWS SDK pour Python (Boto3) demande utilisant les ressources créées dans les sections précédentes. Pour les autres langues spécifiques SDKs, reportez-vous à la liste dans. [CreateFlowDefinition](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html#API_CreateFlowDefinition_SeeAlso) Utilisez les onglets du tableau suivant pour voir les demandes de création d'un flux de vérification humaine pour les intégrations intégrées Amazon Textract et Amazon Rekognition.

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

Si vous utilisez l'intégration intégrée avec Amazon Textract, vous devez spécifier `"AWS/Textract/AnalyzeDocument/Forms/V1"` pour `"AwsManagedHumanLoopRequestSource"` dans `HumanLoopRequestSource`. 

```
    response = client.create_flow_definition(
        FlowDefinitionName="human-review-workflow-name",
        HumanLoopRequestSource={
            "AwsManagedHumanLoopRequestSource": "AWS/Textract/AnalyzeDocument/Forms/V1"
        }, 
        HumanLoopActivationConfig={
            "HumanLoopActivationConditionsConfig": {
                "HumanLoopActivationConditions": humanLoopActivationConditions
            }
        },
        HumanLoopConfig={
            "WorkteamArn": workteamArn,
            "HumanTaskUiArn": humanTaskUiArn,
            "TaskTitle": "Document entry review",
            "TaskDescription": "Review the document and instructions. Complete the task",
            "TaskCount": 1,
            "TaskAvailabilityLifetimeInSeconds": 43200,
            "TaskTimeLimitInSeconds": 3600,
            "TaskKeywords": [
                "document review",
            ],
        },
        OutputConfig={
            "S3OutputPath": "s3://amzn-s3-demo-bucket/prefix/",
        },
        RoleArn="arn:aws:iam::<account-number>:role/<role-name>",
        Tags=[
            {
                "Key": "string",
                "Value": "string"
            },
        ]
    )
```

------
#### [ Amazon Rekognition – Image moderation ]

Si vous utilisez l'intégration intégrée avec Amazon Rekognition, vous devez spécifier `"AWS/Rekognition/DetectModerationLabels/Image/V3"` pour `"AwsManagedHumanLoopRequestSource"` dans `HumanLoopRequestSource`.

```
    response = client.create_flow_definition(
        FlowDefinitionName="human-review-workflow-name",
        HumanLoopRequestSource={
            "AwsManagedHumanLoopRequestSource": "AWS/Rekognition/DetectModerationLabels/Image/V3"
        }, 
        HumanLoopActivationConfig={
            "HumanLoopActivationConditionsConfig": {
                "HumanLoopActivationConditions": humanLoopActivationConditions
            }
        },
        HumanLoopConfig={
            "WorkteamArn": workteamArn,
            "HumanTaskUiArn": humanTaskUiArn,
            "TaskTitle": "Image content moderation",
            "TaskDescription": "Review the image and instructions. Complete the task",
            "TaskCount": 1,
            "TaskAvailabilityLifetimeInSeconds": 43200,
            "TaskTimeLimitInSeconds": 3600,
            "TaskKeywords": [
                "content moderation",
            ],
        },
        OutputConfig={
            "S3OutputPath": "s3://amzn-s3-demo-bucket/prefix/",
        },
        RoleArn="arn:aws:iam::<account-number>:role/<role-name>",
        Tags=[
            {
                "Key": "string",
                "Value": "string"
            },
        ]
    )
```

------
#### [ Custom Integration ]

Si vous utilisez une intégration personnalisée, excluez les paramètres suivants :`HumanLoopRequestSource`, `HumanLoopActivationConfig`.

```
    response = client.create_flow_definition(
        FlowDefinitionName="human-review-workflow-name",
        HumanLoopConfig={
            "WorkteamArn": workteamArn,
            "HumanTaskUiArn": humanTaskUiArn,
            "TaskTitle": "Image content moderation",
            "TaskDescription": "Review the image and instructions. Complete the task",
            "TaskCount": 1,
            "TaskAvailabilityLifetimeInSeconds": 43200,
            "TaskTimeLimitInSeconds": 3600,
            "TaskKeywords": [
                "content moderation",
            ],
        },
        OutputConfig={
            "S3OutputPath": "s3://amzn-s3-demo-bucket/prefix/",
        },
        RoleArn="arn:aws:iam::<account-number>:role/<role-name>",
        Tags=[
            {
                "Key": "string",
                "Value": "string"
            },
        ]
    )
```

------

Une fois que vous avez créé un flux de vérification humaine, vous pouvez récupérer l'ARN de définition de flux à partir de la réponse :

```
    humanReviewWorkflowArn = response["FlowDefinitionArn"]    
```

## Créer une boucle humaine
<a name="a2i-get-started-api-create-human-loop"></a>

L'opération d'API que vous utilisez pour démarrer une boucle humaine dépend de l'intégration Amazon A2I que vous utilisez. 
+ Si vous utilisez l'intégration intégrée d'Amazon Textract, vous utilisez l'[AnalyzeDocument](https://docs.aws.amazon.com/textract/latest/dg/API_AnalyzeDocument.html)opération.
+ Si vous utilisez l'intégration intégrée d'Amazon Rekognition, vous utilisez l'opération. [DetectModerationLabels](https://docs.aws.amazon.com/rekognition/latest/dg/API_DetectModerationLabels.html)
+ Si vous utilisez une intégration personnalisée, vous utilisez l'[StartHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StartHumanLoop.html)opération. 

Sélectionnez votre type de tâche dans le tableau suivant pour afficher des exemples de demandes pour Amazon Textract et Amazon Rekognition à l'aide de l'outil AWS SDK pour Python (Boto3). 

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

L'exemple suivant utilise l'appel AWS SDK pour Python (Boto3) to `analyze_document` dans us-west-2. Remplacez le texte en rouge et en italique par vos ressources. N'incluez le paramètre [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html) que si vous utilisez la main-d'œuvre Amazon Mechanical Turk. Pour plus d’informations, consultez la documentation [analyze\$1document](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/textract.html#Textract.Client.analyze_document) dans la *Référence des API AWS SDK pour Python (Boto) *.

```
   response = client.analyze_document(
         Document={"S3Object": {"Bucket": "amzn-s3-demo-bucket", "Name": "document-name.pdf"},
         HumanLoopConfig={
            "FlowDefinitionArn":"arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
            "HumanLoopName":"human-loop-name",
            "DataAttributes" : {ContentClassifiers:["FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent"]}
         }
         FeatureTypes=["FORMS"]
    )
```

Les boucles humaines ne sont créées que si la confiance d'Amazon Textract pour la tâche d'analyse des documents répond aux conditions d'activation que vous avez spécifiées dans votre flux de vérification humaine. Vous pouvez vérifier l'élément `response` pour déterminer si une boucle humaine a été créée. Pour voir tout ce qui est inclus dans cette réponse, consultez [https://docs.aws.amazon.com/textract/latest/dg/API_HumanLoopActivationOutput.html](https://docs.aws.amazon.com/textract/latest/dg/API_HumanLoopActivationOutput.html).

```
    if "HumanLoopArn" in analyzeDocumentResponse["HumanLoopActivationOutput"]:
        # A human loop has been started!
        print(f"A human loop has been started with ARN: {analyzeDocumentResponse["HumanLoopActivationOutput"]["HumanLoopArn"]}"
```

------
#### [ Amazon Rekognition – Image moderation ]

L'exemple suivant utilise l'appel AWS SDK pour Python (Boto3) to `detect_moderation_labels` dans us-west-2. Remplacez le texte en rouge et en italique par vos ressources. N'incluez le paramètre [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html) que si vous utilisez la main-d'œuvre Amazon Mechanical Turk. Pour plus d’informations, consultez la documentation [detect\$1moderation\$1labels](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rekognition.html#Rekognition.Client.detect_moderation_labels) dans la *Référence des API AWS SDK pour Python (Boto) *.

```
   response = client.detect_moderation_labels(
            Image={"S3Object":{"Bucket": "amzn-s3-demo-bucket", "Name": "image-name.png"}},
            HumanLoopConfig={
               "FlowDefinitionArn":"arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
               "HumanLoopName":"human-loop-name",
               "DataAttributes":{ContentClassifiers:["FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent"]}
             }
    )
```

Les boucles humaines ne sont créées que si la confiance d'Amazon Rekognition pour une tâche de modération des images satisfait aux conditions d'activation que vous avez spécifiées dans votre flux de vérification humaine. Vous pouvez vérifier l'élément `response` pour déterminer si une boucle humaine a été créée. Pour voir tout ce qui est inclus dans cette réponse, consultez [https://docs.aws.amazon.com/rekognition/latest/dg/API_HumanLoopActivationOutput.html](https://docs.aws.amazon.com/rekognition/latest/dg/API_HumanLoopActivationOutput.html).

```
    if "HumanLoopArn" in response["HumanLoopActivationOutput"]:
        # A human loop has been started!
        print(f"A human loop has been started with ARN: {response["HumanLoopActivationOutput"]["HumanLoopArn"]}")
```

------
#### [ Custom Integration ]

L'exemple suivant utilise l'appel AWS SDK pour Python (Boto3) to `start_human_loop` dans us-west-2. Remplacez le texte en rouge et en italique par vos ressources. N'incluez le paramètre [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopDataAttributes.html) que si vous utilisez la main-d'œuvre Amazon Mechanical Turk. Pour plus d’informations, consultez la documentation [start\$1human\$1loop](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker-a2i-runtime.html#AugmentedAIRuntime.Client.start_human_loop) dans la *Référence des API AWS SDK pour Python (Boto) *.

```
   response = client.start_human_loop(
        HumanLoopName= "human-loop-name",
        FlowDefinitionArn= "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
        HumanLoopInput={"InputContent": inputContentJson},
        DataAttributes={"ContentClassifiers":["FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent"]}
   )
```

Cet exemple stocke le contenu d'entrée dans la variable *`inputContentJson`*. Supposons que le contenu d'entrée contienne deux éléments : un texte de présentation et un ressenti (tel que`Positive`, `Negative` ou`Neutral`), et qu'il est formaté de la façon suivante :

```
    inputContent = {
        "initialValue": sentiment,
         "taskObject": blurb
     }
```

Les clés `initialValue` et `taskObject` doivent correspondre aux clés utilisées dans les éléments liquides du modèle de tâche d'employé. Reportez-vous au modèle personnalisé dans [Créer une interface utilisateur de tâche humaine](#a2i-get-started-api-worker-task-template) pour voir un exemple. 

Pour créer `inputContentJson`, procédez comme suit : 

```
    import json
    
    inputContentJson = json.dumps(inputContent)
```

Une boucle humaine démarre chaque fois que vous appelez `start_human_loop`. Pour vérifier l'état de votre boucle humaine, utilisez [describe\$1human\$1loop](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker-a2i-runtime.html#AugmentedAIRuntime.Client.describe_human_loop) : 

```
    human_loop_info = a2i.describe_human_loop(HumanLoopName="human_loop_name")
    print(f"HumanLoop Status: {resp["HumanLoopStatus"]}")
    print(f"HumanLoop Output Destination: {resp["HumanLoopOutput"]}")
```

------

# Cas d'utilisation et exemples d’utilisation d'Amazon A2I
<a name="a2i-task-types-general"></a>

Vous pouvez utiliser l’IA augmentée d’Amazon pour incorporer une vérification humaine à votre flux pour des *types de tâches intégrés*, Amazon Textract et Amazon Rekognition, ou vos propres tâches personnalisées à l’aide d’un *type de tâche personnalisé*. 

Lorsque vous créez un flux de vérification humaine à l’aide de l’un des types de tâches intégrés, vous pouvez spécifier des conditions telles que des seuils de fiabilité, qui initieront une vérification humaine. Le service (Amazon Rekognition ou Amazon Textract) crée une boucle humaine en votre nom lorsque ces conditions sont remplies et fournit vos données d'entrée directement dans Amazon A2I pour les soumettre à vérification humaine. Pour en savoir plus sur les types de tâches intégrés, procédez comme suit :
+ [Utiliser l’IA augmentée d’Amazon avec Amazon Textract](a2i-textract-task-type.md)
+ [Utiliser l’IA augmentée d’Amazon avec Amazon Rekognition](a2i-rekognition-task-type.md)

Lorsque vous utilisez un type de tâche personnalisé, vous créez et démarrez une boucle humaine à l'aide de l'API d'exécution Amazon A2I. Utilisez le type de tâche personnalisé pour incorporer un flux de vérification humaine à d’autres services AWS ou à votre propre application ML personnalisée.
+ Pour plus d'informations, consultez [Utiliser l’IA augmentée d’Amazon avec des types de tâches personnalisés](a2i-task-types-custom.md).

Le tableau suivant décrit divers cas d'utilisation d'Amazon A2I que vous pouvez explorer à l'aide des blocs-notes SageMaker AI Jupyter. Pour commencer à utiliser un bloc-notes Jupyter, suivez les instructions fournies dans [Utiliser une instance de SageMaker bloc-notes avec Amazon A2I Jupyter Notebook](#a2i-task-types-notebook-demo). Pour plus d'exemples, consultez ce [GitHubréférentiel](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks). 


****  

| **Cas d'utilisation** | **Description** | **Type de tâche** | 
| --- | --- | --- | 
|  [Utilisation d'Amazon A2I avec Amazon Textract](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(A2I)%20and%20Textract%20AnalyzeDocument.ipynb) (langue française non garantie)  |  Demandez à des humains de vérifier des documents d'une seule page pour vérifier des paires clé-valeur de formulaires importantes, ou demandez à Amazon Textract d'échantillonner au hasard des documents de votre jeu de données et de les envoyer pour vérification humaine.   | Intégré | 
| [Utilisation d'Amazon A2I avec Amazon Rekognition](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(A2I)%20and%20Rekognition%20DetectModerationLabels.ipynb) (langue française non garantie) |  Demandez à des humains de vérifier des images inappropriées à la recherche de contenu violent ou pour adultes si Amazon Rekognition renvoie un indice de confiance faible, ou demandez à Amazon Rekognition d'échantillonner au hasard des images de votre jeu de données et de les envoyer pour vérification humaine.  |  Intégré  | 
| [Utilisation d'Amazon A2I avec Amazon Comprehend](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(A2I)%20and%20Comprehend%20DetectSentiment.ipynb) (langue française non garantie) |  Demandez à des humains de vérifier des inférences Amazon Comprehend sur les données textuelles telles que l'analyse du ressenti, la syntaxe du texte et la détection d’entités.  |  Personnalisé  | 
| [Utilisation d'Amazon A2I avec Amazon Transcribe](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/A2I-Video-Transcription-with-Amazon-Transcribe.ipynb) (langue française non garantie) |  Demandez à des humains de vérifier des transcriptions des fichiers vidéo ou audio Amazon Transcribe. Utilisez les résultats des boucles de vérification humaine de transcription pour créer un vocabulaire personnalisé et améliorer les transcriptions de contenus vidéo ou audio similaires à l’avenir.  | Personnalisé | 
| [Utilisation d'Amazon A2I avec Amazon Translate](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(A2I)%20and%20Amazon%20Translate.ipynb) (langue française non garantie) |  Demandez à des humains de vérifier les traductions de faible confiance renvoyées par Amazon Translate.  |  Personnalisé  | 
| [Utilisation d'Amazon A2I pour vérifier les inférences de machine learning en temps réel](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20A2I%20with%20Amazon%20SageMaker%20for%20object%20detection%20and%20model%20retraining.ipynb) (langue française non garantie)  |  Utilisez Amazon A2I pour examiner en temps réel les inférences peu fiables effectuées par un modèle déployé sur un point de terminaison hébergé par l' SageMaker IA et entraînez progressivement votre modèle à l'aide des données de sortie Amazon A2I.  |  Personnalisé  | 
| [Utilisation d'Amazon A2I pour vérifier des données tabulaires](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(Amazon%20A2I)%20Integration%20with%20tabular%20data.ipynb) (langue française non garantie) |  Utilisez Amazon A2I pour intégrer une boucle de vérification humaine dans une application ML qui utilise des données tabulaires.  |  Personnalisé  | 

**Topics**
+ [Utiliser une instance de SageMaker bloc-notes avec Amazon A2I Jupyter Notebook](#a2i-task-types-notebook-demo)
+ [Utiliser l’IA augmentée d’Amazon avec Amazon Textract](a2i-textract-task-type.md)
+ [Utiliser l’IA augmentée d’Amazon avec Amazon Rekognition](a2i-rekognition-task-type.md)
+ [Utiliser l’IA augmentée d’Amazon avec des types de tâches personnalisés](a2i-task-types-custom.md)

## Utiliser une instance de SageMaker bloc-notes avec Amazon A2I Jupyter Notebook
<a name="a2i-task-types-notebook-demo"></a>

Pour un end-to-end exemple qui montre comment intégrer une boucle de révision humaine Amazon A2I dans un flux de travail d'apprentissage automatique, vous pouvez utiliser un bloc-notes Jupyter de ce [GitHub référentiel](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks) dans une SageMaker instance de bloc-notes.

**Pour utiliser un exemple de carnet de notes de type de tâche personnalisé Amazon A2I dans une instance de SageMaker bloc-notes Amazon :**

1. Si vous n'avez pas d'instance de SageMaker bloc-notes active, créez-en une en suivant les instructions de[Création d'une instance Amazon SageMaker Notebook pour le didacticiel](gs-setup-working-env.md).

1. Lorsque votre instance de bloc-notes est active, choisissez **Ouvrir JupyterLab** à droite du nom de l'instance de bloc-notes. Le chargement peut prendre quelques instants. JupyterLab 

1. Choisissez l'icône d'ajout d'un dépôt Github (![\[Diagonal arrow icon with N and 1 symbols, representing a one-to-many relationship.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/icons/Git_squip_add_repo.png)) pour cloner un GitHub dépôt dans votre espace de travail. 

1. Entrez l'URL HTTPS du i-sample-jupyter-notebooks référentiel [amazon-a2](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks). 

1. Choisissez **CLONE (CLONER)**.

1. Ouvrez le bloc-notes que vous souhaitez exécuter. 

1. Suivez les instructions du bloc-notes pour configurer votre flux de vérification humaine et votre boucle humaine, et pour exécuter les cellules. 

1. Pour éviter d'encourir des frais inutiles, une fois la démonstration terminée, arrêtez et supprimez votre instance de bloc-notes en plus des compartiments Amazon S3, des rôles IAM et des ressources d' CloudWatch événements créés lors de la procédure pas à pas.

# Utiliser l’IA augmentée d’Amazon avec Amazon Textract
<a name="a2i-textract-task-type"></a>

Amazon Textract vous permet d'ajouter la détection et l'analyse du texte d'un document à vos applications. L’IA augmentée d’Amazon (Amazon A2I) s’intègre directement à l’opération d’API `AnalyzeDocument` d’Amazon Textract. Vous pouvez utiliser `AnalyzeDocument` pour analyser un document et afin de rechercher des relations entre les éléments détectés. Lorsque vous ajoutez une boucle de vérification humaine Amazon A2I à une demande `AnalyzeDocument`, Amazon A2I contrôle les résultats Amazon Textract et envoie un document à un ou plusieurs employés humains pour vérification lorsque les conditions spécifiées dans votre définition de flux sont remplies. Par exemple, si vous voulez qu'un humain vérifie une clé spécifique telle que `Full name:` et ses valeurs d'entrée associées, vous pouvez créer une condition d’activation qui démarre une vérification humaine chaque fois que la clé `Full name:` est détectée ou lorsque la fiabilité d'inférence de cette clé entre dans une plage définie par vos soins. 

L'image suivante illustre le flux intégré Amazon A2I avec Amazon Textract. Sur la gauche, les ressources nécessaires à la création d’un flux de vérification humaine Amazon Textract sont représentées : un compartiment Amazon S3, des conditions d’activation, un modèle de tâche d’employé et une équipe de travail. Ces ressources sont utilisées pour créer un flux de vérification humaine, ou une définition de flux. Une flèche pointe à droite, vers l’étape suivante du flux : utiliser Amazon Textract pour configurer une boucle humaine avec le flux de vérification humaine. Une seconde flèche pointe à droite, de cette étape vers l’étape dans laquelle les conditions d’activation spécifiées dans le flux de vérification humaine sont remplies. Cela initie la création d'une boucle humaine. À droite de l'image, la boucle humaine est représentée en trois étapes : 1) l'UI d’employé et les outils sont générés, et la tâche est mise à la disposition des employés, 2) les employés vérifient les données d'entrée, et enfin, 3) les résultats sont enregistrés dans Amazon S3.

![\[Utiliser l’IA augmentée d’Amazon avec Amazon Textract\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/a2i/diagrams/product-page-diagram_A21-Components_Textract@2x.png)


Vous pouvez spécifier le moment où Amazon Textract envoie une tâche à un employé humain pour vérification, lors de la création d’un flux de vérification humaine ou d’une définition de flux, en spécifiant les *conditions d’activation*. 

Vous pouvez définir les conditions d'activation suivantes lorsque vous utilisez le type de tâche Amazon Textract :
+ Initiation d'une vérification humaine pour des clés de formulaire spécifiques en fonction de l'indice de confiance de la clé de formulaire. 
+ Initiation d'une vérification humaine lorsque des clés de formulaire spécifiques sont manquantes. 
+ Initiation d'une vérification humaine pour toutes les clés de formulaire identifiées par Amazon Textract avec des indices de confiance situés dans une plage spécifiée.
+ Envoi aléatoire d'un échantillon de formulaires aux collaborateurs humains pour vérification.

Lorsque votre condition d'activation dépend des indices de confiance des clés de formulaire, vous pouvez utiliser deux types de confiance prédictive pour initier des boucles humaines :
+ **Confiance d'identification** : l’indice de confiance des paires clé-valeur détectées dans un formulaire.
+ **Confiance de qualification** : l’indice de confiance du texte contenu dans la clé et la valeur d’un formulaire.

Dans l'image de la section suivante, **Full Name: Jane Doe (Nom complet : Jane Doe)** est la paire clé-valeur, **Full Name (Nom complet)** est la clé et **Jane Doe** est la valeur.

Vous pouvez définir ces conditions d'activation à l'aide de la console Amazon SageMaker AI lorsque vous créez un flux de travail de révision humain, ou en créant un JSON pour les conditions d'activation de la boucle humaine et en le spécifiant comme entrée dans le `HumanLoopActivationConditions` paramètre de fonctionnement de l'`CreateFlowDefinition`API. Pour savoir comment spécifier les conditions d’activation au format JSON, consultez [Schéma JSON pour les conditions d’activation de boucle humaine dans l’IA augmentée d’Amazon](a2i-human-fallback-conditions-json-schema.md) et [Utilisation du schéma JSON pour les conditions d'activation de boucle humaine avec Amazon Textract](a2i-json-humantaskactivationconditions-textract-example.md).

**Note**  
Lorsque vous utilisez l'IA augmentée avec Amazon Textract, créez des ressources d'IA augmentée dans la même AWS région que celle que vous avez l'habitude d'appeler. `AnalyzeDocument` 

## Mise en route : Intégrer une vérification humaine dans une tâche d'analyse de document Amazon Textract
<a name="a2i-create-textract-human-review"></a>

Pour intégrer une vérification humaine dans une tâche de détection et d'analyse de texte Amazon Textract, vous devez créer une définition de flux, puis utiliser l'API Amazon Textract pour l'intégrer dans votre flux. Pour savoir comment créer une définition de flux à l'aide de la console SageMaker AI ou de l'API Augmented AI, consultez les rubriques suivantes :
+ [Créer un flux de vérification humaine (console)](a2i-create-flow-definition.md#a2i-create-human-review-console)
+ [Créer un flux de vérification humaine (API)](a2i-create-flow-definition.md#a2i-create-human-review-api)

Après avoir créé votre définition de flux, consultez [Using Augmented AI with Amazon Textract (Utiliser Augmented AI avec Amazon Textract)](https://docs.aws.amazon.com/textract/latest/dg/a2i-textract.html) pour savoir comment intégrer votre définition de flux dans votre tâche Amazon Textract. 

## End-to-End Exemple d'utilisation d'Amazon Textract et d'Amazon A2I
<a name="a2i-task-types-textract-notebook-demo"></a>

Pour un end-to-end exemple illustrant comment utiliser Amazon Textract avec Amazon A2I à l'aide de la console, consultez. [Didacticiel : Démarrer dans la console Amazon A2I](a2i-get-started-console.md)

Pour savoir comment utiliser l'API Amazon A2I pour créer et démarrer une évaluation humaine, vous pouvez utiliser l'[intégration d'Amazon Augmented AI (Amazon A2I) avec le document d'analyse d'Amazon Textract [Example]](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(A2I)%20and%20Textract%20AnalyzeDocument.ipynb) dans une SageMaker instance de carnet de notes. Consultez [Utiliser une instance de SageMaker bloc-notes avec Amazon A2I Jupyter Notebook](a2i-task-types-general.md#a2i-task-types-notebook-demo) pour démarrer.

## Version préliminaire de la console d'employé A2I Textract
<a name="a2i-textract-console-preview"></a>

Lorsqu'une tâche de vérification leur est affectée dans un flux Amazon Textract, les employés peuvent voir une interface utilisateur semblable à celle qui suit :

![\[Exemple de tâche de vérification dans la console d’application de travail A2I Textract.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/a2i-textract-example.png)


Vous pouvez personnaliser cette interface dans la console SageMaker AI lorsque vous créez votre définition de révision humaine, ou en créant et en utilisant un modèle personnalisé. Pour en savoir plus, consultez [Créer et gérer des modèles de tâches d'employé](a2i-instructions-overview.md).

# Utiliser l’IA augmentée d’Amazon avec Amazon Rekognition
<a name="a2i-rekognition-task-type"></a>

Amazon Rekognition facilite l'ajout d'une analyse des images à vos applications. Comme l'opération d'API `DetectModerationLabels` Amazon Rekognition est directement intégrée à Amazon A2I, vous pouvez créer facilement une boucle humaine pour vérifier des images inappropriées, telles que du contenu explicite destiné aux adultes ou du contenu violent. Vous pouvez utiliser `DetectModerationLabels` pour configurer une boucle humaine à l'aide d'un ARN de définition de flux. Cela permet à Amazon A2I d'analyser les prédictions faites par Amazon Rekognition et d'envoyer les résultats à un humain pour vérification, de sorte à s’assurer qu’ils remplissent les conditions définies dans votre définition de flux.

L'image suivante illustre le flux intégré Amazon A2I avec Amazon Rekognition. Sur la gauche, les ressources nécessaires à la création d'un flux de vérification humaine Amazon Rekognition sont représentées : un compartiment Amazon S3, des conditions d'activation, un modèle de tâche d’employé et une équipe de travail. Ces ressources sont utilisées pour créer un flux de vérification humaine, ou définition de flux. Une flèche pointe à droite, vers l'étape suivante du flux : utiliser Amazon Rekognition pour configurer une boucle humaine avec le flux de vérification humaine. Une seconde flèche pointe à droite, de cette étape vers l'étape dans laquelle les conditions d'activation spécifiées dans le flux de vérification humaine sont remplies. Cela initie la création d'une boucle humaine. À droite de l'image, la boucle humaine est représentée en trois étapes : 1) l'UI d’employé et les outils sont générés, et la tâche est mise à la disposition des employés, 2) les employés vérifient les données d'entrée, et enfin, 3) les résultats sont enregistrés dans Amazon S3.

![\[Utiliser l’IA augmentée d’Amazon avec Amazon Rekognition\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/a2i/diagrams/product-page-diagram_A2I-Components_Rekognition@2x.png)


Vous pouvez définir les conditions d'activation suivantes lorsque vous utilisez le type de tâche Amazon Rekognition :
+ Initiation d'une vérification humaine pour les étiquettes identifiées par Amazon Rekognition en fonction de l'indice de confiance de l'étiquette.
+ Envoi aléatoire d'un échantillon d'images à des humaines pour vérification.

Vous pouvez définir ces conditions d'activation à l'aide de la console Amazon SageMaker AI lorsque vous créez un flux de travail de révision humain, ou en créant un JSON pour les conditions d'activation de la boucle humaine et en le spécifiant comme entrée dans le `HumanLoopActivationConditions` paramètre de l'opération d'`CreateFlowDefinition`API. Pour savoir comment spécifier les conditions d’activation au format JSON, consultez [Schéma JSON pour les conditions d’activation de boucle humaine dans l’IA augmentée d’Amazon](a2i-human-fallback-conditions-json-schema.md) et [Utilisation du schéma JSON pour les conditions d'activation de boucle humaine avec Amazon Rekognition](a2i-json-humantaskactivationconditions-rekognition-example.md).

**Note**  
Lorsque vous utilisez l'IA augmentée avec Amazon Rekognition, créez des ressources d'IA augmentée AWS dans la même région que celle que vous avez l'habitude d'appeler. `DetectModerationLabels` 

## Mise en route : Intégrer une vérification humaine dans une tâche de modération des images Amazon Rekognition
<a name="a2i-create-rekognition-human-review"></a>

Pour intégrer une vérification humaine dans une tâche Amazon Rekognition, consultez les rubriques suivantes :
+ [Créer un flux de vérification humaine (console)](a2i-create-flow-definition.md#a2i-create-human-review-console)
+ [Créer un flux de vérification humaine (API)](a2i-create-flow-definition.md#a2i-create-human-review-api)

Après avoir créé votre définition de flux, consultez [Using Augmented AI with Amazon Rekognition (Utiliser Augmented AI avec Amazon Rekognition)](https://docs.aws.amazon.com/rekognition/latest/dg/a2i-rekognition.html) pour savoir comment intégrer votre définition de flux dans votre tâche Amazon Rekognition. 

## End-to-end Démo à l'aide d'Amazon Rekognition et d'Amazon A2I
<a name="a2i-task-types-rekognition-notebook-demo"></a>

Pour un end-to-end exemple illustrant comment utiliser Amazon Rekognition avec Amazon A2I à l'aide de la console, consultez. [Didacticiel : Démarrer dans la console Amazon A2I](a2i-get-started-console.md)

Pour savoir comment utiliser l'API Amazon A2I pour créer et démarrer une évaluation humaine, vous pouvez utiliser l'[intégration d'Amazon Augmented AI (Amazon A2I) avec Amazon Rekognition](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(A2I)%20and%20Rekognition%20DetectModerationLabels.ipynb) [Example] dans une instance de carnet de notes. SageMaker Consultez [Utiliser une instance de SageMaker bloc-notes avec Amazon A2I Jupyter Notebook](a2i-task-types-general.md#a2i-task-types-notebook-demo) pour démarrer.

## Version préliminaire de la console d’employé A2I Rekognition
<a name="a2i-rekognition-console-preview"></a>

Lorsqu'une tâche de vérification leur est affectée dans un flux Amazon Rekognition, les employés peuvent voir une interface utilisateur semblable à celle qui suit :

![\[Exemple d’image dans la console de travail A2I Rekognition.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/a2i-rekognition-example.png)


Vous pouvez personnaliser cette interface dans la console SageMaker AI lorsque vous créez votre définition de révision humaine, ou en créant et en utilisant un modèle personnalisé. Pour en savoir plus, consultez [Créer et gérer des modèles de tâches d'employé](a2i-instructions-overview.md).

# Utiliser l’IA augmentée d’Amazon avec des types de tâches personnalisés
<a name="a2i-task-types-custom"></a>

Vous pouvez utiliser l’IA augmentée d’Amazon (Amazon A2I) pour incorporer une vérification humaine (boucle humaine) dans *n’importe quel* flux de machine learning en utilisant le *type de tâche personnalisé*. Ces options vous offrent la flexibilité optimale pour personnaliser les conditions dans lesquelles vos objets de données sont envoyés aux humains pour vérification, ainsi que l'apparence de votre interface utilisateur d’employé.

Lorsque vous utilisez un type de tâche personnalisé, vous créez un flux de vérification humaine personnalisé et vous spécifiez les conditions dans lesquelles un objet de données est envoyé pour vérification humaine directement dans votre application. 

L'image suivante illustre le flux personnalisé Amazon A2I. Un modèle ML personnalisé est utilisé pour générer des prédictions. L'application client filtre ces prédictions à l'aide de critères définis par l'utilisateur et détermine si une vérification humaine est requise. Si c'est le cas, ces prédictions sont envoyées à Amazon A2I pour vérification humaine. Amazon A2I collecte les résultats de la vérification humaine dans Amazon S3, auquel l'application client peut accéder. Si le filtre détermine qu'aucune vérification humaine n'est requise, les prédictions peuvent être transmises directement à l'application client. 

![\[Utiliser l’IA augmentée d’Amazon avec des types de tâches personnalisés\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/a2i/diagrams/product-page-diagram_A2I-Components_Custom@2x.png)


Utilisez les procédures de cette page pour savoir comment intégrer Amazon A2I à n'importe quel flux de machine learning à l'aide du type de tâche personnalisé. 

**Pour créer une boucle humaine à l'aide d'une définition de flux, intégrez-la dans votre application et contrôlez les résultats**

1. Complétez les [Conditions préalables à l'utilisation d'Augmented AI](a2i-getting-started-prerequisites.md) Amazon A2I. Notez ce qui suit : 
   + Chemin d'accès au(x) compartiment(s) Amazon Simple Storage Service (Amazon S3) stockant vos données d'entrée et de sortie. 
   + Le nom de ressource Amazon (ARN) d'un rôle Gestion des identités et des accès AWS (IAM) auquel sont associées les autorisations requises. 
   + (Facultatif) L'ARN de votre main-d'œuvre privée, si vous envisagez d'en utiliser une. 

1. À l'aide d'éléments HTML, créez un modèle d’employé personnalisé qui sera utilisé par Amazon A2I pour générer votre UI de tâche d’employé. Pour savoir comment créer un modèle personnalisé, consultez [Créer des modèles de tâches d'employé personnalisés](a2i-custom-templates.md). 

1. Utilisez le modèle de travailleur personnalisé de l'étape 2 pour générer un modèle de tâche de travail dans la console Amazon SageMaker AI. Pour savoir comment procéder, consultez [Créer un modèle de tâche d'employé](a2i-worker-template-console.md#a2i-create-worker-template-console).

   À l'étape suivante, vous allez créer une définition de flux :
   + Si vous souhaitez créer une définition de flux à l'aide de l' SageMaker API, notez l'ARN de ce modèle de tâche de travail pour l'étape suivante.
   + Si vous créez une définition de flux à l'aide de la console, votre modèle apparaîtra automatiquement dans la section **Worker task template (Modèle de tâche d'employé)** lorsque vous choisissez **Create human review flux (Créer un flux de vérification humaine)**.

1. Lors de la création de votre définition de flux, indiquez le chemin d'accès à vos compartiments S3, à l'ARN de votre rôle IAM et à votre modèle d'employé. 
   + Pour savoir comment créer une définition de flux à l'aide de l'`CreateFlowDefinition`API SageMaker AI, consultez[Créer un flux de vérification humaine (API)](a2i-create-flow-definition.md#a2i-create-human-review-api). 
   + Pour savoir comment créer une définition de flux à l'aide de la console SageMaker AI, consultez[Créer un flux de vérification humaine (console)](a2i-create-flow-definition.md#a2i-create-human-review-console).

1. Configurez votre boucle humaine à l'aide de l'[API d'exécution Amazon A2I](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/Welcome.html). Pour savoir comment procéder, consultez [Créer et démarrer une boucle humaine](a2i-start-human-loop.md). 

1. Pour contrôler le moment où les vérifications humaines sont lancées dans votre application, spécifiez les conditions dans lesquelles `StartHumanLoop` est appelé dans votre application. Les conditions d'activation d’une boucle humaine, par exemple les seuils de fiabilité qui initient la boucle humaine, ne sont pas disponibles lors de l'utilisation de Amazon A2I avec des types de tâches personnalisés. Chaque appel `StartHumanLoop` entraîne une vérification humaine.

Une fois que vous avez lancé une boucle humaine, vous pouvez gérer et surveiller vos boucles à l'aide de l'API Amazon Augmented AI Runtime et d'Amazon EventBridge (également connu sous le nom d'Amazon CloudWatch Events). Pour en savoir plus, veuillez consulter la section [Surveillance et gestion de votre boucle humaine](a2i-monitor-humanloop-results.md).

## End-to-end Tutoriel sur l'utilisation des types de tâches personnalisés Amazon A2I
<a name="a2i-task-types-custom-notebook-demo"></a>

Pour end-to-end des exemples illustrant comment intégrer Amazon A2I dans divers flux de travail de machine learning, consultez le tableau dans[Cas d'utilisation et exemples d’utilisation d'Amazon A2I](a2i-task-types-general.md). Pour commencer à utiliser l’un de ces bloc-notes, consultez [Utiliser une instance de SageMaker bloc-notes avec Amazon A2I Jupyter Notebook](a2i-task-types-general.md#a2i-task-types-notebook-demo).

# Créer un flux de vérification humaine
<a name="a2i-create-flow-definition"></a>

Utilisez un *flux de vérification humaine* de l’IA augmentée d’Amazon (Amazon A2I), ou une *définition de flux*, pour spécifier ce qui suit :
+ Pour les types de tâches intégrés Amazon Textract et Amazon Rekognition, les conditions dans lesquelles votre boucle humaine est appelée.
+ La main-d'œuvre à laquelle vos tâches sont envoyées.
+ Le jeu d'instructions que votre main-d'œuvre reçoit, appelé *modèle de tâche d'employé*.
+ La configuration de vos tâches d'employés, notamment le nombre d'employés qui reçoivent une tâche et les délais d'exécution des tâches. 
+ L'emplacement de stockage de vos données de sortie 

Vous pouvez créer un flux de travail de révision humain dans la console SageMaker AI ou à l'aide de l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html)opération SageMaker AI. Vous pouvez créer un modèle de tâche d'employé à l'aide de la console pour les types de tâches Amazon Textract et Amazon Rekognition lors de la création de votre définition de flux.

**Important**  
Les conditions d'activation de boucle humaine, qui initient la boucle humaine (les seuils de fiabilité, par exemple), ne sont pas disponibles pour les types de tâches personnalisés Amazon A2I. Lorsque vous utilisez la console pour créer une définition de flux pour un type de tâche personnalisé, vous ne pouvez pas spécifier de conditions d'activation. Lorsque vous utilisez l'API Amazon A2I pour créer une définition de flux pour un type de tâche personnalisé, vous ne pouvez pas définir l'attribut `HumanLoopActivationConditions` du paramètre `HumanLoopActivationConditionsConfig`. Pour contrôler le moment où les vérifications humaines sont initiées, spécifiez les conditions dans lesquelles `StartHumanLoop` est appelé dans votre application personnalisée. Dans ce cas, chaque appel `StartHumanLoop` entraîne une vérification humaine. Pour de plus amples informations, veuillez consulter [Utiliser l’IA augmentée d’Amazon avec des types de tâches personnalisés](a2i-task-types-custom.md).

**Conditions préalables**

Pour créer une définition de flux de vérification humaine, vous devez remplir tous les prérequis décrits dans [Conditions préalables à l'utilisation d'Augmented AI](a2i-getting-started-prerequisites.md). 

Si vous utilisez l'API pour créer une définition de flux pour n'importe quel type de tâche, ou si vous utilisez un type de tâche personnalisé lors de la création d'une définition de flux dans la console, vous devez d'abord créer un modèle de tâche d'employé. Pour de plus amples informations, veuillez consulter [Créer et gérer des modèles de tâches d'employé](a2i-instructions-overview.md).

Si vous souhaitez prévisualiser votre modèle de tâche d'employé lors de la création d'une définition de flux pour un type de tâche intégré dans la console, veillez à accorder au rôle que vous utilisez pour créer l'autorisation de définition de flux l'autorisation d'accéder au compartiment Amazon S3 qui contient vos artefacts de modèle à l'aide d'une stratégie telle que celle décrite dans [Activation des aperçus du modèle de tâche d’employé](a2i-permissions-security.md#permissions-for-worker-task-templates-augmented-ai).



**Topics**
+ [Créer un flux de vérification humaine (console)](#a2i-create-human-review-console)
+ [Créer un flux de vérification humaine (API)](#a2i-create-human-review-api)
+ [Schéma JSON pour les conditions d’activation de boucle humaine dans l’IA augmentée d’Amazon](a2i-human-fallback-conditions-json-schema.md)

## Créer un flux de vérification humaine (console)
<a name="a2i-create-human-review-console"></a>

Utilisez cette procédure pour créer un flux de travail de révision humaine Amazon Augmented AI (Amazon A2I) à l'aide de la console SageMaker AI. Si vous débutez avec Amazon A2I, nous vous recommandons de créer une équipe de travail privée composée de membres de votre organisation, et d'utiliser l'ARN de cette équipe de travail lors de la création de votre définition de flux. Pour savoir comment configurer une main-d’œuvre privée et créer une équipe de travail, consultez [Création d'une main-d'œuvre privée (Amazon SageMaker AI Console)](sms-workforce-create-private-console.md). Si vous avez déjà configuré une main-d’œuvre privée, consultez [Créez une équipe de travail à l'aide de la console SageMaker AI](sms-workforce-management-private-console.md#create-workteam-sm-console) pour savoir comment ajouter une équipe de travail à cette main-d’œuvre.

Si vous utilisez Amazon A2I avec l'un des types de tâches intégrés, vous pouvez créer des instructions d'employé à l'aide d'un modèle de tâche d'employé par défaut fourni par Augmented AI lors de la création d'un flux de vérification humaine dans la console. Pour afficher des exemples des modèles par défaut fournis par Augmented AI, consultez les types de tâches intégrés dans [Cas d'utilisation et exemples d’utilisation d'Amazon A2I](a2i-task-types-general.md).

**Pour créer une définition de flux (console)**

1. Ouvrez la console SageMaker AI à l'adresse[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Dans le panneau de navigation, sous la section **AI augmentée**, choisissez **Flux de travail d’évaluation humaine**, puis **Créer un flux de travail d’évaluation humaine**.

1. Dans **Overview (Présentation)**, procédez comme suit :

   1. Pour **Name (Nom)**, saisissez un nom de flux unique. Le nom doit être en minuscules, unique dans la AWS région de votre compte et peut comporter jusqu'à 63 caractères. Les caractères valides sont a-z, 0-9 et - (trait d'union).

   1. Pour **S3 location for output (Emplacement S3 pour la sortie)**, saisissez le compartiment S3 où vous voulez stocker les résultats de la vérification humaine. Le bucket doit être situé dans la même AWS région que le flux de travail.

   1. Pour **IAM rôle (Rôle IAM)**, choisissez le rôle qui dispose des autorisations requises. Si vous choisissez un type de tâche intégré et que vous souhaitez prévisualiser votre modèle d'employé dans la console, fournissez un rôle avec le type de stratégie décrit dans [Activation des aperçus du modèle de tâche d’employé](a2i-permissions-security.md#permissions-for-worker-task-templates-augmented-ai) ci-joint.

1. Dans **Task type (Type de tâche)**, choisissez le type de tâche que l'employé humain doit exécuter. 

1. Si vous avez choisi le type de tâche Amazon Rekognition ou Amazon Textract, spécifiez les conditions qui déclencheront la vérification humaine.
   + Pour les tâches de modération d'image Amazon Rekognition, choisissez un intervalle de seuil de fiabilité d'inférence qui initie la vérification humaine. 
   + Pour les tâches Amazon Textract, vous pouvez initier la vérification humaine lorsque des clés de formulaire spécifiques sont manquantes ou que la fiabilité de la détection de clés de formulaire est faible. Vous pouvez également initier la vérification humaine si, après avoir évalué toutes les clés de formulaire du texte, la fiabilité est inférieure au seuil requis pour n'importe quelle clé de formulaire. Deux variables spécifient vos seuils de fiabilité : **Fiabilité d'identification** et **Fiabilité de qualification**. Pour en savoir plus sur ces variables, consultez [Utiliser l’IA augmentée d’Amazon avec Amazon Textract](a2i-textract-task-type.md).
   + Pour les deux types de tâches, vous pouvez envoyer aléatoirement un pourcentage d'objets de données (images ou formulaires) et leurs étiquettes en vue d'une vérification humaine. 

1. Configurez et spécifiez votre modèle de tâche d'employé :

   1. Si vous utilisez le type de tâche Amazon Rekognition ou Amazon Textract :

      1. Dans la section **Create template (Créer un modèle)** : 
        + Pour créer des instructions pour vos employés à l'aide du modèle par défaut Amazon A2I pour les types de tâches Amazon Rekognition et Amazon Textract, choisissez **Build from a default template (Créer à partir d'un modèle par défaut)**.
          + Si vous choisissez **Build from a default template (Créer à partir d'un modèle par défaut)**, créez vos instructions dans **Worker task design (Conception de tâches d'employé)**. 
            + Indiquez un **nom de modèle** unique dans la AWS région dans laquelle vous vous trouvez. 
            + Dans la section **Instructions**, fournissez des instructions détaillées sur la façon d'effectuer votre tâche. Pour aider les employés à atteindre une plus grande précision, donnez de bons et mauvais exemples. 
            + (Facultatif) Dans **Additional instructions (Instructions supplémentaires)**, fournissez à vos employés des informations et des instructions supplémentaires. 

              Pour plus d’informations sur la création d’instructions efficaces, consultez [Créer de bonnes instructions de travail](a2i-creating-good-instructions-guide.md).
        + Pour sélectionner un modèle personnalisé que vous avez créé, choisissez-le dans le menu **Template (Modèle)** et fournissez une **Task description (Description de tâche)** décrivant brièvement la tâche destinée à vos employés. Pour savoir comment créer un modèle personnalisé, consultez [Créer un modèle de tâche d'employé](a2i-worker-template-console.md#a2i-create-worker-template-console).

   1. Si vous utilisez le type de tâche personnalisé :

      1. Dans la section **Worker task template (Modèle de tâche d'employé)**, sélectionnez votre modèle dans la liste. Tous les modèles que vous avez créés dans la console SageMaker AI apparaissent dans cette liste. Pour apprendre à créer un modèle pour les types de tâches personnalisés, consultez [Créer et gérer des modèles de tâches d'employé](a2i-instructions-overview.md).

1. (Facultatif) Prévisualisez votre modèle d'employé : 

   Pour les types de tâches Amazon Rekognition et Amazon Textract, vous avez la possibilité de choisir **See a sample worker task (Voir un exemple de tâche d'employé)** pour prévisualiser l'interface utilisateur de la tâche destinée à votre employé.

   Si vous créez une définition de flux pour un type de tâche personnalisé, vous pouvez prévisualiser l'interface utilisateur de la tâche destinée à votre employé, à l'aide de l'opération `RenderUiTemplate`. Pour de plus amples informations, veuillez consulter [Aperçu d'un modèle de tâche d'employé](a2i-custom-templates.md#a2i-preview-your-custom-template).

1. Dans **Workers (employés)**, choisissez un type de main-d'œuvre.

1. Choisissez **Create (Créer)**.

### Étapes suivantes
<a name="a2i-next-step-createflowdefinition-console"></a>

Une fois que vous avez créé un flux de vérification humaine, il apparaît dans la console sous **Human review workflows (Flux de vérification humaine)**. Pour afficher l'Amazon Resource Name (ARN) et les détails de configuration de votre définition de flux, choisissez le nom du flux. 

Si vous utilisez un type de tâche intégré, vous pouvez utiliser l'ARN de définition de flux pour démarrer une boucle humaine à l'aide de l'API de ce AWS service (par exemple, l'API Amazon Textract). Pour les types de tâches personnalisés, vous pouvez utiliser l’ARN pour démarrer une boucle humaine à l’aide de l’API d’exécution de l’IA augmentée d’Amazon. Pour en savoir plus sur les deux options, consultez [Créer et démarrer une boucle humaine](a2i-start-human-loop.md).

## Créer un flux de vérification humaine (API)
<a name="a2i-create-human-review-api"></a>

Pour créer une définition de flux à l'aide de l' SageMaker API, vous devez utiliser l'`CreateFlowDefinition`opération. Après avoir exécuté le prérequis [Conditions préalables à l'utilisation d'Augmented AI](a2i-getting-started-prerequisites.md), utilisez la procédure suivante pour savoir comment utiliser cette opération API. 

Pour une présentation de l'opération `CreateFlowDefinition` et des détails sur chaque paramètre, consultez [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html). 

**Pour créer une définition de flux (API)**

1. Pour `FlowDeﬁnitionName`, saisissez un nom unique. Le nom doit être unique dans la AWS région de votre compte et peut comporter jusqu'à 63 caractères. Les caractères valides sont a-z, 0-9 et - (trait d'union).

1. Pour `RoleArn`, saisissez l'ARN du rôle que vous avez configuré pour accorder l'accès à vos sources de données.

1. Pour `HumanLoopConfig`, saisissez des informations sur les employés et ce qu'ils devraient voir. Pour plus d'informations sur chaque paramètre de`HumanLoopConfig`, voir [HumanLoopConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html#sagemaker-CreateFlowDefinition-request-HumanLoopActivationConfig).

1. (Facultatif) Si vous utilisez un type de tâche intégré, fournissez les conditions qui initient une boucle humaine dans `HumanLoopActivationConﬁg`. Pour savoir comment créer l’entrée requise pour le paramètre `HumanLoopActivationConﬁg`, consultez [Schéma JSON pour les conditions d’activation de boucle humaine dans l’IA augmentée d’Amazon](a2i-human-fallback-conditions-json-schema.md). Si vous ne spécifiez pas de conditions ici, lorsque vous fournissez une définition de flux au AWS service associé à un type de tâche intégré (par exemple, Amazon Textract ou Amazon Rekognition), ce service envoie chaque tâche à un travailleur humain pour examen. 

   Si vous utilisez un type de tâche personnalisé, `HumanLoopActivationConfig` est désactivé. Pour savoir comment contrôler le moment où les tâches sont soumises à vérification humaine à l’aide d’un type de tâche personnalisé, consultez [Utiliser l’IA augmentée d’Amazon avec des types de tâches personnalisés](a2i-task-types-custom.md).

1. (Facultatif) Si vous utilisez un type de tâche intégré, spécifiez la source d'intégration (par exemple, Amazon Rekognition ou Amazon Textract) dans le paramètre. [HumanLoopRequestSource](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanLoopRequestSource.html)

1. Pour `OutputConfig`, indiquez à quel emplacement dans Amazon Simple Storage Service (Amazon S3) stocker la sortie de la boucle humaine.

1. (Facultatif) Utilisez `Tags` pour saisir des paires clés-valeurs pour vous aider à catégoriser et organiser une définition de flux. Chaque étiquette est constituée d'une clé et d'une valeur, que vous définissez.

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

Voici un exemple de demande de création d'un flux de vérification humaine Amazon Textract (définition de flux) à l'aide de AWS SDK pour Python (Boto3). Vous devez utiliser `'AWS/Textract/AnalyzeDocument/Forms/V1'` pour créer une boucle humaine Amazon Textract. N'incluez `PublicWorkforceTaskPrice` que si vous utilisez la main-d'œuvre 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 ]

Voici un exemple de demande de création d'un flux de vérification humaine Amazon Rekognition (définition de flux) à l'aide de AWS SDK pour Python (Boto3). Vous devez utiliser `'AWS/Rekognition/DetectModerationLabels/Image/V3'` pour créer une définition de flux Amazon Rekognition. N'incluez `PublicWorkforceTaskPrice` que si vous utilisez la main-d'œuvre 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 ]

Voici un exemple de demande de création d'un flux de vérification humaine (définition de flux) pour une intégration personnalisée. Pour créer ce type de flux de révision humaine, n'incluez pas `HumanLoopRequestSource` dans la demande de définition de flux. N'incluez `PublicWorkforceTaskPrice` que si vous utilisez la main-d'œuvre 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'
        },
    ]
)
```

------

### Étapes suivantes
<a name="a2i-next-step-createflowdefinition-api"></a>

La valeur renvoyée d'un appel réussi de l'opération d'API `CreateFlowDefinition` est un Amazon Resource Name (ARN) de définition de flux.

Si vous utilisez un type de tâche intégré, vous pouvez utiliser l'ARN de définition de flux pour démarrer une boucle humaine à l'aide de l'API de ce AWS service (c'est-à-dire l'API Amazon Textract). Pour les types de tâches personnalisés, vous pouvez utiliser l’ARN pour démarrer une boucle humaine à l’aide de l’API d’exécution de l’IA augmentée d’Amazon. Pour en savoir plus sur ces deux options, consultez [Créer et démarrer une boucle humaine](a2i-start-human-loop.md).

# Schéma JSON pour les conditions d’activation de boucle humaine dans l’IA augmentée d’Amazon
<a name="a2i-human-fallback-conditions-json-schema"></a>

`HumanLoopActivationConditions` est un paramètre d'entrée de l'API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html). Ce paramètre est une chaîne au format JSON. Le format JSON modélise les conditions dans lesquelles une boucle humaine est créée lorsque ces conditions sont évaluées par rapport à la réponse d'une API de service d'IA d'intégration (telle que `Rekognition.DetectModerationLabels` ou `Textract.AnalyzeDocument`). Cette réponse est appelée *inférence*. Par exemple, Amazon Rekognition envoie une inférence d'une étiquette de modération avec un score de fiabilité associé. Dans cet exemple, l'inférence est la meilleure estimation du modèle de l'étiquette appropriée pour une image. Pour Amazon Textract, l'inférence est basée sur l'association entre des blocs de texte (*paires clé-valeur*), par exemple l'association entre `Name:` et `Sue` dans un formulaire, ainsi que du contenu dans un bloc de texte, ou un *bloc de mot*, par exemple « Nom ».

Voici le schéma pour le format JSON. Au niveau supérieur, `HumanLoopActivationConditions` a un tableau JSON, `Conditions`. Chaque membre de ce tableau est une condition indépendante qui, si elle équivaut à `true`, entraîne la création d'une boucle humaine par Amazon A2I. Chaque condition indépendante de ce type peut être une condition simple ou une condition complexe. Une condition simple a les attributs suivants :
+ `ConditionType` : cet attribut identifie le type de condition. Chaque API de service d'IA AWS qui s'intègre à Amazon A2I définit son propre ensemble de `ConditionTypes` autorisées. 
  + Rekognition `DetectModerationLabels` - Cette API prend en charge les valeurs `ConditionType` `ModerationLabelConfidenceCheck` et `Sampling`.
  + Textract `AnalyzeDocument` - Cette API prend en charge les valeurs `ConditionType` `ImportantFormKeyConfidenceCheck`, `MissingImportantFormKey` et `Sampling`.
+ `ConditionParameters` - Il s'agit d'un objet JSON qui paramètre la condition. L'ensemble des attributs autorisés de cet objet dépend de la valeur de `ConditionType`. Chaque `ConditionType` définit son propre ensemble de `ConditionParameters`. 

Un membre du tableau `Conditions` peut modéliser une condition complexe. Pour cela, des conditions simples sont connectées logiquement à l'aide des opérateurs logiques `And` et `Or`, et des conditions simples sous-jacentes sont imbriquées. Deux niveaux d'imbrication maximum sont pris en charge. 

```
{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
        "Condition": {
            "type": "object",
            "properties": {
                "ConditionType": {
                    "type": "string"
                },
                "ConditionParameters": {
                    "type": "object"
                }
            },
            "required": [
                "ConditionType"
            ]
        },
        "OrConditionArray": {
            "type": "object",
            "properties": {
                "Or": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "$ref": "#/definitions/ComplexCondition"
                    }
                }
            }
        },
        "AndConditionArray": {
            "type": "object",
            "properties": {
                "And": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "$ref": "#/definitions/ComplexCondition"
                    }
                }
            }
        },
        "ComplexCondition": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Condition"
                },
                {
                    "$ref": "#/definitions/OrConditionArray"
                },
                {
                    "$ref": "#/definitions/AndConditionArray"
                }
            ]
        }
    },
    "type": "object",
    "properties": {
        "Conditions": {
            "type": "array",
            "items": {
                "$ref": "#/definitions/ComplexCondition"
            }
        }
    }
}
```

**Note**  
Les conditions d'activation de boucle humaine ne sont pas disponibles pour les flux de vérification humaine qui sont intégrés à des types de tâches personnalisés. Le paramètre `HumanLoopActivationConditions` est désactivé pour les types de tâches personnalisés. 

**Topics**
+ [Utilisation du schéma JSON pour les conditions d'activation de boucle humaine avec Amazon Textract](a2i-json-humantaskactivationconditions-textract-example.md)
+ [Utilisation du schéma JSON pour les conditions d'activation de boucle humaine avec Amazon Rekognition](a2i-json-humantaskactivationconditions-rekognition-example.md)

# Utilisation du schéma JSON pour les conditions d'activation de boucle humaine avec Amazon Textract
<a name="a2i-json-humantaskactivationconditions-textract-example"></a>

Lorsqu'elle est utilisée avec Amazon A2I, l'opération `AnalyzeDocument` prend en charge les entrées suivantes dans le paramètre `ConditionType` :
+ `ImportantFormKeyConfidenceCheck` - Utilisez cette condition pour créer une boucle humaine lorsque la fiabilité d'inférence se situe dans une plage spécifiée pour les clés de formulaire de document et les blocs de mots. Une *clé de formulaire* est un mot dans un document, qui est associé à une entrée. L'entrée est appelée *valeur*. Ensemble, les clés de formulaire et les valeurs sont appelées *paires clé-valeur*. Un *bloc de mots* fait référence aux mots qui sont reconnus par Amazon Textract à l'intérieur d'un bloc de texte détecté. Pour en savoir plus sur les blocs de documents Amazon Textract, consultez [Documents et objets de bloc](https://docs.aws.amazon.com/textract/latest/dg/how-it-works-document-layout.html) dans le *Guide du développeur Amazon Textract*.
+ `MissingImportantFormKey` - Utilisez cette condition pour créer une boucle humaine lorsque Amazon Textract n'a pas identifié la clé ou ses alias associés dans le document. 
+ `Sampling` - Utilisez cette condition pour spécifier un pourcentage de formulaires à soumettre à vérification humaine, indépendamment des scores de fiabilité d'inférence. Utilisez cette condition pour effectuer les opérations suivantes :
  + Auditer votre modèle ML en effectuant un échantillonnage aléatoire de tous les formulaires analysés par votre modèle et en soumettant un pourcentage spécifié à vérification humaine.
  + En utilisant la condition `ImportantFormKeyConfidenceCheck`, effectuez un échantillonnage aléatoire d'un pourcentage des inférences qui ont rempli les conditions spécifiées dans `ImportantFormKeyConfidenceCheck` pour démarrer une boucle humaine et soumettre à vérification humaine uniquement le pourcentage spécifié. 

**Note**  
Si vous envoyez la même demande à `AnalyzeDocument` plusieurs fois, le résultat de `Sampling` ne changera pas pour l'inférence de cette entrée. Par exemple, si vous effectuez une demande `AnalyzeDocument` une fois, et que `Sampling` n'initie pas de boucle humaine, les demandes suivantes adressées à `AnalyzeDocument` avec la même configuration n'initieront pas de boucle humaine.

## `ImportantFormKeyConfidenceCheck` Entrées et résultats
<a name="a2i-textract-importantformkeycofidencecheck"></a>

Le `ConditionType` `ImportantFormKeyConfidenceCheck` prend en charge les `ConditionParameters` suivants :
+ `ImportantFormKey` - Chaîne représentant une clé d'une paire clé-valeur détectée par Amazon Textract, qui doit être vérifiée par des employés humains. Si la valeur de ce paramètre est la valeur spéciale passe-partout (\$1), toutes les clés sont alors considérées comme correspondant à la condition. Vous pouvez l'utiliser pour modéliser le cas où une paire clé-valeur quelconque satisfaisant à certains seuils de fiabilité nécessite une vérification humaine.
+ `ImportantFormKeyAliases` - Tableau qui représente d'autres orthographes ou équivalents logiques pour la clé de formulaire importante. 
+ `KeyValueBlockConfidenceEquals`
+ `KeyValueBlockConfidenceLessThan`
+ `KeyValueBlockConfidenceLessThanEquals`
+ `KeyValueBlockConfidenceGreaterThan`
+ `KeyValueBlockConfidenceGreaterThanEquals`
+ `WordBlockConfidenceEquals`
+ `WordBlockConfidenceLessThan`
+ `WordBlockConfidenceLessThanEquals`
+ `WordBlockConfidenceGreaterThan`
+ `WordBlockConfidenceGreaterThanEquals`

Lorsque vous utilisez `ConditionType` `ImportantFormKeyConfidenceCheck`, Amazon A2I envoie les inférences de bloc clé-valeur et de bloc de mots des blocs clé-valeur, ainsi que les alias associés que vous avez spécifiés dans `ImportantFormKey` et `ImportantFormKeyAliases` pour vérification humaine.

Lorsque vous créez une définition de flux, si vous utilisez le modèle de tâches de travail par défaut fourni dans la section **Workflows de révision humaine** de la console Amazon SageMaker AI, les inférences clé-valeur et de bloc envoyées pour examen humain par cette condition d'activation sont incluses dans l'interface utilisateur du travailleur. Si vous utilisez un modèle de tâche d'employé personnalisé, vous devez inclure l'élément `{{ task.input.selectedAiServiceResponse.blocks }}` de sorte à inclure les données d'entrée de valeur initiale (inférences) à partir d'Amazon Textract. Pour obtenir un exemple de modèle personnalisé utilisant cet élément d’entrée, consultez [Exemple de modèle personnalisé pour Amazon Textract](a2i-custom-templates.md#a2i-custom-templates-textract-sample).

## `MissingImportantFormKey` Entrées et résultats
<a name="a2i-textract-missingimportantformkey"></a>

Le `ConditionType` `MissingImportantFormKey` prend en charge les `ConditionParameters` suivants :
+ `ImportantFormKey` - Chaîne représentant une clé d'une paire clé-valeur détectée par Amazon Textract, qui doit être vérifiée par des employés humains.
+ `ImportantFormKeyAliases` - Tableau qui représente d'autres orthographes ou équivalents logiques pour la clé de formulaire importante. 

Lorsque vous utilisez le `ConditionType` `MissingImportantFormKey`, si la clé dans `ImportantFormKey` ou les alias dans `ImportantFormKeyAliases` ne sont pas inclus dans l'inférence Amazon Textract, ce formulaire sera envoyé pour vérification humaine et aucune paire clé-valeur prévue ne sera incluse. Par exemple, si Amazon Textract a seulement identifié l'`Address` et le `Phone` dans un formulaire, mais pas le `ImportantFormKey` `Name` (dans le type de condition `MissingImportantFormKey`), ce formulaire serait envoyé pour vérification humaine sans aucune des clés de formulaire détectées (`Address` et `Phone`).

Si vous utilisez le modèle de tâche de travail par défaut fourni dans la console SageMaker AI, une tâche est créée pour demander aux travailleurs d'identifier la clé `ImportantFormKey` et la valeur associée. Si vous utilisez un modèle de tâche d'employé personnalisé, vous devez inclure l'élément HTML personnalisé `<task.input.humanLoopContext>` pour configurer cette tâche. 

## Entrées et résultats d'échantillonnage
<a name="a2i-textract-randomsamplingpercentage"></a>

`Sampling` `ConditionType` prend en charge `RandomSamplingPercentage` `ConditionParameters`. L'entrée pour `RandomSamplingPercentage` doit être un nombre réel compris entre 0,01 et 100. Ce nombre représente le pourcentage de données pouvant faire l'objet d'une vérification humaine et qui sont soumises à vérification humaine. Si vous utilisez la condition `Sampling` sans aucune autre condition, ce nombre représente le pourcentage de toutes les inférences obtenues par l'opération `AnalyzeDocument` à partir d'une seule demande qui sont soumises à vérification humaine.

Si vous spécifiez la condition `Sampling` sans autre type de condition, toutes les inférences de clé-valeur et de bloc sont soumises à vérification humaine. 

Lorsque vous créez une définition de flux, si vous utilisez le modèle de tâches de travail par défaut fourni dans la section **Workflows de révision humaine** de la console SageMaker AI, toutes les inférences clé-valeur et de bloc envoyées pour examen humain par cette condition d'activation sont incluses dans l'interface utilisateur du travailleur. Si vous utilisez un modèle de tâche d'employé personnalisé, vous devez inclure l'élément `{{ task.input.selectedAiServiceResponse.blocks }}` de sorte à inclure les données d'entrée de valeur initiale (inférences) à partir d'Amazon Textract. Pour obtenir un exemple de modèle personnalisé utilisant cet élément d’entrée, consultez [Exemple de modèle personnalisé pour Amazon Textract](a2i-custom-templates.md#a2i-custom-templates-textract-sample).

## Exemples
<a name="a2i-json-activation-condition-examples"></a>

Une seule condition doit avoir la valeur `true` pour initier une boucle humaine, mais Amazon A2I évalue en fait toutes les conditions pour chaque objet analysé par Amazon Textract. Les vérificateurs humains sont chargés de vérifier les clés de formulaire importantes pour toutes les conditions qui équivalaient à `true`.

**Exemple 1 : détection des clés de formulaire importantes avec des indices de confiance figurant dans une plage spécifiée qui initient une boucle humaine**

Voici un exemple de code JSON `HumanLoopActivationConditions` qui initie une boucle humaine si l'une quelconque des trois conditions suivantes est remplie :
+ L'API `AnalyzeDocument` Amazon Textract renvoie une paire clé-valeur dont la clé est l'un de `Employee Name`, `Name` ou `EmployeeName`, avec une fiabilité du bloc clé-valeur inférieure à 60 et une fiabilité de chaque bloc de mots composant la clé et la valeur inférieure à 85.
+ L'API `AnalyzeDocument` Amazon Textract renvoie une paire clé-valeur dont la clé est l'un de `Pay Date`, `PayDate`, `DateOfPay` ou `pay-date`, avec une fiabilité du bloc clé-valeur inférieure à 65 et une fiabilité de chaque bloc de mots composant la clé et la valeur inférieure à 85.
+ L'API `AnalyzeDocument` Amazon Textract renvoie une paire clé-valeur dont la clé est l'un de `Gross Pay`, `GrossPay` ou `GrossAmount`, avec une fiabilité du bloc clé-valeur inférieure à 60 et une fiabilité de chacun des blocs de mots composant la clé et la valeur inférieure à 85.

```
{
    "Conditions": [
        {
            "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Employee Name",
                "ImportantFormKeyAliases": [
                    "Name",
                    "EmployeeName"
                ],
                "KeyValueBlockConfidenceLessThan": 60,
                "WordBlockConfidenceLessThan": 85
            }
        },
        {
            "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Pay Date",
                "ImportantFormKeyAliases": [
                    "PayDate",
                    "DateOfPay",
                    "pay-date"
                ],
                "KeyValueBlockConfidenceLessThan": 65,
                "WordBlockConfidenceLessThan": 85
            }
        },
        {
            "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Gross Pay",
                "ImportantFormKeyAliases": [
                    "GrossPay",
                    "GrossAmount"
                ],
                "KeyValueBlockConfidenceLessThan": 60,
                "WordBlockConfidenceLessThan": 85
            }
        }
    ]
}
```

**Exemple 2 : utilisation de `ImportantFormKeyConfidenceCheck`**

Dans l'exemple suivant, si Amazon Textract détecte une paire clé-valeur dont la fiabilité pour le bloc clé-valeur est inférieure à 60, et inférieure à 90 pour les blocs de mots sous-jacents, il crée une boucle humaine. Les vérificateurs humains sont chargés de vérifier toutes les paires clé-valeur de formulaire qui ont satisfait aux comparaisons des valeurs de fiabilité.

```
{
    "Conditions": [
        {
            "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "*",
                "KeyValueBlockConfidenceLessThan": 60,
                "WordBlockConfidenceLessThan": 90
            }
        }
    ]
}
```

**Exemple 3 : Utiliser l'échantillonnage**

Dans l'exemple suivant, 5 % des inférences découlant d'une demande `AnalyzeDocument` Amazon Textract sont soumises à vérification humaine. Toutes les paires clé-valeur détectées renvoyées par Amazon Textract sont soumises à vérification humaine.

```
{
  "Conditions": [
    {
      "ConditionType": "Sampling",
      "ConditionParameters": {
        "RandomSamplingPercentage": 5
      }
    }
  ]
}
```

**Exemple 4 : utilisation de `MissingImportantFormKey`**

Dans l'exemple suivant, si `Mailing Address` ou son alias `Mailing Address:`, est absent des clés détectées par Amazon Textract, une vérification humaine est initiée. Lors de l'utilisation du modèle de tâche d'employé par défaut, l'interface utilisateur d'employé demande aux employés d'identifier la clé `Mailing Address` ou `Mailing Address:`, ainsi que sa valeur associée. 

```
{
    "ConditionType": "MissingImportantFormKey",
    "ConditionParameters": {
        "ImportantFormKey": "Mailing Address",
        "ImportantFormKeyAliases": ["Mailing Address:"]
    }
}
```

**Exemple 5 : utilisation d'un échantillonnage et `ImportantFormKeyConfidenceCheck` avec l'opérateur `And`**

Dans cet exemple, 5 % des paires clé-valeur détectées par Amazon Textract, dont la clé est l'un de `Pay Date`, `PayDate`, `DateOfPay` ou `pay-date` avec une fiabilité du bloc clé-valeur inférieure à 65 et les fiabilités de chacun des blocs de mots constituant la clé et la valeur inférieures à 85, sont soumises à vérification humaine.

```
{
  "Conditions": [
    {
      "And": [
        {
          "ConditionType": "Sampling",
          "ConditionParameters": {
            "RandomSamplingPercentage": 5
          }
        },
        {
          "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Pay Date",
                "ImportantFormKeyAliases": [
                    "PayDate",
                    "DateOfPay",
                    "pay-date"
                ],
                "KeyValueBlockConfidenceLessThan": 65,
                "WordBlockConfidenceLessThan": 85
            }
        }
      ]
    }
  ]
}
```

**Exemple 6 : utilisation d'un échantillonnage et `ImportantFormKeyConfidenceCheck` avec l'opérateur `And`**

Utilisez cet exemple pour configurer votre flux de vérification humaine afin qu'il envoie toujours des inférences de faible fiabilité d'une paire clé-valeur spécifiée pour une vérification humaine et un échantillon d'inférence de haute fiabilité d'une paire clé-valeur à un taux spécifié. 

Dans l'exemple suivant, une vérification humaine est initiée de l'une des manières suivantes : 
+ Les paires clé-valeur détectées, dont la clé est l'un de `Pay Date`, `PayDate`, `DateOfPay` ou `pay-date`, avec des valeurs de fiabilité de clé-valeur et de bloc de mots inférieures à 60, sont soumises à vérification humaine. Seule la clé de formulaire `Pay Date` (et ses alias), ainsi que les valeurs associées, sont soumises à vérification humaine. 
+ 5 % des paires clé-valeur détectées dont la clé est l'un de `Pay Date`, `PayDate`, `DateOfPay` ou `pay-date`, avec des valeurs de fiabilité de clé-valeur et de bloc de mots supérieures à 90, sont soumises à vérification humaine. Seule la clé de formulaire `Pay Date` (et ses alias), ainsi que les valeurs associées, sont soumises à vérification humaine. 

```
{
  "Conditions": [
    {
      "Or": [
       {
          "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Pay Date",
                "ImportantFormKeyAliases": [
                    "PayDate",
                    "DateOfPay",
                    "pay-date"
                ],
                "KeyValueBlockConfidenceLessThan": 60,
                "WordBlockConfidenceLessThan": 60
            }
        },
        {
            "And": [
                {
                    "ConditionType": "Sampling",
                    "ConditionParameters": {
                        "RandomSamplingPercentage": 5
                    }
                },
                {
                    "ConditionType": "ImportantFormKeyConfidenceCheck",
                        "ConditionParameters": {
                            "ImportantFormKey": "Pay Date",
                            "ImportantFormKeyAliases": [
                                "PayDate",
                                "DateOfPay",
                                "pay-date"
                        ],
                        "KeyValueBlockConfidenceLessThan": 90
                        "WordBlockConfidenceGreaterThan": 90
                    }
                }
            ]
        }
      ]
    }
  ]
}
```

**Exemple 7 : utilisation d'un échantillonnage et `ImportantFormKeyConfidenceCheck` avec l'opérateur `Or`**

Dans l'exemple suivant, l'opération `AnalyzeDocument` Amazon Textract renvoie une paire clé-valeur, dont la clé est l'un de `Pay Date`, `PayDate`, `DateOfPay` ou `pay-date`, avec une fiabilité du bloc clé-valeur inférieure à 65 et les fiabilités de chacun des blocs de mots composant la clé et la valeur inférieures à 85. De plus, 5 % de tous les autres formulaires initient une boucle humaine. Pour chaque formulaire choisi au hasard, toutes les paires clé-valeur détectées pour ce formulaire sont soumises à vérification humaine.

```
{
  "Conditions": [
    {
      "Or": [
        {
          "ConditionType": "Sampling",
          "ConditionParameters": {
            "RandomSamplingPercentage": 5
          }
        },
        {
           "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Pay Date",
                "ImportantFormKeyAliases": [
                    "PayDate",
                    "DateOfPay",
                    "pay-date"
                ],
                "KeyValueBlockConfidenceLessThan": 65,
                "WordBlockConfidenceLessThan": 85
            }
          }
        }
      ]
    }
  ]
}
```

# Utilisation du schéma JSON pour les conditions d'activation de boucle humaine avec Amazon Rekognition
<a name="a2i-json-humantaskactivationconditions-rekognition-example"></a>

Lorsqu'elle est utilisée avec Amazon A2I, l’opération Amazon Rekognition `DetectModerationLabels` prend en charge les entrées suivantes dans les paramètres `ConditionType` :
+ `ModerationLabelConfidenceCheck` Utilisez ce type de condition pour créer une boucle humaine lorsque la fiabilité de l'inférence est faible pour une ou plusieurs étiquettes spécifiées.
+ `Sampling` Utilisez cette condition pour spécifier un pourcentage de toutes les inférences à soumettre à vérification humaine. Utilisez cette condition pour effectuer les opérations suivantes :
  + Auditer votre modèle ML en effectuant un échantillonnage aléatoire de toutes les inférences de votre modèle et en soumettant un pourcentage spécifié à vérification humaine.
  + En utilisant la condition `ModerationLabelConfidenceCheck`, effectuez un échantillonnage aléatoire d'un pourcentage des inférences qui ont rempli les conditions spécifiées dans `ModerationLabelConfidenceCheck` pour démarrer une boucle humaine et soumettre à vérification humaine uniquement le pourcentage spécifié. 

**Note**  
Si vous envoyez la même demande à `DetectModerationLabels` plusieurs fois, le résultat de `Sampling` ne changera pas pour l'inférence de cette entrée. Par exemple, si vous effectuez une demande `DetectModerationLabels` une fois, et que `Sampling` n'initie pas de boucle humaine, les demandes suivantes adressées à `DetectModerationLabels` avec la même configuration n'initieront pas de boucle humaine. 

Lorsque vous créez une définition de flux, si vous utilisez le modèle de tâche de collaborateur par défaut fourni dans la section **Workflows de révision humaine** de la console Amazon SageMaker AI, les inférences envoyées pour examen humain selon ces conditions d'activation sont incluses dans l'interface utilisateur du travailleur lorsqu'un collaborateur ouvre votre tâche. Si vous utilisez un modèle de tâche d'employé personnalisé, vous devez inclure l'élément HTML personnalisé `<task.input.selectedAiServiceResponse.blocks>` pour accéder à ces inférences. Pour obtenir un exemple de modèle personnalisé utilisant cet élément HTML, consultez [Exemple de modèle personnalisé pour Amazon Rekognition](a2i-custom-templates.md#a2i-custom-templates-rekognition-sample).

## `ModerationLabelConfidenceCheck` Entrées
<a name="a2i-rek-moderationlabelconfidencecheck"></a>

Pour `ModerationLabelConfidenceCheck` `ConditionType`, les `ConditionParameters` suivants sont pris en charge :
+ `ModerationLabelName`— Le nom exact (distinguant majuscules et minuscules) d'une personne [ModerationLabel](https://docs.aws.amazon.com/rekognition/latest/dg/API_ModerationLabel.html)détectée par l'opération Amazon Rekognition. `DetectModerationLabels` Vous pouvez spécifier la valeur passe-partout spéciale (\$1) pour indiquer n'importe quelle étiquette de modération.
+ `ConfidenceEquals`
+ `ConfidenceLessThan`
+ `ConfidenceLessThanEquals`
+ `ConfidenceGreaterThan`
+ `ConfidenceGreaterThanEquals`

Lorsque vous utilisez `ModerationLabelConfidenceCheck` `ConditionType`, Amazon A2I envoie des inférences d'étiquette pour les étiquettes que vous avez spécifiées dans `ModerationLabelName` afin qu'elles soient soumises à vérification humaine.

## Entrées d'échantillonnage
<a name="a2i-rek-randomsamplingpercentage"></a>

`Sampling` `ConditionType` prend en charge `RandomSamplingPercentage` `ConditionParameters`. L'entrée du paramètre `RandomSamplingPercentage` doit être un nombre réel compris entre 0,01 et 100. Ce nombre représente le pourcentage d'inférences pouvant faire l'objet d'une vérification humaine et qui sont soumises à vérification humaine. Si vous utilisez la condition `Sampling` sans aucune autre condition, ce nombre représente le pourcentage de toutes les inférences obtenues par une seule demande `DetectModerationLabel` qui sont soumises à vérification humaine.

## Exemples
<a name="a2i-json-rek-activation-condition-examples"></a>

**Exemple 1 : utilisation de `ModerationLabelConfidenceCheck` avec l'opérateur `And`**

L'exemple suivant d'une condition `HumanLoopActivationConditions` initie une boucle HumanLoop lorsqu'une ou plusieurs des conditions suivantes sont remplies :
+ Amazon Rekognition détecte l'étiquette de modération `Graphic Male Nudity` avec une fiabilité comprise entre 90 et 99.
+ Amazon Rekognition détecte l'étiquette de modération `Graphic Female Nudity` avec une fiabilité comprise entre 80 et 99.

Notez l'utilisation des opérateurs logiques `Or` et `And` pour modéliser cette logique.

Même si une seule des deux conditions sous l’opérateur `Or` doit avoir pour valeur `true` pour qu’une boucle humaine soit créée, l’IA augmentée d’Amazon évalue en fait toutes les conditions. Les vérificateurs humains sont chargés de passer en revue les étiquettes de modération pour toutes les conditions qui équivalaient à `true`.

```
{
     "Conditions": [{
         "Or": [{
                 "And": [{
                         "ConditionType": "ModerationLabelConfidenceCheck",
                         "ConditionParameters": {
                             "ModerationLabelName": "Graphic Male Nudity",
                             "ConfidenceLessThanEquals": 99
                         }
                     },
                     {
                         "ConditionType": "ModerationLabelConfidenceCheck",
                         "ConditionParameters": {
                             "ModerationLabelName": "Graphic Male Nudity",
                             "ConfidenceGreaterThanEquals": 90
                         }
                     }
                 ]
             },
             {
                 "And": [{
                         "ConditionType": "ModerationLabelConfidenceCheck",
                         "ConditionParameters": {
                             "ModerationLabelName": "Graphic Female Nudity",
                             "ConfidenceLessThanEquals": 99
                         }
                     },
                     {
                         "ConditionType": "ModerationLabelConfidenceCheck",
                         "ConditionParameters": {
                             "ModerationLabelName": "Graphic Female Nudity",
                             "ConfidenceGreaterThanEquals": 80
                         }
                     }
                 ]
             }
         ]
     }]
}
```

**Exemple 2 : utilisation de `ModerationLabelConfidenceCheck` avec la valeur catch-all (\$1) **

Dans l'exemple suivant, en cas de détection d'une étiquette de modération avec une fiabilité supérieure ou égale à 75, une boucle humaine est initiée. Les intervenants humains sont chargés de passer en revue toutes les étiquettes de modération dont les scores de fiabilité sont supérieurs ou égaux à 75.

```
{
    "Conditions": [
        {
            "ConditionType": "ModerationLabelConfidenceCheck",
            "ConditionParameters": {
                "ModerationLabelName": "*",
                "ConfidenceGreaterThanEquals": 75
            }
        }
    ]
}
```

**Exemple 3 : Utiliser l'échantillonnage**

Dans l'exemple suivant, 5 % des inférences Amazon Rekognition découlant d'une demande `DetectModerationLabels` sont soumises à vérification humaine. Lorsque vous utilisez le modèle de tâches de travail par défaut fourni dans la console SageMaker AI, toutes les étiquettes de modération renvoyées par Amazon Rekognition sont envoyées aux travailleurs pour examen.

```
{
  "Conditions": [
    {
      "ConditionType": "Sampling",
      "ConditionParameters": {
        "RandomSamplingPercentage": 5
      }
    }
  ]
}
```

**Exemple 4 : utilisation d’un échantillonnage et `ModerationLabelConfidenceCheck` avec l’opérateur `And`**

Dans cet exemple, 5 % des inférences Amazon Rekognition de l'étiquette de modération `Graphic Male Nudity` avec un indice de fiabilité supérieur à 50 sont soumises à vérification humaine. Lorsque vous utilisez le modèle de tâches de travail par défaut fourni dans la console SageMaker AI, seules les inférences de l'`Graphic Male Nudity`étiquette sont envoyées aux travailleurs pour examen. 

```
{
  "Conditions": [
    {
      "And": [
        {
          "ConditionType": "Sampling",
          "ConditionParameters": {
            "RandomSamplingPercentage": 5
          }
        },
        {
          "ConditionType": "ModerationLabelConfidenceCheck",
          "ConditionParameters": {
            "ModerationLabelName": "Graphic Male Nudity",
            "ConfidenceGreaterThan": 50
          }
        }
      ]
    }
  ]
}
```

**Exemple 5 : utilisation d'un échantillonnage et `ModerationLabelConfidenceCheck` avec l'opérateur `And`**

Utilisez cet exemple pour configurer votre flux de vérification humaine afin qu'il soumette toujours à vérification humaine les inférences de faible fiabilité d'une étiquette spécifiée, ainsi qu'un échantillon d'inférence de haute fiabilité d'une étiquette à un taux spécifié. 

Dans l'exemple suivant, une vérification humaine est initiée de l'une des manières suivantes : 
+ Les inférences pour l'étiquette de modération `Graphic Male Nudity` dont les scores de fiabilité sont inférieurs à 60 sont toujours soumises à vérification humaine. Seule l'étiquette `Graphic Male Nudity` est soumise à vérification humaine. 
+ 5 % de toutes les inférences de l'étiquette de modération `Graphic Male Nudity` dont les indices de fiabilité sont supérieurs à 90 sont soumises à vérification humaine. Seule l'étiquette `Graphic Male Nudity` est soumise à vérification humaine. 

```
{
  "Conditions": [
    {
      "Or": [
        {
          "ConditionType": "ModerationLabelConfidenceCheck",
          "ConditionParameters": {
            "ModerationLabelName": "Graphic Male Nudity",
            "ConfidenceLessThan": 60
          }
        },
        {
            "And": [
                {
                    "ConditionType": "Sampling",
                    "ConditionParameters": {
                        "RandomSamplingPercentage": 5
                    }
                },
                {
                    "ConditionType": "ModerationLabelConfidenceCheck",
                    "ConditionParameters": {
                        "ModerationLabelName": "Graphic Male Nudity",
                        "ConfidenceGreaterThan": 90
                    }
                }
            ]
        }
      ]
    }
  ]
}
```

**Exemple 6 : utilisation d'un échantillonnage et `ModerationLabelConfidenceCheck` avec l'opérateur `Or`**

Dans l'exemple suivant, une boucle humaine est créée si la réponse d'inférence Amazon Rekognition contient l'étiquette « Nudité masculine explicite (Graphic Male Nudity) » avec une fiabilité d'inférence supérieure à 50. De plus, 5 % de toutes les autres inférences initient une boucle humaine. 

```
{
  "Conditions": [
    {
      "Or": [
        {
          "ConditionType": "Sampling",
          "ConditionParameters": {
            "RandomSamplingPercentage": 5
          }
        },
        {
          "ConditionType": "ModerationLabelConfidenceCheck",
          "ConditionParameters": {
            "ModerationLabelName": "Graphic Male Nudity",
            "ConfidenceGreaterThan": 50
          }
        }
      ]
    }
  ]
}
```

# Supprimer un flux de vérification humaine
<a name="a2i-delete-flow-definition"></a>

Lorsque vous supprimez un flux de révision humain ou que vous supprimez votre AWS compte alors qu'une boucle humaine est en cours, le statut de votre flux de travail de révision humaine passe à`Deleting`. Amazon A2I arrête et supprime automatiquement toutes les boucles humaines associées si les employés n'ont pas démarré les tâches créées par ces boucles humaines. Si les employés travaillent déjà sur une tâche, cette tâche continuera d'être disponible jusqu'à ce qu'elle soit terminée ou arrive à expiration. Tant que des employés travaillent sur une tâche, l'état de votre flux de vérification humaine est `Deleting`. Si ces tâches sont terminées, les résultats sont stockés dans le compartiment Amazon S3 spécifié dans votre définition de flux. 

La suppression d'une définition de flux ne supprime pas les réponses d'employés de votre compartiment S3. Si les tâches sont terminées, mais que vous avez supprimé votre AWS compte, les résultats sont stockés dans le bucket de services Augmented AI pendant 30 jours, puis définitivement supprimés.

Après que toutes les boucles humaines ont été supprimées, le flux de vérification humaine est définitivement supprimé. Lorsqu'un flux de vérification humaine a été supprimé, vous pouvez réutiliser son nom pour créer un nouveau flux de vérification humaine. 

Vous pouvez supprimer un flux de vérification humaine pour l'une des raisons suivantes :
+ Vous avez envoyé des données à un ensemble de vérificateurs humains et vous voulez supprimer toutes les boucles humaines non démarrées, car vous ne souhaitez plus que ces employés travaillent sur ces tâches.
+ Le modèle de tâche d'employé utilisé pour générer votre interface utilisateur d'employé ne s'affiche pas correctement ou ne fonctionne pas comme prévu. 

Après la suppression d'un flux de vérification humaine, les modifications suivantes se produisent :
+ Le flux de travail de révision humaine n'apparaît plus sur la page des **flux de révision humains** dans la zone Augmented AI de la console Amazon SageMaker AI. 
+ Lorsque vous utilisez le nom de flux de vérification humaine comme entrée pour les opérations d'API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFlowDefinition.html) ou[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteFlowDefinition.html), Augmented AI renvoie une erreur `ResourceNotFound`. 
+ Lorsque vous utilisez [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListFlowDefinitions.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListFlowDefinitions.html), les flux de vérification humaine supprimés ne sont pas inclus dans les résultats. 
+ Lorsque vous utilisez l'ARN de flux de vérification humaine comme entrée pour l'opération API d'exécution Augmented AI `[ListHumanLoops](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_ListHumanLoops.html)`, Augmented AI renvoie une `ResourceNotFoundException`.

## Supprimer une définition de flux à l'aide de la console ou de l' SageMaker API
<a name="a2i-delete-flow-definition-how-to"></a>

Vous pouvez supprimer un flux de travail de révision **humain sur la page des flux de révision humains** dans la zone Augmented SageMaker AI de la console AI ou en utilisant l'API SageMaker AI. 

Les définitions de flux ne peuvent être supprimées que si leur état est `Active`. 

**Créer un flux de vérification humaine (console)**

1. Accédez à la console Augmented AI à l'adresse [https://console.aws.amazon.com/a2i/](https://console.aws.amazon.com/a2i).

1. Dans le panneau de navigation, dans la section **Augmented AI** choisissez **Human review workflows (Flux de vérification humaine)**.

1. Choisissez le nom lié par hyperlien du flux de vérification humaine que vous souhaitez supprimer. 

1. Sur la page **Summary (Résumé)** de votre flux de vérification humaine, choisissez **Delete (Supprimer)**. 

1. Dans la boîte de dialogue vous demandant de confirmer la suppression de votre flux de vérification humaine, choisissez **Delete (Supprimer)**. 

Vous êtes automatiquement redirigé vers la page **Human review workflows (Flux de vérification humaine)**. Pendant la suppression de votre flux de vérification humaine, l'état **Deleting (Suppression en cours)** apparaît dans la colonne d'état de ce flux. Une fois supprimé, il n'apparaît plus dans la liste des flux sur cette page. 

**Créer un flux de vérification humaine (API)**  
Vous pouvez supprimer un flux de travail de révision humain (définition du flux) à l'aide de l'opération [DeleteFlowDefinition](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteFlowDefinition.html)d'API SageMaker AI. Cette opération d'API est prise en charge par [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/delete-flow-definition.html)le biais [de différents langages spécifiques SDKs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteFlowDefinition.html#API_DeleteFlowDefinition_SeeAlso). Le tableau suivant présente des exemples de demandes utilisant le SDK pour Python (Boto3) AWS CLI et le flux de travail de révision humain pour supprimer le flux de travail de révision humain. *`example-flow-definition`* 

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

L'exemple de demande suivant utilise le kit SDK for Python (Boto3) pour supprimer le flux de vérification humaine. Pour plus d’informations, consultez [delete\$1flow\$1definition](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.delete_flow_definition) dans la *Référence des API du kit AWS SDK pour Python (Boto)*.

```
import boto3

sagemaker_client = boto3.client('sagemaker')
response = sagemaker_client.delete_flow_definition(FlowDefinitionName='example-flow-definition')
```

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

L'exemple de demande suivant utilise la AWS CLI pour supprimer le flux de travail de révision humaine. Pour plus d’informations, consultez [delete-flow-definition](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/delete-flow-definition.html) dans la *Référence des commandes de l’[AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*. 

```
$ aws sagemaker delete-flow-definition --flow-definition-name 'example-flow-definition'
```

------

Si l'action aboutit, Augmented AI renvoie une réponse HTTP 200 avec un corps HTTP vide.

# Créer et démarrer une boucle humaine
<a name="a2i-start-human-loop"></a>

Une *boucle humaine* démarre votre flux de vérification humaine et envoie des tâches de vérification des données à des employés humains. Lorsque vous utilisez l'un des types de tâches intégrés d'Amazon A2I, le AWS service correspondant crée et démarre une boucle humaine en votre nom lorsque les conditions spécifiées dans votre définition de flux sont remplies. Si aucune condition n’est spécifiée dans votre définition de flux, une boucle humaine est créée pour chaque objet. Lorsque vous utilisez Amazon A2I pour une tâche personnalisée, une boucle humaine démarre quand votre application appelle `StartHumanLoop`. 

Utilisez les instructions suivantes pour configurer une boucle humaine avec des types de tâche intégrés Amazon Rekognition ou Amazon Textract et des types de tâche personnalisés. 

**Conditions préalables**

Pour créer et démarrer une boucle humaine, vous devez associer la `AmazonAugmentedAIFullAccess` politique à l'utilisateur ou au rôle Gestion des identités et des accès AWS (IAM) qui configure ou démarre la boucle humaine. Il s’agit de l’identité que vous utilisez pour configurer la boucle humaine en utilisant `HumanLoopConfig` pour les types de tâches intégrés. Pour les types de tâche personnalisés, il s’agit de l’identité que vous utilisez pour appeler `StartHumanLoop`.

En outre, lorsque vous utilisez un type de tâche intégré, votre utilisateur ou votre rôle doit être autorisé à invoquer les opérations d'API du AWS service associé à votre type de tâche. Par exemple, si vous utilisez Amazon Rekognition avec Augmented AI, vous devez attacher les autorisations requises pour appeler `DetectModerationLabels`. Pour des exemples de stratégies basées sur l’identité que vous pouvez utiliser pour accorder ces autorisations, consultez [Exemples de stratégies basées sur l’identité Amazon Rekognition](https://docs.aws.amazon.com/rekognition/latest/dg/security_iam_id-based-policy-examples.html) et [Exemples de stratégies basées sur l’identité Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/security_iam_id-based-policy-examples.html). Vous pouvez également utiliser la stratégie plus générale `AmazonAugmentedAIIntegratedAPIAccess` pour accorder ces autorisations. Pour de plus amples informations, veuillez consulter [Création d'un utilisateur disposant des autorisations requises pour appeler les opérations d'API Amazon A2I, Amazon Textract et Amazon Rekognition](a2i-permissions-security.md#a2i-grant-general-permission). 

Vous avez besoin d’un ARN de définition de flux pour créer et démarrer une boucle humaine. Pour apprendre à créer une définition de flux (ou flux de vérification humaine), consultez [Créer un flux de vérification humaine](a2i-create-flow-definition.md).

**Important**  
Amazon A2I exige que tous les compartiments S3 contenant des données d’image d’entrée de boucle humaine soient associés à une stratégie CORS. Pour en savoir plus sur ce changement, consultez [Autorisations CORS requises](a2i-permissions-security.md#a2i-cors-update).

## Créer et démarrer une boucle humaine pour un type de tâche intégré
<a name="a2i-human-loop-built-in-task-type"></a>

Pour démarrer une boucle humaine à l’aide d’un type de tâche intégré, utilisez l’API du service correspondant pour fournir vos données d’entrée et configurer la boucle humaine. Pour Amazon Textract, vous utilisez l’opération d’API `AnalyzeDocument`. Pour Amazon Rekognition, vous utilisez l’opération d’API `DetectModerationLabels`. Vous pouvez utiliser le SDK AWS CLI ou un SDK spécifique à un langage pour créer des demandes à l'aide de ces opérations d'API. 

**Important**  
Lorsque vous créez une boucle humaine à l’aide d’un type de tâche intégré, vous pouvez utiliser `DataAttributes` pour spécifier un ensemble de `ContentClassifiers` associés à l’entrée fournie à l’opération `StartHumanLoop`. Utilisez des classificateurs de contenu pour déclarer que votre contenu est exempt d'informations personnelles identifiables ou de contenu pour adultes.  
Pour utiliser Amazon Mechanical Turk, assurez-vous que vos données sont exemptes d’informations personnelles identifiables, notamment d’informations d’état protégées en vertu de la loi HIPAA. Incluez le classificateur de contenu `FreeOfPersonallyIdentifiableInformation`. Si vous n'utilisez pas ce classificateur de contenu, SageMaker AI n'envoie pas votre tâche à Mechanical Turk. Si vos données sont exemptes de contenu pour adultes, incluez également le classificateur `'FreeOfAdultContent'`. Si vous n'utilisez pas ces classificateurs de contenu, l' SageMaker IA peut restreindre le nombre de collaborateurs de Mechanical Turk qui peuvent consulter votre tâche.

Une fois que vous avez démarré votre tâche de machine learning à l'aide de l'API de AWS service de votre type de tâche intégré, Amazon A2I surveille les résultats d'inférence de ce service. Par exemple, lors de l’exécution d’une tâche avec Amazon Rekognition, Amazon A2I vérifie le score de fiabilité d’inférence pour chaque image et le compare aux seuils de fiabilité spécifiés dans votre définition de flux. Si les conditions de démarrage d’une tâche de vérification humaine sont remplies ou si vous n’avez pas spécifié de conditions dans votre définition de flux, une tâche de vérification humaine est envoyée aux applications de travail. 

### Créer une boucle humaine Amazon Textract
<a name="a2i-human-loop-textract"></a>

Amazon A2I s’intègre à Amazon Textract pour que vous puissiez configurer et démarrer une boucle humaine à l’aide de l’API Amazon Textract. Pour envoyer un fichier document Amazon Textract à des fins d’analyse de texte, vous utilisez [l’opération d’API `AnalyzeDocument`](https://docs.aws.amazon.com/textract/latest/dg/API_AnalyzeDocument.html) d’Amazon Textract. Pour ajouter une boucle humaine à cette tâche d’analyse de document, vous devez configurer le paramètre `HumanLoopConfig`. 

Lorsque vous configurez votre boucle humaine, la définition de flux que vous spécifiez dans `FlowDefinitionArn` de `HumanLoopConfig` doit se trouver dans la même région AWS que le compartiment identifié dans `Bucket` du paramètre `Document`.

Le tableau suivant présente des exemples d'utilisation de cette opération avec le AWS CLI et AWS SDK pour Python (Boto3).

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

L’exemple de demande suivant utilise le kit SDK for Python (Boto3). Pour plus d’informations, consultez [analyze\$1document](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/textract.html#Textract.Client.analyze_document) dans la *Référence des API du kit AWS SDK pour 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 ]

L'exemple de demande suivant utilise la AWS CLI. Pour plus d’informations, consultez [analyze-document](https://docs.aws.amazon.com/cli/latest/reference/textract/analyze-document.html) dans la *[Référence des commandes de l’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"]'
```

------

Une fois que vous avez exécuté `AnalyzeDocument` avec une boucle humaine configurée, Amazon A2I contrôle les résultats de `AnalyzeDocument` et les vérifie par rapport aux conditions d'activation de la définition de flux. Si le score de fiabilité d’inférence d’Amazon Textract pour une ou plusieurs paires clés-valeurs remplit les conditions de la vérification, Amazon A2I lance une boucle de vérification humaine et inclut l’objet [https://docs.aws.amazon.com/textract/latest/dg/API_HumanLoopActivationOutput.html](https://docs.aws.amazon.com/textract/latest/dg/API_HumanLoopActivationOutput.html) dans la réponse `AnalyzeDocument`.

### Créer une boucle humaine Amazon Rekognition
<a name="a2i-human-loop-rekognition"></a>

Amazon A2I s’intègre à Amazon Rekognition pour que vous puissiez configurer et démarrer une boucle humaine à l’aide de l’API Amazon Rekognition. Pour envoyer des images à Amazon Rekognition à des fins de modération de contenu, vous utilisez [l’opération d’API `DetectModerationLabels`](https://docs.aws.amazon.com/rekognition/latest/dg/API_DetectModerationLabels.html) d’Amazon Rekognition. Pour configurer une boucle humaine, définissez le paramètre `HumanLoopConfig` lorsque vous configurez `DetectModerationLabels`.

Lorsque vous configurez votre boucle humaine, la définition de flux que vous spécifiez dans `FlowDefinitionArn` de `HumanLoopConfig` doit se trouver dans la même région AWS que le compartiment S3 identifié dans `Bucket` du paramètre `Image`.

Le tableau suivant présente des exemples d'utilisation de cette opération avec le AWS CLI et AWS SDK pour Python (Boto3).

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

L’exemple de demande suivant utilise le SDK for Python (Boto3). Pour plus d’informations, consultez [detect\$1moderation\$1labels](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rekognition.html#Rekognition.Client.detect_moderation_labels) dans la *Référence des API du kit AWS SDK pour 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 ]

L'exemple de demande suivant utilise la AWS CLI. Pour plus d’informations, consultez [detect-moderation-labels](https://docs.aws.amazon.com/cli/latest/reference/rekognition/detect-moderation-labels.html) dans la *Référence des commandes de l’[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"]}}'
```

------

Une fois que vous avez exécuté `DetectModerationLabels` avec une boucle humaine configurée, Amazon A2I contrôle les résultats de `DetectModerationLabels` et les contrôle par rapport aux conditions d'activation de la définition de flux. Si le score de fiabilité d’inférence Amazon Rekognition pour une image remplit les conditions de la vérification, Amazon A2I lance une boucle de vérification humaine et inclut l’élément de réponse `HumanLoopActivationOutput` dans la réponse `DetectModerationLabels`.

## Créer et démarrer une boucle humaine pour un type de tâche personnalisé
<a name="a2i-instructions-starthumanloop"></a>

Pour configurer une boucle humaine pour une tâche de vérification humaine personnalisée, utilisez l’opération `StartHumanLoop` dans votre application. Cette section fournit un exemple de requête de boucle humaine utilisant le AWS SDK pour Python (Boto3) et le AWS Command Line Interface (AWS CLI). Pour obtenir de la documentation sur d'autres langages spécifiques à SDKs la prise en charge`StartHumanLoop`, **consultez la section Voir aussi** de la documentation [StartHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StartHumanLoop.html)de l'API Amazon Augmented AI Runtime. Reportez-vous à [Cas d'utilisation et exemples d’utilisation d'Amazon A2I](a2i-task-types-general.md) pour voir des exemples montrant comment utiliser Amazon A2I avec un type de tâche personnalisé.

**Conditions préalables**

Pour réaliser cette procédure, il vous faut :
+ Données d’entrée formatées sous la forme d’une représentation chaîne d’un fichier au format JSON
+ Amazon Resource Name (ARN) de votre définition de flux.

**Pour configurer la boucle humaine**

1. Pour `DataAttributes`, spécifiez un ensemble de `ContentClassifiers` associés à l’entrée fournie à l’opération `StartHumanLoop`. Utilisez des classificateurs de contenu pour déclarer que votre contenu est exempt d'informations personnelles identifiables ou de contenu pour adultes. 

   Pour utiliser Amazon Mechanical Turk, assurez-vous que vos données sont exemptes d’informations personnelles identifiables, notamment d’informations d’état protégées en vertu de la loi HIPAA, et incluez le classificateur de contenu `FreeOfPersonallyIdentifiableInformation`. Si vous n'utilisez pas ce classificateur de contenu, SageMaker AI n'envoie pas votre tâche à Mechanical Turk. Si vos données sont exemptes de contenu pour adultes, incluez également le classificateur `'FreeOfAdultContent'`. Si vous n'utilisez pas ces classificateurs de contenu, l' SageMaker IA peut restreindre le nombre de collaborateurs de Mechanical Turk qui peuvent consulter votre tâche.

1. Pour `FlowDefinitionArn`, saisissez l’Amazon Resource Name (ARN) de votre définition de flux.

1. Pour `HumanLoopInput`, saisissez vos données d’entrée sous la forme d’une représentation chaîne d’un fichier au format JSON. Structurez vos données d’entrée et votre modèle de tâche d’employé personnalisé afin que vos données d’entrée s’affichent correctement pour les employés humains lorsque vous démarrez votre boucle humaine. Consultez [Aperçu d'un modèle de tâche d'employé](a2i-custom-templates.md#a2i-preview-your-custom-template) pour découvrir comment afficher l’aperçu de votre modèle de tâche d’employé personnalisé. 

1. Pour `HumanLoopName`, saisissez un nom pour la boucle humaine. Le nom doit être unique dans la région de votre compte et peut contenir jusqu’à 63 caractères. Les caractères valides sont a-z, 0-9 et - (trait d’union).

**Pour démarrer une boucle humaine**
+ Pour démarrer une boucle humaine, envoyez une demande semblable aux exemples suivants en utilisant votre kit SDK spécifique au langage préféré. 

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

L’exemple de demande suivant utilise le kit SDK for Python (Boto3). Pour plus d’informations, consultez [Exécution de l’Augmented AI Boto3](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker-a2i-runtime.html#AugmentedAIRuntime.Client.start_human_loop) dans la *Référence des API du kit SDK AWS pour 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 ]

L'exemple de demande suivant utilise la AWS CLI. Pour plus d’informations, consultez [start-human-loop](https://docs.aws.amazon.com/cli/latest/reference/sagemaker-a2i-runtime/start-human-loop.html) dans la *Référence des commandes de l’[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" \
```

------

Lorsque vous démarrez avec succès une boucle humaine en appelant `StartHumanLoop` directement, la réponse inclut des objets `HumanLoopARN` et `HumanLoopActivationResults` définis sur `NULL`. Vous pouvez utiliser ce nom de boucle humaine pour contrôler et gérer votre boucle humaine.

## Étapes suivantes :
<a name="a2i-next-step-starthumanloop"></a>

Après avoir démarré une boucle humaine, vous pouvez la gérer et la surveiller à l'aide de l'API Amazon Augmented AI Runtime et d'Amazon CloudWatch Events. Pour en savoir plus, consultez [Surveillance et gestion de votre boucle humaine](a2i-monitor-humanloop-results.md).

# Supprimer une boucle humaine
<a name="a2i-delete-human-loop"></a>

Lorsque vous supprimez une boucle humaine, l'état passe à `Deleting`. Lorsque la boucle humaine est supprimée, la tâche de vérification humaine associée n'est plus disponible pour les employés. Vous pouvez supprimer une boucle humaine dans l'un des cas suivants :
+ Le modèle de tâche d'employé utilisé pour générer votre interface utilisateur d'employé ne s'affiche pas correctement ou ne fonctionne pas comme prévu. 
+ Un seul objet de données a été accidentellement envoyé aux employés plusieurs fois. 
+ Vous n'avez plus besoin d'un objet de données vérifié par un humain. 

Si l'état d'une boucle humaine est `InProgress`, vous devez arrêter la boucle humaine avant de la supprimer. Lorsque vous arrêtez une boucle humaine, l'état passe à `Stopping` pendant qu'elle est en cours d'arrêt. Lorsque l'état passe à `Stopped`, vous pouvez supprimer la boucle humaine. 

Si des employés travaillent sur une tâche lorsque vous arrêtez la boucle humaine, cette tâche continuera d'être disponible jusqu'à ce qu'elle soit terminée ou arrive à expiration. Tant que des employés travaillent sur une tâche, l'état de votre boucle humaine est `Stopping`. Si ces tâches sont terminées, les résultats sont stockés dans le compartiment Amazon S3 spécifié dans votre flux de vérification humaine. Si l'employé quitte la tâche sans soumettre le travail, la tâche est arrêtée et l'employé ne peut pas la reprendre. Si aucun employé n'a commencé à travailler sur la tâche, elle est immédiatement arrêtée. 

Si vous supprimez le AWS compte utilisé pour créer la boucle humaine, celui-ci est arrêté et supprimé automatiquement. 

## Conservation et suppression des données de boucle humaine
<a name="a2i-delete-human-loop-data-retention"></a>

Lorsqu'un employé effectue une tâche de vérification humaine, les résultats sont stockés dans le compartiment de sortie Amazon S3 que vous avez spécifié dans le flux de vérification humaine utilisé pour créer la boucle humaine. La suppression ou l'arrêt d'une boucle humaine ne supprime pas les réponses d'employés de votre compartiment S3. 

En outre, Amazon A2I stocke temporairement les données d'entrée et de sortie des boucles humaines en interne pour les raisons suivantes :
+ Si vous configurez vos boucles humaines de sorte qu'un seul objet de données soit envoyé à plusieurs employés pour vérification, Amazon A2I n'écrit pas les données de sortie dans votre compartiment S3 tant que tous les employés n'ont pas terminé la tâche de vérification. Amazon A2I stocke les réponses partielles — les réponses des employés individuels — en interne de sorte à pouvoir écrire les résultats complets dans votre compartiment S3. 
+ Si vous signalez un résultat de vérification humaine de mauvaise qualité, Amazon A2I peut enquêter sur votre problème et y répondre. 
+ Si vous perdez l'accès ou supprimez le compartiment S3 en sortie spécifié dans le flux de vérification humaine utilisé pour créer une boucle humaine, et que la tâche a déjà été envoyée à un ou plusieurs employés, Amazon A2I a besoin d'un emplacement pour stocker temporairement les résultats des vérifications humaines. 

Amazon A2I supprime ces données en interne 30 jours après que l'état d'une boucle humaine est passé à l'un de :`Deleted`, `Stopped` ou `Completed`. En d'autres termes, les données sont supprimées 30 jours après la fin, l'arrêt ou la suppression de la boucle humaine. De plus, ces données sont supprimées au bout de 30 jours si vous fermez le AWS compte utilisé pour créer les boucles humaines associées.

## Arrêter et supprimer une définition de flux à l'aide de la console ou de l'API Amazon A2I
<a name="a2i-delete-human-loop-how-to"></a>

Vous pouvez arrêter et supprimer une boucle humaine dans la console Augmented AI ou en utilisant l' SageMaker API. Lorsque la boucle humaine a été supprimée, l'état passe à `Deleted`.

**Supprimer une boucle humaine (console)**

1. Accédez à la console Augmented AI à l'adresse [https://console.aws.amazon.com/a2i/](https://console.aws.amazon.com/a2i).

1. Dans le panneau de navigation, dans la section **Augmented AI**, choisissez **Human review workflows (Flux de vérification humaine)**.

1. Choisissez le nom lié par hyperlien du flux de vérification humaine que vous avez utilisé pour créer la boucle humaine et que vous voulez supprimer. 

1. Dans la section **Human loops (Boucles humaines)** en bas de la page, sélectionnez la boucle humaine que vous voulez arrêter et supprimer.

1. Si l'état de boucle humaine est `Completed`, `Stopped` ou`Failed`, sélectionnez **Delete (Supprimer)**.

   Si l'**état** de la boucle humaine est `InProgress`, sélectionnez **Stop (Arrêter)**. Lorsque l'état passe à **Stopped (Arrêté)**, **sélectionnez Delete (Supprimer)**.

**Supprimer une boucle humaine (API)**

1. Vérifiez l'état de votre boucle humaine à l'aide de l'opération API d'exécution d'Augmented AI `[DescribeHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DescribeHumanLoop.html)`. Voir les exemples d'utilisation de cette opération dans le tableau suivant. 

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

   L'exemple suivant utilise le SDK pour Python (Boto3) pour décrire la boucle humaine nommée. *example-human-loop* Pour de plus amples informations, veuillez consulter [describe\$1human\$1loop](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker-a2i-runtime.html#AugmentedAIRuntime.Client.describe_human_loop) dans la *référence d'API du kit AWS SDK for Python (Boto)*.

   ```
   import boto3
   
   a2i_runtime_client = boto3.client('sagemaker-a2i-runtime')
   response = a2i_runtime_client.describe_human_loop(HumanLoopName='example-human-loop')
   human_loop_status = response['HumanLoopStatus']
   print(f'example-human-loop status is: {human_loop_status}')
   ```

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

   L'exemple suivant utilise la AWS CLI pour décrire la boucle humaine nommée*example-human-loop*. Pour plus d’informations, consultez [describe-human-loop](https://docs.aws.amazon.com/cli/latest/reference/sagemaker-a2i-runtime/describe-human-loop.html) dans la *Référence des commandes de l’[AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*. 

   ```
   $ aws sagemaker-a2i-runtime describe-human-loop --human-loop-name 'example-human-loop'
   ```

------

1. Si l'état de la définition de flux est `Completed`, `Stopped` ou `Failed`, supprimez la définition de flux à l'aide de l'opération API d'exécution Augmented AI`[DeleteHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DeleteHumanLoop.html)`.

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

   L'exemple suivant utilise le SDK pour Python (Boto3) afin de supprimer la boucle humaine nommée. *example-human-loop* Pour de plus amples informations, veuillez consulter [delete\$1human\$1loop](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker-a2i-runtime.html#AugmentedAIRuntime.Client.delete_human_loop) dans la *référence d'API du kit AWS SDK for Python (Boto)*.

   ```
   import boto3
   
   a2i_runtime_client = boto3.client('sagemaker-a2i-runtime')
   response = a2i_runtime_client.delete_human_loop(HumanLoopName='example-human-loop')
   ```

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

   L'exemple suivant utilise la AWS CLI pour supprimer la boucle humaine nommée*example-human-loop*. Pour plus d’informations, consultez [delete-human-loop](https://docs.aws.amazon.com/cli/latest/reference/sagemaker-a2i-runtime/delete-human-loop.html) dans la *Référence des commandes de l’[AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*. 

   ```
   $ aws sagemaker-a2i-runtime delete-human-loop --human-loop-name 'example-human-loop'
   ```

------

   Si l'état de boucle humaine est `InProgress`, arrêtez la boucle humaine en utilisant `[StopHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StopHumanLoop.html)`, puis utilisez `DeleteHumanLoop` pour la supprimer. 

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

   L'exemple suivant utilise le SDK pour Python (Boto3) pour décrire la boucle humaine nommée. *example-human-loop* Pour de plus amples informations, veuillez consulter [stop\$1human\$1loop](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker-a2i-runtime.html#AugmentedAIRuntime.Client.stop_human_loop) dans la *référence d'API du kit AWS SDK for Python (Boto)*.

   ```
   import boto3
   
   a2i_runtime_client = boto3.client('sagemaker-a2i-runtime')
   response = a2i_runtime_client.stop_human_loop(HumanLoopName='example-human-loop')
   ```

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

   L'exemple suivant utilise la AWS CLI pour décrire la boucle humaine nommée*example-human-loop*. Pour plus d’informations, consultez [stop-human-loop](https://docs.aws.amazon.com/cli/latest/reference/sagemaker-a2i-runtime/stop-human-loop.html) dans la *Référence des commandes de l’[AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/)*. 

   ```
   $ aws sagemaker-a2i-runtime stop-human-loop --human-loop-name 'example-human-loop'
   ```

------

# Créer et gérer des modèles de tâches d'employé
<a name="a2i-instructions-overview"></a>

Vous pouvez créer une interface utilisateur de tâche pour vos employés en créant un *modèle de tâche d'employé*. Un modèle de tâche d'employé est un fichier HTML utilisé pour afficher vos données d'entrée et des instructions pour aider les employés à accomplir votre tâche.

Pour les types de tâches Amazon Rekognition ou Amazon Textract, vous pouvez personnaliser un modèle de tâche d'employé prédéfini à l'aide d'une interface utilisateur graphique (GUI) et éviter d'interagir avec du code HTML. Pour cette option, utilisez les instructions de [Créer un flux de vérification humaine (console)](a2i-create-flow-definition.md#a2i-create-human-review-console) afin de créer un flux de vérification humaine et de personnaliser votre modèle de tâche d’employé dans la console Amazon SageMaker AI. Une fois que vous avez créé un modèle à l'aide de ces instructions, il apparaît sur la page Modèles de tâche d'employé de la [console Augmented AI](https://console.aws.amazon.com/a2i).

Si vous créez un flux de vérification humaine pour un type de tâche personnalisé, vous devez créer un *modèle de tâche d'employé personnalisé* à l'aide de code HTML. Pour plus d’informations, consultez [Créer des modèles de tâches d'employé personnalisés](a2i-custom-templates.md). 

Si vous créez votre modèle en HTML, vous devez utiliser ce modèle pour générer un *Amazon Resource Name (ARN) d'UI de tâche humaine Amazon A2I* dans la console Amazon A2I. Cet ARN présente le format suivant : `arn:aws:sagemaker:<aws-region>:<aws-account-number>:human-task-ui/<template-name>`. Cet ARN est associé à une ressource de modèle de tâche d'employé que vous pouvez utiliser dans un ou plusieurs flux de vérification humaine (définitions de flux).

Générez un ARN d'UI de tâche d'employé à l'aide d'un modèle de tâche d'employé en suivant les instructions de [Créer un modèle de tâche d'employé](a2i-worker-template-console.md#a2i-create-worker-template-console) ou à l'aide de l'opération d'API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html).

**Topics**
+ [Créer et supprimer des modèles de tâches d'employé](a2i-worker-template-console.md)
+ [Créer des modèles de tâches d'employé personnalisés](a2i-custom-templates.md)
+ [Créer de bonnes instructions de travail](a2i-creating-good-instructions-guide.md)

# Créer et supprimer des modèles de tâches d'employé
<a name="a2i-worker-template-console"></a>

Vous pouvez utiliser un modèle d'employé pour personnaliser l'interface et les instructions que vos employés voient lorsque vous travaillez sur vos tâches. Suivez les instructions de cette page pour créer un modèle de tâche de collaborateur dans la zone Augmented AI de la console Amazon SageMaker AI. Un modèle de démarrage est fourni pour les tâches Amazon Textract Amazon Rekognition. Pour savoir comment personnaliser votre modèle à l’aide d’éléments HTML Crowd, consultez [Créer des modèles de tâches d'employé personnalisés](a2i-custom-templates.md).

Lorsque vous créez un modèle de travail sur la page des modèles de tâches de travail de la zone Augmented AI de la console SageMaker AI, un ARN de modèle de tâche de travail est généré. Utilisez cet ARN comme entrée pour `HumanTaskUiArn` lorsque vous créez une définition de flux à l'aide de l'opération d'API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html). Vous pouvez choisir ce modèle lors de la création d'un flux de vérification humaine sur la page flux de vérification humaine de la console. 

Si vous créez une ressource de modèle de tâche d'employé pour un type de tâche Amazon Textract ou Amazon Rekognition, vous pouvez prévisualiser l'UI d'employé générée à partir de votre modèle sur la page Modèles de tâches d'employé de la console. Vous devez attacher la stratégie décrite dans [Activation des aperçus du modèle de tâche d’employé](a2i-permissions-security.md#permissions-for-worker-task-templates-augmented-ai) au rôle IAM que vous utilisez pour prévisualiser le modèle.

## Créer un modèle de tâche d'employé
<a name="a2i-create-worker-template-console"></a>

Vous pouvez créer un modèle de tâche de travail à l'aide de la console SageMaker AI et de l'opération SageMaker API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html). 

**Pour créer un modèle de tâche d'employé (console)**

1. Ouvrez la console Amazon A2I à [https://console.aws.amazon.com/a2i/](https://console.aws.amazon.com/a2i)l'adresse.

1. Dans le panneau de navigation gauche, sous **IA augmentée d’Amazon**, choisissez **Modèles de tâches d’employé**.

1. Sélectionnez **Create template (Créer un modèle)**.

1. Dans **Template name (Nom du modèle)**, entrez un nom unique.

1. (Facultatif) Saisissez un **rôle IAM** qui accorde à Amazon A2I les autorisations nécessaires pour appeler les services en votre nom. 

1. Dans **Template type (Type de modèle)**, sélectionnez un type de modèle dans la liste déroulante. Si vous créez un modèle pour une tâche **Textract-form extraction (Extraction de formulaire - Textract)** ou **Rekognition-image moderation (Modération des images - Rekognition)**, choisissez l'option appropriée. 

1. Entrez vos éléments de modèle personnalisés comme suit :
   + Si vous avez sélectionné le modèle de tâche Amazon Textract ou Amazon Rekognition, le **Template editor (éditeur de modèle)** remplit automatiquement un modèle par défaut que vous pouvez personnaliser. 
   + Si vous utilisez un modèle personnalisé, entrez votre modèle prédéfini dans l'éditeur. 

1. (Facultatif) Pour terminer cette étape, vous devez fournir un ARN de rôle IAM disposant de l'autorisation de lire les objets Amazon S3 qui sont rendus sur votre interface utilisateur à l'**étape 5**. 

   Vous ne pouvez prévisualiser votre modèle que si vous créez des modèles pour Amazon Textract ou Amazon Rekognition. 

   Sélectionner **See preview (Voir prévisualisation)** pour prévisualiser l'interface et les instructions vues par les employés. Cette prévisualisation préliminaire interactive. Après avoir terminé l'exemple de tâche et sélectionné **Soumettre**, vous voyez la file d'attente résultante de la tâche que vous venez d'effectuer. 

   Si vous créez un modèle de tâche d'employé pour un type de tâche personnalisé, vous pouvez afficher un aperçu de votre interface utilisateur de tâche d'employé à l'aide de `RenderUiTemplate`. Pour de plus amples informations, veuillez consulter [Aperçu d'un modèle de tâche d'employé](a2i-custom-templates.md#a2i-preview-your-custom-template).

1. Lorsque vous êtes satisfait de votre modèle, choisissez **Create (Créer)**.

Après avoir créé votre modèle, vous pouvez le sélectionner lorsque vous créez un flux de vérification humaine dans la console. Votre modèle apparaît également dans la section **Amazon Augmented AI** de la console SageMaker AI sous **Modèles de tâches pour les travailleurs**. Sélectionnez votre modèle pour afficher son ARN. Utilisez cet ARN pour l'opération d'API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html). 

**Créer un modèle de tâche d'employé à l'aide d'un modèle de tâche d'employé (API)**  
Pour générer un modèle de tâche de travail à l'aide de l'opération SageMaker API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html), spécifiez un nom pour votre interface utilisateur dans `HumanTaskUiName` et saisissez votre modèle HTML dans le `Content` champ ci-dessous`UiTemplate`. Vous trouverez de la documentation sur les langages spécifiques SDKs qui prennent en charge cette opération d'API dans la section **Voir aussi** du. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html)

## Supprimer un modèle de tâche d'employé
<a name="sms-delete-worker-task-template"></a>

Une fois que vous avez créé un modèle de tâche de travail, vous pouvez le supprimer à l'aide de la console SageMaker AI ou de l'opération SageMaker API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteHumanTaskUi.html).

Lorsque vous supprimez un modèle de tâche d'employé, vous ne pouvez pas utiliser les flux de vérification humaine (définitions de flux) créés à l'aide de ce modèle pour démarrer des boucles humaines. Toutes les boucles humaines qui ont déjà été créées à l'aide du modèle de tâche d'employé que vous supprimez continuent d'être traitées jusqu'à la fin et ne sont pas affectées. 

**Supprimer un modèle de tâche d'employé (console)**

1. Ouvrez la console Amazon A2I à [https://console.aws.amazon.com/a2i/](https://console.aws.amazon.com/a2i)l'adresse.

1. Dans le panneau de navigation gauche, sous IA augmentée d’Amazon, choisissez **Modèles de tâches d’employé**.

1. Sélectionnez le modèle à supprimer. 

1. Sélectionnez **Delete (Supprimer)**.

1. Un modal apparaît pour confirmer votre choix. Sélectionnez **Delete (Supprimer)**.

**Supprimer un modèle de tâche d'employé (API)**  
Pour supprimer un modèle de tâche de travail à l'aide de l'opération d' SageMaker API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteHumanTaskUi.html), spécifiez le nom de votre interface utilisateur dans`HumanTaskUiName`. 

# Créer des modèles de tâches d'employé personnalisés
<a name="a2i-custom-templates"></a>

Les *éléments HTML Crowd* sont des composants web qui fournissent un certain nombre de widgets de tâche et d'éléments de conception que vous pouvez adapter à la question que vous voulez poser. Vous pouvez utiliser ces éléments Crowd pour créer un modèle d’employé personnalisé et l’intégrer à un flux de vérification humaine de l’IA augmentée d’Amazon (Amazon A2I) pour personnaliser la console d’employé et les instructions. 

Pour obtenir la liste de tous les éléments HTML Crowd auxquels les utilisateurs Amazon A2I ont accès, consultez [Référence des éléments HTML crowd](sms-ui-template-reference.md). Pour des exemples de modèles, consultez le [AWS GitHubréférentiel](https://github.com/aws-samples/amazon-a2i-sample-task-uis), qui contient plus de 60 exemples de modèles de tâches personnalisés.

## Développement des modèles localement
<a name="developing-templates-locally"></a>

Lorsque vous êtes dans la console pour tester la façon dont votre modèle traite les données entrantes, vous pouvez tester l'apparence des éléments HTML et personnalisés de votre modèle dans votre navigateur en ajoutant le code suivant en haut du fichier HTML.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
```

Cela charge le code nécessaire pour afficher les éléments HTML personnalisés. Utilisez ce code si vous voulez développer l'apparence de votre modèle dans votre éditeur préféré plutôt que dans la console.

Ce code n'analysera pas vos variables. Vous souhaiterez peut-être les remplacer par des exemples de contenu pendant le développement en local.

## Utilisation de ressources externes
<a name="a2i-custom-template-using-external-assets"></a>

Les modèles personnalisés de l’IA augmentée d’Amazon vous permettent d’incorporer des scripts externes et des feuilles de style. Par exemple, l'en-tête suivant incorpore un nom de feuille de style `text/css` `stylesheet` situé à l'adresse `https://www.example.com/my-enhancement-styles.css` dans le modèle personnalisé.

**Example**  

```
<script src="https://www.example.com/my-enhancment-script.js"></script>
<link rel="stylesheet" type="text/css" href="https://www.example.com/my-enhancement-styles.css">
```

Si vous rencontrez des erreurs, veillez à ce que votre serveur d’origine envoie le type MIME et les en-têtes d’encodage corrects avec les ressources.

Par exemple, le type d'encodage et MIME des scripts distants est : `application/javascript;CHARSET=UTF-8`.

Le type d'encodage et MIME pour les feuilles de style distantes est : `text/css;CHARSET=UTF-8`.

## Suivi de vos variables
<a name="a2i-custom-template-step2-UI-vars"></a>

Lors de la création d'un modèle personnalisé, vous devez y ajouter des variables pour représenter les éléments de données susceptibles de changer d'une tâche à une autre ou d'un employé à un autre. Si vous commencez avec l'un des exemples de modèles, vous devez connaître les variables qu'il utilise déjà. 

Par exemple, pour un modèle personnalisé qui intègre une boucle de vérification humaine Augmented AI avec une tâche de vérification de texte Amazon Textract, `{{ task.input.selectedAiServiceResponse.blocks }}` est utilisé pour les données d'entrée de valeur initiale. Pour l’intégration de l’IA augmentée d’Amazon (Amazon A2I) à Amazon Rekognition, `{{ task.input.selectedAiServiceResponse.moderationLabels }}` est utilisé. Pour un type de tâche personnalisé, vous devez déterminer le paramètre d'entrée correspondant à votre type de tâche. Utilisez `{{ task.input.customInputValuesForStartHumanLoop}}` là où vous spécifiez `customInputValuesForStartHumanLoop`. 

## Exemple de modèle personnalisé pour Amazon Textract
<a name="a2i-custom-templates-textract-sample"></a>

Tous les modèles personnalisés commencent et se terminent par les éléments `<crowd-form> </crowd-form>`. Comme les éléments `<form>` HTML standard, l'ensemble de votre code de formulaire doit figurer entre ces éléments. 

Pour une tâche d'analyse de document Amazon Textract, utilisez l'`<crowd-textract-analyze-document>`élément . Contient les attributs suivants : 
+ `src` - Spécifie l'URL du fichier image à annoter.
+ `initialValue` - Définit les valeurs initiales des attributs trouvés dans l'UI d'employé.
+ `blockTypes` (obligatoire) - Détermine le type d'analyse que les employés peuvent effectuer. `KEY_VALUE_SET` est le seul à être pris en charge actuellement. 
+ `keys` (obligatoire) - Spécifie les nouvelles clés et la valeur de texte associée que l'employé peut ajouter.
+ `no-key-edit` (obligatoire) - Empêche les employés de modifier les clés des annotations transmises par `initialValue`.
+ `no-geometry-edit` – Empêche les employés de modifier les polygones des annotations transmises par `initialValue`.

Deux régions doivent être utilisées comme enfants de l'élément `<crowd-textract-analyze-document>`. Vous pouvez utiliser des éléments HTML et CSS arbitraires dans ces régions. 
+ `<full-instructions>` : instructions disponibles à partir du lien **Afficher les instructions complètes** de l’outil. Vous pouvez laisser ce champ vide, mais nous vous recommandons de fournir des instructions complètes pour obtenir de meilleurs résultats.
+ `<short-instructions>` - Brève description de la tâche qui apparaît dans la barre latérale de l'outil. Vous pouvez laisser ce champ vide, mais nous vous recommandons de fournir des instructions complètes pour obtenir de meilleurs résultats.

 Un modèle Amazon Textract ressemblerait à ce qui suit.

**Example**  

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
{% capture s3_uri %}http://s3.amazonaws.com/{{ task.input.aiServiceRequest.document.s3Object.bucket }}/{{ task.input.aiServiceRequest.document.s3Object.name }}{% endcapture %}

<crowd-form>
  <crowd-textract-analyze-document
    src="{{ s3_uri | grant_read_access }}"
    initial-value="{{ task.input.selectedAiServiceResponse.blocks }}"
    header="Review the key-value pairs listed on the right and correct them if they don't match the following document."
    no-key-edit
    no-geometry-edit
    keys="{{ task.input.humanLoopContext.importantFormKeys }}"
    block-types="['KEY_VALUE_SET']"
  >
    <short-instructions header="Instructions">
      <style>
        .instructions {
          white-space: pre-wrap;
        }
        .instructionsImage {
          display: inline-block;
          max-width: 100%;
        }
      </style>
      <p class='instructions'>Choose a key-value block to highlight the corresponding key-value pair in the document.

If it is a valid key-value pair, review the content for the value. If the content is incorrect, correct it.

The text of the value is incorrect, correct it.
<img class='instructionsImage' src="https://example-site/correct-value-text.png" />

A wrong value is identified, correct it.
<img class='instructionsImage' src="https://example-site/correct-value.png" />

If it is not a valid key-value relationship, choose No.
<img class='instructionsImage' src="https://example-site/not-a-key-value-pair.png" />

If you can’t find the key in the document, choose Key not found.
<img class='instructionsImage' src="https://example-site/key-is-not-found.png" />

If the content of a field is empty, choose Value is blank.
<img class='instructionsImage' src="https://example-site/value-is-blank.png" />

<b>Examples</b>
Key and value are often displayed next to or below to each other.

Key and value displayed in one line.
<img class='instructionsImage' src="https://example-site/sample-key-value-pair-1.png" />

Key and value displayed in two lines.
<img class='instructionsImage' src="https://example-site/sample-key-value-pair-2.png" />

If the content of the value has multiple lines, enter all the text without a line break. Include all value text even if it extends beyond the highlight box.
<img class='instructionsImage' src="https://assets.crowd.aws/images/a2i-console/multiple-lines.png" /></p>
    </short-instructions>

    <full-instructions header="Instructions"></full-instructions>
  </crowd-textract-analyze-document>
</crowd-form>
```

## Exemple de modèle personnalisé pour Amazon Rekognition
<a name="a2i-custom-templates-rekognition-sample"></a>

Tous les modèles personnalisés commencent et se terminent par les éléments `<crowd-form> </crowd-form>`. Comme les éléments `<form>` HTML standard, l'ensemble de votre code de formulaire doit figurer entre ces éléments. Pour un modèle de tâche personnalisée Amazon Rekognition, utilisez l'élément `<crowd-rekognition-detect-moderation-labels>`. Cet élément prend en charge les attributs suivants : 
+ `categories` - Un tableau de chaînes *ou* un tableau d'objets où chaque objet comporte un champ `name`.
  + Si les catégories sont fournies sous la forme d’objets, ce qui suit s’applique :
    + Les catégories affichées correspondent à la valeur du champ `name`. 
    + La réponse renvoyée contient les objets *complets* de toutes les catégories sélectionnées.
  + Si les catégories sont fournies sous la forme de chaînes, ce qui suit s’applique :
    + La réponse renvoyée est un tableau de toutes les chaînes qui ont été sélectionnées.
+ `exclusion-category` - En définissant cet attribut, vous créez un bouton sous les catégories de l'UI. Lorsqu'un utilisateur sélectionne le bouton, toutes les catégories sont désélectionnées et désactivées. Si l'employé sélectionne à nouveau le bouton, vous réautorisez les utilisateurs à choisir des catégories. Si l'employé envoie la tâche en sélectionnant le bouton **Submit (Envoyer)** après que vous ayez sélectionné le bouton, cette tâche renvoie un tableau vide.

Deux régions doivent être utilisées comme enfants de l'élément `<crowd-rekognition-detect-moderation-labels>`.
+ `<full-instructions>` : instructions disponibles à partir du lien **Afficher les instructions complètes** de l’outil. Vous pouvez laisser ce champ vide, mais nous vous recommandons de fournir des instructions complètes pour obtenir de meilleurs résultats.
+ `<short-instructions>` - Brève description de la tâche qui apparaît dans la barre latérale de l'outil. Vous pouvez laisser ce champ vide, mais nous vous recommandons de fournir des instructions complètes pour obtenir de meilleurs résultats.

Un modèle utilisant ces éléments ressemblerait au modèle suivant.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
{% capture s3_uri %}http://s3.amazonaws.com/{{ task.input.aiServiceRequest.image.s3Object.bucket }}/{{ task.input.aiServiceRequest.image.s3Object.name }}{% endcapture %}

<crowd-form>
  <crowd-rekognition-detect-moderation-labels
    categories='[
      {% for label in task.input.selectedAiServiceResponse.moderationLabels %}
        {
          name: "{{ label.name }}",
          parentName: "{{ label.parentName }}",
        },
      {% endfor %}
    ]'
    src="{{ s3_uri | grant_read_access }}"
    header="Review the image and choose all applicable categories."
  >
    <short-instructions header="Instructions">
      <style>
        .instructions {
          white-space: pre-wrap;
        }
      </style>
      <p class='instructions'>Review the image and choose all applicable categories.
If no categories apply, choose None.

<b>Nudity</b>
Visuals depicting nude male or female person or persons

<b>Graphic Male Nudity</b>
Visuals depicting full frontal male nudity, often close ups

<b>Graphic Female Nudity</b>
Visuals depicting full frontal female nudity, often close ups

<b>Sexual Activity</b>
Visuals depicting various types of explicit sexual activities and pornography

<b>Illustrated Nudity or Sexual Activity</b>
Visuals depicting animated or drawn sexual activity, nudity, or pornography

<b>Adult Toys</b>
Visuals depicting adult toys, often in a marketing context

<b>Female Swimwear or Underwear</b>
Visuals depicting female person wearing only swimwear or underwear

<b>Male Swimwear Or Underwear</b>
Visuals depicting male person wearing only swimwear or underwear

<b>Partial Nudity</b>
Visuals depicting covered up nudity, for example using hands or pose

<b>Revealing Clothes</b>
Visuals depicting revealing clothes and poses, such as deep cut dresses

<b>Graphic Violence or Gore</b>
Visuals depicting prominent blood or bloody injuries

<b>Physical Violence</b>
Visuals depicting violent physical assault, such as kicking or punching

<b>Weapon Violence</b>
Visuals depicting violence using weapons like firearms or blades, such as shooting

<b>Weapons</b>
Visuals depicting weapons like firearms and blades

<b>Self Injury</b>
Visuals depicting self-inflicted cutting on the body, typically in distinctive patterns using sharp objects

<b>Emaciated Bodies</b>
Visuals depicting extremely malnourished human bodies

<b>Corpses</b>
Visuals depicting human dead bodies

<b>Hanging</b>
Visuals depicting death by hanging</p>
    </short-instructions>

    <full-instructions header="Instructions"></full-instructions>
  </crowd-rekognition-detect-moderation-labels>
</crowd-form>
```

## Ajout d’automatisation avec Liquid
<a name="a2i-custom-templates-step2-automate"></a>

Notre système de modèle personnalisé utilise [Liquid](https://shopify.github.io/liquid/) pour l'automatisation. *Liquid* est un langage de balisage open source en ligne. Pour plus d’informations et accéder à la documentation, consultez la [page d’accueil de Liquid](https://shopify.github.io/liquid/).

Dans Liquid, le texte entre accolades simples et symboles de pourcentage est une instruction ou *balise* qui exécute une opération telle qu'un flux de contrôle ou une itération. Le texte entre accolades doubles est une variable ou un *objet* qui génère sa valeur. La liste suivante comprend deux types de balises Liquid qui peuvent être utiles pour automatiser le traitement des données d'entrée de modèle. La sélection de l'un des types de balises suivants, vous redirige vers la documentation Liquid.
+ [Contrôle de flux](https://shopify.github.io/liquid/tags/control-flow/) : inclut des opérateurs logiques de programmation tels que `if/else`, `unless` et`case/when`.
+ [Itération](https://shopify.github.io/liquid/tags/iteration/) : vous permet d'exécuter des blocs de code de façon répétée en utilisant des instructions comme pour les boucles.

  Par exemple, l'exemple de code suivant illustre la façon dont vous pouvez utiliser la balise Liquid `for` pour créer une boucle `for`. Cet exemple exécute une boucle sur les [https://docs.aws.amazon.com/rekognition/latest/dg/API_ModerationLabel.html](https://docs.aws.amazon.com/rekognition/latest/dg/API_ModerationLabel.html) retournées par Amazon Rekognition et affiche les attributs `moderationLabels` `name` et `parentName` que les employés doivent vérifier :

  ```
   {% for label in task.input.selectedAiServiceResponse.moderationLabels %}
      {
        name: &quot;{{ label.name }}&quot;,
        parentName: &quot;{{ label.parentName }}&quot;,
      },
   {% endfor %}
  ```

### Utilisation de filtres de variables
<a name="a2i-custom-templates-step2-automate-filters"></a>

En plus des [filtres Liquid](https://shopify.github.io/liquid/filters/abs/) et des actions standard, l’IA augmentée d’Amazon (Amazon A2I) propose des filtres supplémentaires. Vous appliquez des filtres en plaçant une barre verticale (`|`) après le nom de la variable, puis en spécifiant un nom de filtre. Pour enchaîner des filtres, utilisez le format suivant.

**Example**  

```
{{ <content> | <filter> | <filter> }}
```

#### Échappement automatique et échappement explicite
<a name="a2i-custom-templates-step2-automate-filters-autoescape"></a>

Par défaut, les entrées sont placées dans une séquence d'échappement HTML pour éviter toute confusion entre le texte de votre variable et le code HTML. Vous pouvez ajouter explicitement le filtre `escape` afin que les personnes qui lisent la source de votre modèle comprennent qu'il s'agit d'un échappement.

#### escape\$1once
<a name="a2i-custom-templates-step2-automate-escapeonce"></a>

`escape_once` s'assure que votre code ne sera pas placé dans une seconde séquence d'échappement alors qu'il l'est déjà. Il s'assure, par exemple, que `&amp;amp;` ne devienne pas `&amp;`.

#### skip\$1autoescape
<a name="a2i-custom-templates-step2-automate-skipautoescape"></a>

`skip_autoescape` est utile si votre contenu est destiné à être utilisé en tant que code HTML. Par exemple, vous pouvez avoir quelques paragraphes de texte et des images dans les instructions complètes d’un cadre de délimitation.

**Note**  
Utilisez `skip_autoescape` avec modération. À titre de bonne pratique pour les modèles, évitez de transmettre du code fonctionnel ou du balisage avec `skip_autoescape`, sauf si vous êtes absolument certain que vous maîtrisez parfaitement ce qui est transmis. Si vous transmettez l'entrée d'un utilisateur, vous risquez d'exposer vos employés à une attaque de script intersite.

#### to\$1json
<a name="a2i-custom-templates-step2-automate-tojson"></a>

`to_json`code les données que vous fournissez à JavaScript Object Notation (JSON). Si vous fournissez un objet, il le sérialise.

#### grant\$1read\$1access
<a name="a2i-custom-templates-step2-automate-grantreadaccess"></a>

`grant_read_access` prend un URI Amazon Simple Storage Service (Amazon S3) et l'encode dans une URL HTTPS avec un jeton d'accès de courte durée pour cette ressource. Cela permet de montrer des objets photo, audio ou vidéo stockés dans des compartiments S3 qui ne sont pas autrement accessibles publiquement aux employés.

#### s3\$1presign
<a name="a2i-custom-templates-step2-automate-s3"></a>

 Le filtre `s3_presign` fonctionne de la même manière que le filtre `grant_read_access`. `s3_presign` prend un URI Amazon S3 et l’encode dans une URL HTTPS avec un jeton d’accès de courte durée pour cette ressource. Cela permet de montrer des objets photo, audio ou vidéo stockés dans des compartiments S3 qui ne sont pas autrement accessibles publiquement aux employés.

**Example Exemple de filtres de variables**  
Input  

```
auto-escape: {{ "Have you read 'James & the Giant Peach'?" }}
explicit escape: {{ "Have you read 'James & the Giant Peach'?" | escape }}
explicit escape_once: {{ "Have you read 'James &amp; the Giant Peach'?" | escape_once }}
skip_autoescape: {{ "Have you read 'James & the Giant Peach'?" | skip_autoescape }}
to_json: {{ jsObject | to_json }}                
grant_read_access: {{ "s3://amzn-s3-demo-bucket/myphoto.png" | grant_read_access }}
s3_presign: {{ "s3://amzn-s3-demo-bucket/myphoto.png" | s3_presign }}
```

**Example**  
Output  

```
auto-escape: Have you read &#39;James &amp; the Giant Peach&#39;?
explicit escape: Have you read &#39;James &amp; the Giant Peach&#39;?
explicit escape_once: Have you read &#39;James &amp; the Giant Peach&#39;?
skip_autoescape: Have you read 'James & the Giant Peach'?
to_json: { "point_number": 8, "coords": [ 59, 76 ] }
grant_read_access: https://s3.amazonaws.com/amzn-s3-demo-bucket/myphoto.png?<access token and other params>
s3_presign: https://s3.amazonaws.com/amzn-s3-demo-bucket/myphoto.png?<access token and other params>
```

**Example Exemple de modèle de classification automatique.**  
Pour automatiser cet exemple de classification de texte simple, incluez la balise Liquid `{{ task.input.source }}`. Cet exemple utilise l'élément [crowd-classifier](sms-ui-template-crowd-classifier.md).  

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
  <crowd-classifier 
    name="tweetFeeling"
    categories="['positive', 'negative', 'neutral', 'cannot determine']"
    header="Which term best describes this tweet?" 
  >
    <classification-target>
       {{ task.input.source }}
    </classification-target>

    <full-instructions header="Analyzing a sentiment">
      Try to determine the feeling the author 
      of the tweet is trying to express. 
      If none seems to match, choose "other."
    </full-instructions>

    <short-instructions>
      Pick the term that best describes the sentiment 
      of the tweet. 
    </short-instructions>

  </crowd-classifier>
</crowd-form>
```

## Aperçu d'un modèle de tâche d'employé
<a name="a2i-preview-your-custom-template"></a>

Pour prévisualiser un modèle de tâches de travail personnalisé, utilisez l'`RenderUiTemplate`opération SageMaker AI. Vous pouvez utiliser l'`RenderUiTemplate`opération avec le SDK AWS CLI ou votre AWS SDK préféré. Pour obtenir de la documentation sur le langage pris en SDKs charge spécifique à cette opération d'API, consultez la [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html#API_RenderUiTemplate_SeeAlso](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html#API_RenderUiTemplate_SeeAlso)section du [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html). 

**Conditions préalables**

Pour prévisualiser votre modèle de tâche de travail, le rôle Gestion des identités et des accès AWS (IAM) Amazon Resource Name (ARN) ou `RoleArn` « Amazon Resource Name » (ARN) que vous utilisez doit être autorisé à accéder aux objets S3 utilisés par le modèle. Pour savoir comment configurer votre rôle ou votre utilisateur, consultez [Activation des aperçus du modèle de tâche d’employé](a2i-permissions-security.md#permissions-for-worker-task-templates-augmented-ai).

**Pour afficher un aperçu de votre modèle de tâche d'employé à l'aide de l'opération `RenderUiTemplate` :**

1. Fournissez un **`RoleArn`** du rôle avec les stratégies requises jointes pour afficher un aperçu de votre modèle personnalisé. 

1. Dans le paramètre **`Input`** de **`Task`**, fournissez un objet JSON contenant des valeurs pour les variables définies dans le modèle. Il s'agit des variables qui sont substituées à la variable `task.input.source`. Par exemple, si vous définissez une variable task.input.text dans votre modèle, vous pouvez fournir la variable dans l'objet JSON sous la forme `text` : `sample text`.

1. Dans le paramètre **`Content`** de **`UiTemplate`**, insérez votre modèle.

Après aoir configuré `RenderUiTemplate`, utilisez votre kit SDK préféré ou la AWS CLI pour envoyer une demande de rendu de votre modèle. Si votre demande a réussi, la réponse comprendra [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html#API_RenderUiTemplate_ResponseSyntax](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html#API_RenderUiTemplate_ResponseSyntax), un modèle Liquid qui rend le code HTML de l'UI d'employé.

**Important**  
Pour prévisualiser votre modèle, vous avez besoin d'un rôle IAM disposant d'autorisations pour lire des objets Amazon S3 qui sont rendus sur votre interface utilisateur. Pour obtenir un exemple de stratégie que vous pouvez attacher à votre rôle IAM pour accorder ces autorisations, consultez [Activation des aperçus du modèle de tâche d’employé](a2i-permissions-security.md#permissions-for-worker-task-templates-augmented-ai). 

# Créer de bonnes instructions de travail
<a name="a2i-creating-good-instructions-guide"></a>

La création de bonnes instructions pour vos tâches de vérification humaine permet à votre employé d'accomplir sa tâche de façon précise. Vous pouvez modifier les instructions par défaut fournies dans la console lors de la création d'un flux de vérification humaine, ou vous pouvez utiliser la console pour créer un modèle d'employé personnalisé et inclure vos instructions dans ce modèle. Les instructions sont montrées à l'employé sur la page d'interface utilisateur d'étiquetage des tâches.

## Créer des instructions de travail efficaces
<a name="a2i-good-instructions-console"></a>

Il existe trois types d'instructions dans la console Amazon Augmented AI :
+ **Description de la tâche** - La description doit fournir une explication succincte de la tâche.
+ **Instructions** - Ces instructions s'affichent sur la même page web que celle où les employés accomplissent une tâche. Ces instructions doivent fournir une référence facile pour montrer à l'employé comment réaliser correctement une tâche.
+ **Instructions supplémentaires** - Ces instructions s'affichent dans une boîte de dialogue qui apparaît lorsqu'un employé choisit **View full instructions (Afficher les instructions complètes)**. Nous vous recommandons de fournir des instructions détaillées pour exécuter la tâche avec plusieurs exemples illustrant les cas périphériques et d'autres situations difficiles pour étiqueter des objets.

## Ajouter des exemples d'images à vos instructions
<a name="sms-using-s3-images"></a>

Les images fournissent des exemples utiles pour vos programmes exécutants. Pour ajouter une image publiquement accessible à vos instructions :

1. Placez le curseur où l'image doit aller dans l'éditeur d'instructions.

1. Cliquez sur l'icône d'image dans la barre d'outils de l'éditeur.

1. Saisissez l'URL de votre image.

Si votre image d'instruction se trouve dans un compartiment S3 qui n'est pas accessible au public, procédez comme suit :
+ Pour l'URL de l'image, saisissez : `{{ 'https://s3.amazonaws.com/your-bucket-name/image-file-name' | grant_read_access }}`.

Ceci offre à l'URL de l'image un code d'accès unique à courte durée afin que le navigateur de l'utilisateur puisse l'afficher. Une icône d'image rompue est affichée dans l'éditeur d'instructions, mais l'affichage d'un aperçu de l'outil permet d'afficher l'image dans l'aperçu rendu. Veuillez consulter [s3\$1presigngrant\$1read\$1accesss3\$1presign](a2i-custom-templates.md#a2i-custom-templates-step2-automate-grantreadaccess) pour de plus amples informations sur l'élément `grand_read_access`. 

# Surveillance et gestion de votre boucle humaine
<a name="a2i-monitor-humanloop-results"></a>

Une fois que vous avez démarré une boucle de vérification humaine, vous pouvez vérifier les résultats de taches envoyées à la boucle et les gérer à l'aide de l'[API d'exécution Amazon Augmented AI](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/Welcome.html). En outre, Amazon A2I s'intègre à Amazon EventBridge (également appelé Amazon CloudWatch Events) pour vous alerter lorsque l’état d'une boucle de vérification humaine passe à `Completed`, `Failed` ou `Stopped`. Cette livraison d'événements est garantie au moins une fois, de sorte que tous les événements créés à la fin des boucles humaines sont livrés avec succès à EventBridge.

Utilisez les procédures ci-dessous pour apprendre à utiliser l'API d'exécution Amazon A2I pour contrôler et gérer vos boucles humaines. Veuillez consulter [Utilisation Amazon CloudWatch Events dans Amazon Augmented AI](a2i-cloudwatch-events.md) pour savoir comment Amazon A2I s'intègre à Amazon EventBridge.

**Pour vérifier vos données de sortie :**

1. Vérifiez les résultats de votre boucle humaine en appelant l'opération [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DescribeHumanLoop.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DescribeHumanLoop.html). Le résultat de cette opération d'API contient des informations sur le motif et le résultat de l'activation de la boucle.

1. Vérifiez les données de sortie de votre boucle humaine dans Amazon Simple Storage Service (Amazon S3). Dans le chemin d'accès aux données, `YYYY/MM/DD/hh/mm/ss` représente la date de création de la boucle humaine avec l'année (`YYYY`), le mois (`MM`) et le jour (`DD`), ainsi que l'heure de création avec l'heure (`hh`), les minutes (`mm`) et les secondes (`ss`). 

   ```
   s3://customer-output-bucket-specified-in-flow-definition/flow-definition-name/YYYY/MM/DD/hh/mm/ss/human-loop-name/output.json
   ```

Vous pouvez intégrer cette structure à AWS Glue ou Amazon Athena pour partitionner et analyser vos données de sortie. Pour de plus amples informations, veuillez consulter [Managing Partitions for ETL Output in (Gestion des partitions pour la sortie ETL dans) AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-partitions.html).

Pour en savoir plus sur le format de données de sortie Amazon A2I, veuillez consulter [Données de sortie Amazon A2I](a2i-output-data.md).

**Pour arrêter et supprimer votre boucle humaine :**

1. Une fois qu'une boucle humaine a été démarrée, vous pouvez l'arrêter en appelant l'opération [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StopHumanLoop.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StopHumanLoop.html) en utilisant `HumanLoopName`. Si une boucle humaine a été arrêtée avec succès, le serveur renvoie une réponse HTTP 200. 

1. Pour supprimer une boucle humaine dont l'état est `Failed`, `Completed` ou `Stopped`, utilisez l'opération [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DeleteHumanLoop.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DeleteHumanLoop.html). 

**Pour répertorier les boucles humaines :**

1. Vous pouvez répertorier toutes les boucles humaines actives en appelant l'opération [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_ListHumanLoops.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_ListHumanLoops.html). Vous pouvez filtrer les boucles humaines par date de création de la boucle en utilisant les paramètres `CreationTimeAfter` et `CreateTimeBefore`. 

1. En cas de réussite, `ListHumanLoops` renvoit les objets [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopSummary.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_HumanLoopSummary.html) et `NextToken` dans l'élément de réponse. `HumanLoopSummaries` contient des informations relatives à une boucle humaine unique. Par exemple, il répertorie l'état d'une boucle et, le cas échéant, la raison de son échec. 

   Utilisez la chaîne renvoyée dans `NextToken` en tant qu'entrée dans un appel ultérieur à `ListHumanLoops` pour voir la page suivante des boucles humaines. 

# Données de sortie Amazon A2I
<a name="a2i-output-data"></a>

Lorsque votre flux de machine learning envoie un objet de données à Amazon A2I, une *boucle humaine* est créée et les vérificateurs humains reçoivent une *tâche* de vérification de cet objet de données. Les données de sortie de chaque tâche de vérification humaine sont stockées dans le compartiment de sortie Amazon Simple Storage Service (Amazon S3) que vous spécifiez dans votre flux de vérification humaine. Dans le chemin d'accès aux données, `YYYY/MM/DD/hh/mm/ss` représente la date de création de la boucle humaine avec l'année (`YYYY`), le mois (`MM`) et le jour (`DD`), ainsi que l'heure de création avec l'heure (`hh`), les minutes (`mm`) et les secondes (`ss`). 

```
s3://customer-output-bucket-specified-in-flow-definition/flow-definition-name/YYYY/MM/DD/hh/mm/ss/human-loop-name/output.json
```

Le contenu de vos données de sortie dépend du [type de tâche](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-task-types-general.html) (intégré ou personnalisé) et du type de [main-d'œuvre](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management.html) que vous utilisez. Vos données de sortie incluent toujours la réponse de l'employé humain. En outre, les données en sortie peuvent inclure des métadonnées sur la boucle humaine, le vérificateur humain (employé) et l'objet de données. 

Consultez les sections suivantes pour en savoir plus sur le format des données de sortie Amazon A2I selon les différents types de tâches et de main-d’œuvre. 

## Données de sortie à partir de types de tâches intégrés
<a name="sms-output-data-textract"></a>

Les types de tâches intégrés Amazon A2I incluent Amazon Textract et Amazon Rekognition. En plus des réponses humaines, les données de sortie de l'une de ces tâches incluent des détails sur la raison de la création de la boucle humaine et des informations sur le service intégré utilisé pour la créer. Consultez le tableau suivant pour en savoir plus sur le schéma des données de sortie de tous les types de tâches intégrés. La *valeur* de chacun de ces paramètres dépend du service que vous utilisez avec Amazon A2I. Reportez-vous au second tableau de cette section pour plus d'informations sur ces valeurs spécifiques au service. 


****  

| Paramètre | Type de valeur | Exemple de valeurs | Description | 
| --- | --- | --- | --- | 
| awsManagedHumanLoopRequestSource |  String  | AWS/Rekognition/DetectModerationLabels/Image/V3 ou AWS/Textract/AnalyzeDocument/Forms/V1 | L'opération d'API et les AWS services associés qui ont demandé à Amazon A2I de créer une boucle humaine. Il s'agit de l'opération d’API que vous utilisez pour configurer votre boucle humaine Amazon A2I. | 
| flowDefinitionArn |  String  | arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name |  Amazon Resource Number (ARN) du flux de vérification humaine (définition de flux) utilisé pour créer la boucle humaine.   | 
| humanAnswers |  Liste d’objets JSON  | <pre>{<br />"answerContent": {<br />    "AWS/Rekognition/DetectModerationLabels/Image/V3": {<br />        "moderationLabels": [...]<br />    }<br />},</pre> or<pre>{<br />    "answerContent": {<br />        "AWS/Textract/AnalyzeDocument/Forms/V1": {<br />            "blocks": [...]<br />    }<br />},</pre> | Liste d'objets JSON qui contiennent des réponses d’employé dans answerContent. Cet objet contient également des détails d’envoi et, si une main-d’œuvre privée a été utilisée, des métadonnées d’employé. Pour en savoir plus, veuillez consulter la section [Suivi de l'activité des employés](#a2i-worker-id-private). Pour les données de sortie de boucle humaine produites à partir des tâches de vérification `DetectModerationLabel` Amazon Rekognition, ce paramètre ne contient que des réponses positives. Par exemple, si les employés sélectionnent *Aucun contenu*, cette réponse n'est pas incluse. | 
| humanLoopName |  String  |  `'human-loop-name'`  | Nom de la boucle humaine. | 
| inputContent |  Objet JSON  |  <pre>{<br />    "aiServiceRequest": {...},<br />    "aiServiceResponse": {...},<br />    "humanTaskActivationConditionResults": {...},<br />    "selectedAiServiceResponse": {...}<br />}</pre>  |  Le contenu d'entrée que le AWS service a envoyé à Amazon A2I lorsqu'il a demandé la création d'une boucle humaine.   | 
| aiServiceRequest |  Objet JSON  | <pre>{<br />    "document": {...},<br />    "featureTypes": [...],<br />    "humanLoopConfig": {...}<br />}</pre>or <pre>{<br />    "image": {...},<br />    "humanLoopConfig": {...}<br />}</pre> |  La demande initiale envoyée au AWS service intégré à Amazon A2I. Par exemple, si vous utilisez Amazon Rekognition avec Amazon A2I, cela inclut la demande effectuée via l'opération d’API `DetectModerationLabels`. Pour les intégrations Amazon Textract, cela inclut la demande effectuée via `AnalyzeDocument`.  | 
| aiServiceResponse |  Objet JSON  |  <pre>{<br />    "moderationLabels": [...],<br />    "moderationModelVersion": "3.0"<br />}</pre> or <pre>{<br />    "blocks": [...],<br />    "documentMetadata": {}<br />}</pre>  |  La réponse complète du AWS service. Il s'agit des données utilisées pour déterminer si une vérification humaine est nécessaire. Cet objet peut contenir des métadonnées sur l'objet de données qui ne sont pas partagées avec des vérificateurs humains.   | 
| selectedAiServiceResponse |  Objet JSON  |  <pre>{<br />    "moderationLabels": [...],<br />    "moderationModelVersion": "3.0"<br />}</pre> or <pre>{<br />    "blocks": [...],<br />    "documentMetadata": {}<br />}</pre>  |  Le sous-ensemble du module `aiServiceResponse` qui correspond aux conditions d'activation dans`ActivationConditions`. Tous les objets de données répertoriés dans `aiServiceResponse` sont répertoriés dans `selectedAiServiceResponse` lorsque les inférences sont échantillonnées au hasard, ou que toutes les inférences ont initié des conditions d'activation.  | 
| humanTaskActivationConditionResults |  Objet JSON  |  <pre>{<br />     "Conditions": [...]<br />}</pre>  |  Un objet JSON dans `inputContent` qui contient la raison de la création d’une boucle humaine. Cela inclut une liste des conditions d'activation (`Conditions`) incluses dans votre flux de vérification humaine (définition de flux), ainsi que le résultat de l'évaluation pour chaque condition. Ce résultat est `true` ou `false`. Pour en savoir plus sur les conditions d'activation, veuillez consulter [Schéma JSON pour les conditions d’activation de boucle humaine dans l’IA augmentée d’Amazon](a2i-human-fallback-conditions-json-schema.md).  | 

Dans le tableau suivant, sélectionnez un onglet pour en savoir plus sur les paramètres spécifiques au type de tâche et voir un exemple de bloc de code de données de sortie pour chacun des types de tâches intégrés.

------
#### [ Amazon Textract Task Type Output Data ]

Lorsque vous utilisez l'intégration intégrée Amazon Textract, vous voyez `'AWS/Textract/AnalyzeDocument/Forms/V1'` comme valeur de `awsManagedHumanLoopRequestSource` dans vos données de sortie.

Le paramètre `answerContent` contient un objet `Block` qui inclut des réponses humaines pour tous les blocs envoyés à Amazon A2I.

Le paramètre `aiServiceResponse` inclut également un objet `Block` avec la réponse d'Amazon Texttract à la demande d'origine envoyée à l'aide de `AnalyzeDocument`.

Pour en savoir plus sur les paramètres que vous voyez dans l'objet bloc, reportez-vous à [Block (Bloc)](https://docs.aws.amazon.com/textract/latest/dg/API_Block.html) dans le *Guide du développeur Amazon Textract*. 

Voici un exemple de données de sortie provenant d'une vérification humaine Amazon A2I des inférences d'analyse de documents Amazon Textract. 

```
{
    "awsManagedHumanLoopRequestSource": "AWS/Textract/AnalyzeDocument/Forms/V1",
    "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
    "humanAnswers": [
        {
            "answerContent": {
                "AWS/Textract/AnalyzeDocument/Forms/V1": {
                    "blocks": [...]
                }
            },
            "submissionTime": "2020-09-28T19:17:59.880Z",
            "workerId": "111122223333",
            "workerMetadata": {
                "identityData": {
                    "identityProviderType": "Cognito",
                    "issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_111111",
                    "sub": "c6aa8eb7-9944-42e9-a6b9-111122223333"
                }
            }
        }
    ],
    "humanLoopName": "humnan-loop-name",
    "inputContent": {
        "aiServiceRequest": {
            "document": {
                "s3Object": {
                    "bucket": "amzn-s3-demo-bucket1",
                    "name": "document-demo.jpg"
                }
            },
            "featureTypes": [
                "TABLES",
                "FORMS"
            ],
            "humanLoopConfig": {
                "dataAttributes": {
                    "contentClassifiers": [
                        "FreeOfPersonallyIdentifiableInformation"
                    ]
                },
                "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
                "humanLoopName": "humnan-loop-name"
            }
        },
        "aiServiceResponse": {
            "blocks": [...],
            "documentMetadata": {
                "pages": 1
            }
        },
        "humanTaskActivationConditionResults": {
            "Conditions": [
                {
                    "EvaluationResult": true,
                    "Or": [
                        {
                            "ConditionParameters": {
                                "ImportantFormKey": "Mail address",
                                "ImportantFormKeyAliases": [
                                    "Mail Address:",
                                    "Mail address:",
                                    "Mailing Add:",
                                    "Mailing Addresses"
                                ],
                                "KeyValueBlockConfidenceLessThan": 100,
                                "WordBlockConfidenceLessThan": 100
                            },
                            "ConditionType": "ImportantFormKeyConfidenceCheck",
                            "EvaluationResult": true
                        },
                        {
                            "ConditionParameters": {
                                "ImportantFormKey": "Mail address",
                                "ImportantFormKeyAliases": [
                                    "Mail Address:",
                                    "Mail address:",
                                    "Mailing Add:",
                                    "Mailing Addresses"
                                ]
                            },
                            "ConditionType": "MissingImportantFormKey",
                            "EvaluationResult": false
                        }
                    ]
                }
            ]
        },
        "selectedAiServiceResponse": {
            "blocks": [...]
        }
    }
}
```

------
#### [ Amazon Rekognition Task Type Output Data ]

Lorsque vous utilisez l'intégration intégrée Amazon Textract, vous voyez la chaîne `'AWS/Rekognition/DetectModerationLabels/Image/V3'` comme valeur de `awsManagedHumanLoopRequestSource` dans vos données de sortie.

Le paramètre `answerContent` contient un objet `moderationLabels` qui inclut des réponses humaines pour toutes les étiquettes de modération envoyées à Amazon A2I.

Le paramètre `aiServiceResponse` inclut également un objet `moderationLabels` avec la réponse d'Amazon Texttract à la demande d'origine envoyée à l'aide de `DetectModerationLabels`.

Pour en savoir plus sur les paramètres que vous voyez dans l'objet de bloc, consultez le manuel Amazon Rekognition Developer Guide. [ModerationLabel](https://docs.aws.amazon.com/rekognition/latest/dg/API_ModerationLabel.html) 

Voici un exemple de données de sortie provenant d'une vérification humaine Amazon A2I des inférences d'analyse d’image Amazon Rekognition. 

```
{
    "awsManagedHumanLoopRequestSource": "AWS/Rekognition/DetectModerationLabels/Image/V3",
    "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
    "humanAnswers": [
        {
            "answerContent": {
                "AWS/Rekognition/DetectModerationLabels/Image/V3": {
                    "moderationLabels": [...]
                }
            },
            "submissionTime": "2020-09-28T19:22:35.508Z",
            "workerId": "ef7294f850a3d9d1",
            "workerMetadata": {
                "identityData": {
                    "identityProviderType": "Cognito",
                    "issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_111111",
                    "sub": "c6aa8eb7-9944-42e9-a6b9-111122223333"
                }
            }
        }
    ],
    "humanLoopName": "humnan-loop-name",
    "inputContent": {
        "aiServiceRequest": {
            "humanLoopConfig": {
                "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
                "humanLoopName": "humnan-loop-name"
            },
            "image": {
                "s3Object": {
                    "bucket": "amzn-s3-demo-bucket1",
                    "name": "example-image.jpg"
                }
            }
        },
        "aiServiceResponse": {
            "moderationLabels": [...],
            "moderationModelVersion": "3.0"
        },
        "humanTaskActivationConditionResults": {
            "Conditions": [
                {
                    "EvaluationResult": true,
                    "Or": [
                        {
                            "ConditionParameters": {
                                "ConfidenceLessThan": 98,
                                "ModerationLabelName": "Suggestive"
                            },
                            "ConditionType": "ModerationLabelConfidenceCheck",
                            "EvaluationResult": true
                        },
                        {
                            "ConditionParameters": {
                                "ConfidenceGreaterThan": 98,
                                "ModerationLabelName": "Female Swimwear Or Underwear"
                            },
                            "ConditionType": "ModerationLabelConfidenceCheck",
                            "EvaluationResult": false
                        }
                    ]
                }
            ]
        },
        "selectedAiServiceResponse": {
            "moderationLabels": [
                {
                    "confidence": 96.7122802734375,
                    "name": "Suggestive",
                    "parentName": ""
                }
            ],
            "moderationModelVersion": "3.0"
        }
    }
}
```

------

## Données de sortie à partir de types de tâches personnalisés
<a name="sms-output-data-custom"></a>

Lorsque vous ajoutez Amazon A2I à un flux de vérification humaine personnalisé, les paramètres suivants s'affichent dans les données de sortie renvoyées par les tâches de vérification humaine. 


****  

| Paramètre | Type de valeur | Description | 
| --- | --- | --- | 
|  `flowDefinitionArn`  |  String  |  Amazon Resource Number (ARN) du flux de vérification humaine (définition de flux) utilisé pour créer la boucle humaine.   | 
|  `humanAnswers`  |  Liste d’objets JSON  | Liste d'objets JSON qui contiennent des réponses d’employé dans answerContent. La valeur de ce paramètre est déterminée par la sortie reçue de votre [Modèle de tâche d’employé](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-instructions-overview.html). Si vous utilisez une main-d'œuvre privée, les métadonnées d'employé sont incluses. Pour en savoir plus, veuillez consulter la section [Suivi de l'activité des employés](#a2i-worker-id-private). | 
|  `humanLoopName`  | String | Nom de la boucle humaine. | 
|  `inputContent`  |  Objet JSON  |  Le contenu d'entrée envoyé à Amazon A2I dans la demande à [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StartHumanLoop.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StartHumanLoop.html).  | 

Voici un exemple de données de sortie provenant d'une intégration personnalisée avec Amazon A2I et Amazon Transcribe. Dans cet exemple, le paramètre `inputContent` comprend :
+ Un chemin vers un fichier .mp4 dans Amazon S3 et le titre de la vidéo
+ La transcription renvoyée par Amazon Transcribe (analysée à partir des données de sortie Amazon Transcribe)
+ Une heure de début et de fin utilisée par le modèle de tâche d'employé pour découper le fichier .mp4 et montrer aux employés une partie pertinente de la vidéo

```
{
    "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
    "humanAnswers": [
        {
            "answerContent": {
                "transcription": "use lambda to turn your notebook"
            },
            "submissionTime": "2020-06-18T17:08:26.246Z",
            "workerId": "ef7294f850a3d9d1",
            "workerMetadata": {
                "identityData": {
                    "identityProviderType": "Cognito",
                    "issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_111111",
                    "sub": "c6aa8eb7-9944-42e9-a6b9-111122223333"
                }
            }

        }
    ],
    "humanLoopName": "human-loop-name",
    "inputContent": {
        "audioPath": "s3://amzn-s3-demo-bucket1/a2i_transcribe_demo/Fully-Managed Notebook Instances with Amazon SageMaker - a Deep Dive.mp4",
        "end_time": 950.27,
        "original_words": "but definitely use Lambda to turn your ",
        "start_time": 948.51,
        "video_title": "Fully-Managed Notebook Instances with Amazon SageMaker - a Deep Dive.mp4"
    }
}
```

## Suivi de l'activité des employés
<a name="a2i-worker-id-private"></a>

Amazon A2I fournit des informations que vous pouvez utiliser pour suivre les employés individuels dans les données de sortie de la tâche. Pour identifier l’employé qui a travaillé sur la tâche de vérification humaine, utilisez les éléments suivants à partir des données de sortie d'Amazon S3 :
+ Le`acceptanceTime` est l'heure à laquelle l’employé a accepté la tâche. Le format de cette date et de cet horodatage est `YYYY-MM-DDTHH:MM:SS.mmmZ` pour l'année (`YYYY`), le mois (`MM`), le jour (`DD`), l’heure (`HH`), les minutes (`MM`), les secondes (`SS`) et les millisecondes (`mmm`). La date et l'heure sont séparées par un **T**. 
+ Le `submissionTime` est l'heure à laquelle l'employé a soumis ses annotations à l'aide du bouton **Envoyer**. Le format de cette date et de cet horodatage est `YYYY-MM-DDTHH:MM:SS.mmmZ` pour l'année (`YYYY`), le mois (`MM`), le jour (`DD`), l’heure (`HH`), les minutes (`MM`), les secondes (`SS`) et les millisecondes (`mmm`). La date et l'heure sont séparées par un **T**. 
+ `timeSpentInSeconds` indique la durée totale, en secondes, pendant laquelle un employé a travaillé activement sur cette tâche. Cette métrique n’inclut pas l’heure à laquelle un employé s’est mis en pause ou a pris une pause.
+ Le `workerId` est unique à chaque employé. 
+ Si vous utilisez une [main-d’œuvre privée](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private.html), dans `workerMetadata`, vous voyez ce qui suit.
  + Le `identityProviderType` est le service utilisé pour gérer la main-d'œuvre privée. 
  + Le `issuer` est le groupe d’utilisateurs Amazon Cognito ou le diffuseur du fournisseur d’identité (IdP) OpenID Connect (OIDC), associé à l'équipe de travail affectée à cette tâche de vérification humaine.
  + Un `sub` identifiant unique fait référence à l’employé. Si vous créez une main-d'œuvre à l'aide d'Amazon Cognito, vous pouvez extraire des détails sur cet employé (par ex., son nom ou son nom d'utilisateur) associés à cet ID à l’aide d’Amazon Cognito. Pour savoir comment procéder, veuillez consulter [Managing and Searching for User Accounts (Gestion et recherche de comptes utilisateur)](https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-manage-user-accounts.html#manage-user-accounts-searching-user-attributes) dans le *[Guide du développeur Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/)*.

Voici un exemple de la sortie que vous pouvez voir si vous utilisez Amazon Cognito pour créer une main-d’œuvre privée. Ceci est identifié dans le `identityProviderType`.

```
"submissionTime": "2020-12-28T18:59:58.321Z",
"acceptanceTime": "2020-12-28T18:59:15.191Z", 
"timeSpentInSeconds": 40.543,
"workerId": "a12b3cdefg4h5i67",
"workerMetadata": {
    "identityData": {
        "identityProviderType": "Cognito",
        "issuer": "https://cognito-idp.aws-region.amazonaws.com/aws-region_123456789",
        "sub": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
    }
}
```

 Voici un exemple de la sortie que vous pouvez voir si vous utilisez votre propre IdP OIDC pour créer une main-d'œuvre privée :

```
"workerMetadata": {
        "identityData": {
            "identityProviderType": "Oidc",
            "issuer": "https://example-oidc-ipd.com/adfs",
            "sub": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
        }
}
```

Pour en savoir plus sur les mains d’œuvre privées, veuillez consulter [Main-d’œuvre privée](sms-workforce-private.md).

# Autorisations et sécurité dans Amazon Augmented AI
<a name="a2i-permissions-security"></a>

Lorsque vous utilisez Amazon Augmented AI (Amazon A2I) pour créer un flux de travail de révision humaine pour votre application ML/AI, vous créez et configurez des ressources *dans* Amazon SageMaker AI, telles qu'une main-d'œuvre humaine et des modèles de tâches de travail. Pour configurer et démarrer une boucle humaine, vous devez soit intégrer Amazon A2I à d'autres AWS services tels qu'Amazon Textract ou Amazon Rekognition, soit utiliser l'API Amazon Augmented AI Runtime. Pour créer un flux de travail de révision humaine et démarrer une boucle humaine, vous devez associer certaines politiques à votre rôle ou à votre utilisateur Gestion des identités et des accès AWS (IAM). En particulier : 
+ Lorsque vous démarrez une boucle humaine à l'aide de données d'entrée d'image le 12 janvier 2020 ou après, vous devez ajouter une stratégie d'en-tête CORS au compartiment Amazon S3 qui contient vos données d'entrée. Pour en savoir plus, consultez [Autorisations CORS requises](#a2i-cors-update). 
+ Lorsque vous créez une définition de flux, vous devez fournir un rôle qui accorde à Amazon A2I l'autorisation d'accéder à Amazon S3, tant pour lire les objets qui sont rendus dans une interface utilisateur de tâche humaine que pour écrire les résultats de la vérification humaine. 

  Ce rôle doit également être assorti d'une politique de confiance pour autoriser l' SageMaker IA à assumer le rôle. Cela permet à Amazon A2I d'exécuter des actions conformément aux autorisations qui sont attachées au rôle. 

  Consultez [Ajouter des autorisations au rôle IAM utilisé pour créer une définition de flux](#a2i-human-review-permissions-s3) pour obtenir des exemples de stratégies que vous pouvez modifier et attacher au rôle que vous utilisez pour créer une définition de flux. Il s'agit des politiques associées au rôle IAM créé dans la section **Human review workflows** de la zone Amazon A2I de la console SageMaker AI. 
+ Pour créer et démarrer des boucles humaines, vous utilisez soit une opération d'API à partir d'un type de tâche intégré (`DetectModerationLabel` ou `AnalyzeDocument`, par ex.), soit l'opération d'API d'exécution Amazon A2I `StartHumanLoop` dans une application ML personnalisée. Vous devez attacher la politique gérée `AmazonAugmentedAIFullAccess` à l'utilisateur qui appelle ces opérations d'API pour accorder à ces services l'autorisation d'utiliser des opérations Amazon A2I. Pour savoir comment procéder, consultez [Création d'un utilisateur pouvant appeler les opérations d'API Amazon A2I](#create-user-grants).

  Cette politique n'autorise *pas* l'appel des opérations d'API du AWS service associées aux types de tâches intégrés. Par exemple, `AmazonAugmentedAIFullAccess` n'accorde pas l'autorisation d'appeler l'opération d'API Amazon Rekognition `DetectModerationLabel` ou une opération d'API Amazon Textract `AnalyzeDocument`. Vous pouvez également utiliser la stratégie plus générale, `AmazonAugmentedAIIntegratedAPIAccess`, pour accorder ces autorisations. Pour de plus amples informations, veuillez consulter [Création d'un utilisateur disposant des autorisations requises pour appeler les opérations d'API Amazon A2I, Amazon Textract et Amazon Rekognition](#a2i-grant-general-permission). C'est une bonne option lorsque vous souhaitez accorder à un utilisateur des autorisations étendues pour utiliser les opérations d'API d'Amazon A2I et AWS des services intégrés. 

  Si vous voulez configurer des autorisations de façon plus précise, consultez [Amazon Rekognition Identity-Based Policy Examples (Exemples de stratégies basées sur l'identité Amazon Rekognition](https://docs.aws.amazon.com/rekognition/latest/dg/security_iam_id-based-policy-examples.html) et [Amazon Textract Identity-Based Policy Examples (Exemples de stratégies basées sur l'identité Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/security_iam_id-based-policy-examples.html) pour les stratégies basées sur l'identité que vous pouvez utiliser pour accorder l'autorisation d'utiliser ces services individuels.
+ Pour prévisualiser votre modèle d'interface utilisateur de tâche d'employé personnalisé, vous avez besoin d'un rôle IAM disposant d'autorisations de lecture d'objets Amazon S3 qui sont rendus sur votre interface utilisateur. Consultez un exemple de stratégie dans [Activation des aperçus du modèle de tâche d’employé](#permissions-for-worker-task-templates-augmented-ai).

**Topics**
+ [Autorisations CORS requises](#a2i-cors-update)
+ [Ajouter des autorisations au rôle IAM utilisé pour créer une définition de flux](#a2i-human-review-permissions-s3)
+ [Création d'un utilisateur pouvant appeler les opérations d'API Amazon A2I](#create-user-grants)
+ [Création d'un utilisateur disposant des autorisations requises pour appeler les opérations d'API Amazon A2I, Amazon Textract et Amazon Rekognition](#a2i-grant-general-permission)
+ [Activation des aperçus du modèle de tâche d’employé](#permissions-for-worker-task-templates-augmented-ai)
+ [Utilisation d'Amazon A2I avec des compartiments AWS KMS chiffrés](#a2i-kms-encryption)
+ [Autorisations supplémentaires et ressources de sécurité](#additional-security-resources-augmented-ai)

## Autorisations CORS requises
<a name="a2i-cors-update"></a>

Plus tôt en 2020, les navigateurs largement utilisés comme Chrome et Firefox ont changé leur comportement par défaut pour la rotation d'images en fonction de métadonnées d'image, que l'on appelle les [données EXIF](https://en.wikipedia.org/wiki/Exif). Auparavant, les images s'affichaient toujours dans les navigateurs de la façon exacte dont elles sont stockées sur le disque, c'est-à-dire généralement sans rotation. Après la modification, les images tournent désormais en fonction d'un élément de métadonnées d'image appelé *valeur d'orientation*. Cela impacte l'ensemble de la communauté du machine learning (ML). Par exemple, si l'orientation EXIF n'est pas prise en compte, les applications d'annotation d'images peuvent afficher des images dans des orientations inattendues et entraîner des étiquettes incorrectes. 

À partir de Chrome 89, il n'est plus AWS possible d'empêcher automatiquement la rotation des images, car le groupe de normes Web W3C a décidé que la possibilité de contrôler la rotation des images violait la politique du Web en matière de même origine. Par conséquent, pour garantir que les travailleurs humains annotent vos images d'entrée dans une orientation prévisible lorsque vous envoyez des demandes de création d'une boucle humaine, vous devez ajouter une stratégie d'en-tête CORS aux compartiments S3 qui contiennent vos images d'entrée.

**Important**  
Si vous n'ajoutez pas de configuration CORS aux compartiments S3 qui contiennent vos données d'entrée, les tâches de vérification humaine pour ces objets de données en entrée échouent.

Vous pouvez ajouter une stratégie CORS à un compartiment S3 qui contient des données d'entrée dans la console Amazon S3. Pour définir les en-têtes CORS requis dans le compartiment S3 qui contient vos images d'entrée dans la console S3, suivez les instructions détaillées dans [How do I add cross-domain resource sharing with CORS? (Comment ajouter le partage des ressources inter-domaines avec le partage CORS ?)](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-cors-configuration.html). Utilisez le code de configuration CORS suivant pour les compartiments qui hébergent vos images. Si vous utilisez la console Amazon S3 pour ajouter la stratégie à votre compartiment, vous devez utiliser le format JSON.

**JSON**

```
[{
   "AllowedHeaders": [],
   "AllowedMethods": ["GET"],
   "AllowedOrigins": ["*"],
   "ExposeHeaders": []
}]
```

**XML**

```
<CORSConfiguration>
 <CORSRule>
   <AllowedOrigin>*</AllowedOrigin>
   <AllowedMethod>GET</AllowedMethod>
 </CORSRule>
</CORSConfiguration>
```

Le fichier GIF suivant présente les instructions contenues dans la documentation Amazon S3 pour ajouter une stratégie d’en-tête CORS à l’aide de la console Amazon S3.

![\[Fichier GIF illustrant comment ajouter une stratégie d’en-tête CORS à l’aide de la console Amazon S3.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/sms/gifs/cors-config.gif)


## Ajouter des autorisations au rôle IAM utilisé pour créer une définition de flux
<a name="a2i-human-review-permissions-s3"></a>

Pour créer une définition de flux, associez les politiques de cette section au rôle que vous utilisez lors de la création d'un flux de travail de révision humain dans la console SageMaker AI ou lors de l'utilisation de l'opération `CreateFlowDefinition` API.
+ Si vous utilisez la console pour créer un flux de vérification humaine, entrez l'Amazon Resource Name (ARN) du rôle dans le champ **IAM role (Rôle IAM)** lors de la [création d'un flux de vérification humaine dans la console](https://docs.aws.amazon.com/sagemaker/latest/dg/create-human-review-console.html). 
+ Lorsque vous créez une définition de flux à l'aide de l'API, attachez ces stratégies au rôle transmis au paramètre `RoleArn` de l'opération `CreateFlowDefinition`. 

Lorsque vous créez un flux de vérification humaine (définition de flux), Amazon A2I appelle Amazon S3 pour terminer votre tâche. Pour accorder à Amazon A2I l'autorisation de récupérer et de stocker vos fichiers dans votre compartiment Amazon S3, créez la stratégie suivante et attachez-la à votre rôle. Par exemple, si les images, documents et autres fichiers que vous envoyez pour vérification humaine sont stockés dans un compartiment S3 nommé `my_input_bucket`, et que vous souhaitez que les vérifications humaines soient stockées dans un compartiment nommé `my_output_bucket`, vous devez créer la stratégie suivante. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::my_input_bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::my_output_bucket/*"
            ]
        }
    ]
}
```

------

En outre, le rôle IAM doit respecter la politique de confiance suivante pour autoriser l' SageMaker IA à assumer ce rôle. Pour en savoir plus sur les stratégies d’approbation IAM, consultez la section [Stratégies basées sur les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) de **Stratégies et autorisations** dans la documentation de *Gestion des identités et des accès AWS *.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowSageMakerToAssumeRole",
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

Pour plus d’informations sur la création et la gestion des rôles IAM et des stratégies, consultez les rubriques suivantes dans le *Guide de l’utilisateur Gestion des identités et des accès AWS * : 
+ Pour créer un rôle IAM, consultez [Création d’un rôle pour déléguer des autorisations à un utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html). 
+ Pour apprendre à créer des politiques IAM, consultez [Création de politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html). 
+ Pour apprendre à attacher une politique IAM à un rôle, consultez [Ajout et suppression d’autorisations basées sur l’identité IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

## Création d'un utilisateur pouvant appeler les opérations d'API Amazon A2I
<a name="create-user-grants"></a>

Pour utiliser Amazon A2I pour la création et le démarrage de boucles humaines pour Amazon Rekognition, Amazon Textract ou l'API d'exécution Amazon A2I, vous devez utiliser un utilisateur disposant des autorisations permettant d'appeler les opérations Amazon A2I. Pour ce faire, utilisez la console IAM pour attacher la politique gérée [https://console.aws.amazon.com/iam/home?region=us-east-2#/policies/arn:aws:iam::aws:policy/AmazonAugmentedAIFullAccess$jsonEditor](https://console.aws.amazon.com/iam/home?region=us-east-2#/policies/arn:aws:iam::aws:policy/AmazonAugmentedAIFullAccess$jsonEditor) à un utilisateur nouveau ou existant. 

Cette politique autorise un utilisateur à invoquer des opérations d'API à partir de l' SageMaker API pour la création et la gestion des définitions de flux et de l'API Amazon Augmented AI Runtime pour la création et la gestion de boucles humaines. Pour en savoir plus sur ces opérations d'API, consultez [ APIs Use in Amazon Augmented AI](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-api-references.html).

`AmazonAugmentedAIFullAccess` n'accorde pas d'autorisations pour l'utilisation d'opérations d'API Amazon Rekognition ou Amazon Textract. 

**Note**  
Vous pouvez également attacher la stratégie `AmazonAugmentedAIFullAccess` à un rôle IAM utilisé pour créer et démarrer une boucle humaine. 

Pour activer l’accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :
+ Utilisateurs et groupes dans AWS IAM Identity Center :

  Créez un jeu d’autorisations. Suivez les instructions de la rubrique [Création d’un jeu d’autorisations](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) du *Guide de l’utilisateur AWS IAM Identity Center *.
+ Utilisateurs gérés dans IAM par un fournisseur d’identité :

  Créez un rôle pour la fédération d’identité. Suivez les instructions de la rubrique [Création d’un rôle pour un fournisseur d’identité tiers (fédération)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) dans le *Guide de l’utilisateur IAM*.
+ Utilisateurs IAM :
  + Créez un rôle que votre utilisateur peut assumer. Suivez les instructions de la rubrique [Création d’un rôle pour un utilisateur IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) dans le *Guide de l’utilisateur IAM*.
  + (Non recommandé) Attachez une politique directement à un utilisateur ou ajoutez un utilisateur à un groupe d’utilisateurs. Suivez les instructions de la rubrique [Ajout d’autorisations à un utilisateur (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) du *Guide de l’utilisateur IAM*.

Pour plus d’informations, consultez [Ajout et suppression d’autorisations basées sur l’identité IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) dans le *Guide de l’utilisateur Gestion des identités et des accès AWS *.

## Création d'un utilisateur disposant des autorisations requises pour appeler les opérations d'API Amazon A2I, Amazon Textract et Amazon Rekognition
<a name="a2i-grant-general-permission"></a>

Pour créer un utilisateur disposant de l'autorisation permettant d'appeler les opérations d'API utilisées par les types de tâches intégrés (à savoir `DetectModerationLables` pour Amazon Rekognition et `AnalyzeDocument` pour Amazon Textract) et de l'autorisation permettant d'utiliser toutes les opérations d'API Amazon A2I, attachez la politique gérée IAM `AmazonAugmentedAIIntegratedAPIAccess`. Vous voudrez peut-être utiliser cette politique pour accorder des autorisations étendues à un utilisateur utilisant Amazon A2I avec plusieurs types de tâches. Pour en savoir plus sur ces opérations d'API, consultez [ APIs Use in Amazon Augmented AI](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-api-references.html).

**Note**  
Vous pouvez également attacher la stratégie `AmazonAugmentedAIIntegratedAPIAccess` à un rôle IAM utilisé pour créer et démarrer une boucle humaine. 

Pour activer l’accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :
+ Utilisateurs et groupes dans AWS IAM Identity Center :

  Créez un jeu d’autorisations. Suivez les instructions de la rubrique [Création d’un jeu d’autorisations](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) du *Guide de l’utilisateur AWS IAM Identity Center *.
+ Utilisateurs gérés dans IAM par un fournisseur d’identité :

  Créez un rôle pour la fédération d’identité. Suivez les instructions de la rubrique [Création d’un rôle pour un fournisseur d’identité tiers (fédération)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) dans le *Guide de l’utilisateur IAM*.
+ Utilisateurs IAM :
  + Créez un rôle que votre utilisateur peut assumer. Suivez les instructions de la rubrique [Création d’un rôle pour un utilisateur IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) dans le *Guide de l’utilisateur IAM*.
  + (Non recommandé) Attachez une politique directement à un utilisateur ou ajoutez un utilisateur à un groupe d’utilisateurs. Suivez les instructions de la rubrique [Ajout d’autorisations à un utilisateur (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) du *Guide de l’utilisateur IAM*.

Pour plus d’informations, consultez [Ajout et suppression d’autorisations basées sur l’identité IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) dans le *Guide de l’utilisateur Gestion des identités et des accès AWS *.

## Activation des aperçus du modèle de tâche d’employé
<a name="permissions-for-worker-task-templates-augmented-ai"></a>

Pour personnaliser l’interface et les instructions que vos collaborateurs voient lorsqu’ils travaillent sur vos tâches, créez un modèle de tâche d’employé. Vous pouvez créer le modèle à l'aide de l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html)opération ou de la console SageMaker AI. 

Pour prévisualiser votre modèle, vous avez besoin d'un rôle IAM disposant des autorisations suivantes pour lire les objets Amazon S3 qui sont rendus sur votre interface utilisateur. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::my_input_bucket/*"
            ]
        }
    ]
}
```

------

Pour les types de tâches Amazon Rekognition et Amazon Textract, vous pouvez prévisualiser votre modèle à l'aide de la section Amazon Augmented AI de la console AI. SageMaker Pour les types de tâches personnalisés, vous prévisualisez votre modèle en appelant l'opération [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html). Pour prévisualiser votre modèle, suivez les instructions relatives à votre type de tâche :
+  SageMaker Types de tâches Amazon Rekognition et Amazon Textract : dans la console AI, utilisez le nom de ressource Amazon (ARN) du rôle dans la procédure décrite dans. [Créer un modèle de tâche d'employé](a2i-worker-template-console.md#a2i-create-worker-template-console)
+ Types de tâches personnalisés : dans l'opération `RenderUiTemplate`, utilisez l'ARN du rôle dans le paramètre `RoleArn`.

## Utilisation d'Amazon A2I avec des compartiments AWS KMS chiffrés
<a name="a2i-kms-encryption"></a>

Si vous spécifiez une clé gérée par le client AWS Key Management Service (AWS KMS) dans laquelle chiffrer les données `OutputConfig` de sortie [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html), vous devez ajouter une politique IAM similaire à la suivante à cette clé. Cette stratégie donne au rôle d'exécution IAM que vous utilisez pour créer vos boucles humaines l'autorisation d'utiliser cette clé pour effectuer toutes les actions répertoriées dans`"Action"`. Pour en savoir plus sur ces actions, consultez [AWS KMS les autorisations](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) dans le guide du AWS Key Management Service développeur.

Pour utiliser cette stratégie, remplacez l'ARN de la fonction du service IAM dans `"Principal"` par l'ARN du rôle d'exécution que vous utilisez pour créer le flux de vérification humaine (définition de flux). Lorsque vous créez une tâche d'étiquetage à l'aide de `CreateFlowDefinition`, il s'agit de l'ARN que vous spécifiez pour [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-RoleArn). Notez que vous ne pouvez pas fournir de `KmsKeyId` lorsque vous créez une définition de flux dans la console.

```
{
    "Sid": "AllowUseOfKmsKey",
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/service-role/example-role"
    },
    "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
    ],
    "Resource": "*"
}
```

## Autorisations supplémentaires et ressources de sécurité
<a name="additional-security-resources-augmented-ai"></a>
+ [Contrôlez l'accès aux ressources de SageMaker l'IA à l'aide de balises](security_iam_id-based-policy-examples.md#access-tag-policy).
+ [Politiques basées sur l'identité pour Amazon AI SageMaker](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies)
+ [Contrôlez la création de ressources d' SageMaker IA à l'aide de clés de condition](security_iam_id-based-policy-examples.md#sagemaker-condition-examples)
+ [Autorisations d'API Amazon SageMaker AI : référence sur les actions, les autorisations et les ressources](api-permissions-reference.md)
+ [Configuration de la sécurité dans Amazon SageMaker AI](security.md)

# Utilisation Amazon CloudWatch Events dans Amazon Augmented AI
<a name="a2i-cloudwatch-events"></a>

Amazon Augmented AI utilise Amazon CloudWatch Events pour vous avertir lorsque le statut d'une boucle de révision humaine passe à `Completed``Failed`, ou`Stopped`. La diffusion de cet événement est garantie au moins une fois, ce qui signifie que tous les événements créés lorsque les boucles humaines se terminent sont transmis avec succès à CloudWatch Events (Amazon EventBridge). Lorsqu'une boucle de révision passe à l'un de ces états, Augmented AI envoie un événement à CloudWatch Events similaire au suivant.

```
{
    "version":"0",
    "id":"12345678-1111-2222-3333-12345EXAMPLE",
    "detail-type":"SageMaker A2I HumanLoop Status Change",
    "source":"aws.sagemaker",
    "account":"1111111111111",
    "time":"2019-11-14T17:49:25Z",
    "region":"us-east-1",
    "resources":["arn:aws:sagemaker:us-east-1:111111111111:human-loop/humanloop-nov-14-1"],
    "detail":{
        "creationTime":"2019-11-14T17:37:36.740Z",
        "failureCode":null,
        "failureReason":null,
        "flowDefinitionArn":"arn:aws:sagemaker:us-east-1:111111111111:flow-definition/flowdef-nov-12",
        "humanLoopArn":"arn:aws:sagemaker:us-east-1:111111111111:human-loop/humanloop-nov-14-1",
        "humanLoopName":"humanloop-nov-14-1",
        "humanLoopOutput":{ 
            "outputS3Uri":"s3://customer-output-bucket-specified-in-flow-definition/flowdef-nov-12/2019/11/14/17/37/36/humanloop-nov-14-1/output.json"
        },
        "humanLoopStatus":"Completed"
    }
}
```

Les détails de la sortie JSON sont les suivants :

`creationTime`  
Horodatage lors de la création de la boucle humaine par Augmented AI.

`failureCode`  
Code d'échec désignant un type spécifique d’échec.

`failureReason`  
Raison pour laquelle une boucle humaine a échoué. La raison de l'échec n'est renvoyée que lorsque l'état de la boucle de vérification humaine est `failed`.

`flowDefinitionArn`  
Amazon Resource Name (ARN) de la définition de flux, ou *flux de vérification humaine*.

`humanLoopArn`  
Amazon Resource Name (ARN) de la boucle humaine.

`humanLoopName`  
Nom de la boucle humaine.

`humanLoopOutput`  
Objet contenant des informations sur la sortie de la boucle humaine.

`outputS3Uri`  
Emplacement de l'objet Amazon S3 où Augmented AI stocke la sortie de votre boucle humaine.

`humanLoopStatus`  
État de la boucle humaine.

## Envoyez des événements de votre boucle humaine vers CloudWatch des événements
<a name="a2i-cloud-watch-events-rule-setup"></a>

Pour configurer une règle d' CloudWatch événements afin d'obtenir des mises à jour de statut, ou *des événements*, pour vos boucles humaines Amazon A2I, utilisez la [https://docs.aws.amazon.com/cli/latest/reference/events/put-rule.html](https://docs.aws.amazon.com/cli/latest/reference/events/put-rule.html)commande AWS Command Line Interface (AWS CLI). Lorsque vous utilisez la commande `put-rule`, spécifiez les éléments suivants afin de recevoir les états des boucles humaines : 
+ `\"source\":[\"aws.sagemaker\"]`
+ `\"detail-type\":[\"SageMaker A2I HumanLoop Status Change\"]`

Pour configurer une règle d' CloudWatch événements afin de surveiller tous les changements de statut, utilisez la commande suivante et remplacez le texte de l'espace réservé. Par exemple, remplacez-le `"A2IHumanLoopStatusChanges"` par un nom de règle CloudWatch Events unique et *`"arn:aws:iam::111122223333:role/MyRoleForThisRule"`* par le numéro de ressource Amazon (ARN) d'un rôle IAM auquel est attachée une politique de confiance events.amazonaws.com. Remplacez *region* par la AWS région dans laquelle vous souhaitez créer la règle. 

```
aws events put-rule --name "A2IHumanLoopStatusChanges" 
    --event-pattern "{\"source\":[\"aws.sagemaker\"],\"detail-type\":[\"SageMaker A2I HumanLoop Status Change\"]}" 
    --role-arn "arn:aws:iam::111122223333:role/MyRoleForThisRule" 
    --region "region"
```

Pour en savoir plus sur cette `put-rule` demande, consultez la section [Event Patterns in CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) dans le *guide de l'utilisateur Amazon CloudWatch Events*.

## Configuration d’une cible pour traiter les événements
<a name="a2i-subscribe-cloud-watch-events"></a>

Pour traiter les événements, vous devez configurer une cible. Par exemple, si vous souhaitez recevoir un e-mail lorsque le statut d'une boucle humaine change, utilisez une procédure décrite dans la [section Configuration des notifications Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html) dans le *guide de CloudWatch l'utilisateur Amazon* pour configurer une rubrique Amazon SNS et y abonner votre e-mail. Une fois que vous avez créé une rubrique, vous pouvez l'utiliser pour créer une cible. 

**Pour ajouter une cible à votre règle CloudWatch d'événements**

1. Ouvrez la CloudWatch console : [https://console.aws.amazon.com/cloudwatch/home](https://console.aws.amazon.com/cloudwatch/home)

1. Dans le panneau de navigation, choisissez **Règles**.

1. Choisissez la règle à laquelle vous souhaitez ajouter une cible. 

1. Sélectionnez **Actions**, puis **Edit** (Modifier).

1. Sous **Cibles**, choisissez **Ajouter une cible** et choisissez le AWS service que vous souhaitez utiliser lorsqu'un événement de changement d'état de la boucle humaine est détecté. 

1. Configurez votre cible. Pour obtenir des instructions, consultez la rubrique relative à la configuration d’une cible dans la [documentation AWS correspondant à ce service](https://docs.aws.amazon.com/index.html).

1. Choisissez **Configurer les détails**.

1. Dans la zone **Nom**, saisissez un nom. Si vous le souhaitez, vous pouvez fournir des détails sur l’objet de la règle dans **Description**. 

1. Assurez-vous que la case en regard de **État** est cochée afin que l’état de votre règle soit **Activé**. 

1. Choisissez **Mettre à jour la règle**.

## Utilisation de la sortie de la vérification humaine
<a name="using-human-review-output"></a>

Après avoir reçu les résultats de la vérification humaine, vous pouvez les analyser et les comparer aux prédictions de machine learning. Le code JSON stocké dans le compartiment Amazon S3 contient à la fois les prédictions de machine learning et les résultats de la vérification humaine.

## En savoir plus
<a name="amazon-augmented-ai-programmatic-walkthroughs"></a>

[Événements qu'Amazon SageMaker AI envoie à Amazon EventBridge](automating-sagemaker-with-eventbridge.md)

# Utilisation des API dans Amazon Augmented AI
<a name="a2i-api-references"></a>

Vous pouvez créer un flux de vérification humaine ou un modèle de tâche d’employé par programmation. Les API que vous utilisez varient selon le type de tâche que vous créez : Amazon Rekognition, Amazon Textract, ou une tâche personnalisée. Cette rubrique fournit des liens vers la documentation de référence des API pour chaque type de tâche et tâche de programmation.

Les API suivantes peuvent être utilisées avec Augmented AI :

**Amazon Augmented AI**  
Utilisez l'API Augmented AI pour démarrer, arrêter et supprimer les boucles de vérification humaine. Vous pouvez également répertorier l’ensemble des boucles de vérification humaine et renvoyer des informations les concernant, dans votre compte.  
Pour en savoir plus sur les API de boucle de vérification humaine, veuillez consulter [la référence d’API d’exécution Amazon Augmented AI](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/Welcome.html).

**Amazon Rekognition**  
Utilisez le paramètre **HumanLoopConfig** de l'API `[ DetectModerationLabels](https://docs.aws.amazon.com/rekognition/latest/dg/API_DetectModerationLabels.html)` pour initialiser un flux de vérification humaine à l'aide d'Amazon Rekognition.

**IA Amazon SageMaker**  
Utilisez l'API Amazon SageMaker pour créer un `FlowDefinition`, également appelé *flux de vérification humaine*. Vous pouvez également créer un `HumanTaskUi` ou un *modèle de tâche d’employé*.  
Pour de plus amples informations, veuillez consulter [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html) ou la [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html) documentation d'API.

**Amazon Textract**  
Utilisez le paramètre **HumanLoopConfig** de l'API [AnalyzeDocument](https://docs.aws.amazon.com/textract/latest/dg/API_AnalyzeDocument.html) pour déclencher un flux de vérification humaine à l'aide d’Amazon Textract.

## Tutoriels de création par programmation
<a name="amazon-augmented-ai-programmatic-walkthroughs"></a>

Les didacticiels suivants fournissent des exemples de code et des instructions étape par étape pour créer des flux de vérification humaine et des modèles de tâches d’employé par programmation.
+ [Didacticiel : Démarrer à l'aide de l'API Amazon A2I](a2i-get-started-api.md)
+ [Créer un flux de vérification humaine (API)](a2i-create-flow-definition.md#a2i-create-human-review-api)
+ [Créer et démarrer une boucle humaine](a2i-start-human-loop.md)
+ [Utilisation d'Amazon Augmented AI avec Amazon Rekognition](https://docs.aws.amazon.com/rekognition/latest/dg/a2i-rekognition.html) dans le *guide du développeur Amazon Rekognition*
+ [Utilisation d'Amazon Augmented AI avec AnalyzeDocument d’Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/a2i-textract.html) dans le *guide du développeur Amazon Textract*