Erstellen und Starten einer Human Loop - Amazon SageMaker KI

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen und Starten einer Human Loop

Eine Human Loop startet Ihren Workflow für die menschliche Überprüfung und sendet Datenüberprüfungsaufgaben an menschliche Mitarbeiter. Wenn Sie einen der integrierten Aufgabentypen von Amazon A2I verwenden, erstellt und startet der entsprechende AWS Service in Ihrem Namen eine menschliche Schleife, wenn die in Ihrer Flow-Definition angegebenen Bedingungen erfüllt sind. Wenn in der Flow-Definition keine Bedingungen angegeben wurden, wird für jedes Objekt eine Human Loop erstellt. Wenn Sie Amazon A2I für eine benutzerdefinierte Aufgabe verwenden, beginnt eine Human Loop, wenn StartHumanLoop in Ihrer Anwendung aufgerufen wird.

Verwenden Sie die folgenden Anweisungen, um eine Human Loop mit den integrierten Aufgabentypen Amazon Rekognition und Amazon Textract benutzerdefinierten Aufgabentypen zu konfigurieren.

Voraussetzungen

Um einen Human Loop zu erstellen und zu starten, müssen Sie die AmazonAugmentedAIFullAccess Richtlinie dem AWS Identity and Access Management (IAM-) Benutzer oder der Rolle zuordnen, die den Human Loop konfiguriert oder startet. Dies ist die Identität, die Sie verwenden, um die Human Loop mit HumanLoopConfig für integrierte Task-Typen zu konfigurieren. Bei benutzerdefinierten Task-Typen handelt es sich hierbei um die Identität, die Sie zum Aufrufen von StartHumanLoop verwenden.

Wenn Sie einen integrierten Aufgabentyp verwenden, muss Ihr Benutzer oder Ihre Rolle außerdem über die Berechtigung verfügen, API-Operationen des mit Ihrem Aufgabentyp verknüpften AWS Dienstes aufzurufen. Wenn Sie zum Beispiel Amazon Rekognition mit Augmented AI verwenden, müssen Sie die erforderlichen Berechtigungen für den Aufruf von DetectModerationLabels anfügen. Beispiele für identitätsbasierte Richtlinien, die Sie zum Erteilen dieser Berechtigungen verwenden können, finden Sie unter Beispiele für identitätsbasierte Richtlinien von Amazon Rekognition und Beispiele für identitätsbasierte Richtlinien von Amazon Textract. Sie können auch die allgemeinere Richtlinie AmazonAugmentedAIIntegratedAPIAccess verwenden, um diese Berechtigungen zu erteilen. Weitere Informationen finden Sie unter Einen Benutzer mit Berechtigungen zum Aufrufen von Amazon-A2I-, Amazon-Textract- und Amazon-Rekognition-API-Operationen erstellen.

Sie benötigen einen Flow-Definitions-ARN, um eine Human Loop zu erstellen und zu starten. Weitere Informationen zum Erstellen einer Flow-Definition (oder Workflow für die menschliche Überprüfung) finden Sie unter Erstellen eines Arbeitsablaufs für die menschliche Überprüfung.

Wichtig

Amazon A2I verlangt, dass an alle S3-Buckets, die Eingabe-Image-Daten mit Human Loop enthalten, eine CORS-Richtlinie angehängt ist. Weitere Informationen dazu finden Sie unter CORS benötigte Berechtigungen.

Erstellen und Starten einer Human Loop für einen integrierten Aufgabentyp

Um eine Human Loop für eine integrierte Aufgabe zu starten, verwenden Sie die API des entsprechenden Services, um Ihre Eingabedaten bereitzustellen und die Human Loop zu konfigurieren. Für Amazon Textract verwenden Sie den API-Vorgang AnalyzeDocument. Für Amazon Rekognition verwenden Sie den DetectModerationLabels-API-Vorgang. Sie können das AWS CLI oder ein sprachspezifisches SDK verwenden, um Anfragen mithilfe dieser API-Operationen zu erstellen.

Wichtig

Wenn Sie eine Human Loop unter Verwendung eines integrierten Aufgabentyps erstellen, können Sie DataAttributes verwenden, um eine Gruppe von ContentClassifiers anzugeben, die sich auf die für die Operation StartHumanLoop bereitgestellte Eingabe beziehen. Verwenden Sie Inhaltsklassifizierer, um anzugeben, dass Ihre Inhalte frei von persönlich identifizierbaren Informationen oder nicht jugendfreien Inhalten sind.

Um Amazon Mechanical Turk nutzen zu können, stellen Sie sicher, dass Ihre Daten frei von persönlich identifizierbaren Informationen sind, einschließlich geschützter Gesundheitsinformationen gemäß HIPAA. Fügen Sie den Inhaltsklassifizierer FreeOfPersonallyIdentifiableInformation hinzu. Wenn Sie diesen Inhaltsklassifikator nicht verwenden, sendet SageMaker KI Ihre Aufgabe nicht an Mechanical Turk. Wenn Ihre Daten frei von nicht jugendfreien Inhalten sind, fügen Sie auch den 'FreeOfAdultContent' Klassifizierer ein. Wenn Sie diese Inhaltsklassifikatoren nicht verwenden, kann SageMaker KI die Anzahl der Mechanical Turk Turk-Mitarbeiter einschränken, die Ihre Aufgabe sehen können.

Nachdem Sie Ihren ML-Job mit der AWS Service-API Ihres integrierten Aufgabentyps gestartet haben, überwacht Amazon A2I die Inferenzergebnisse dieses Services. Wenn Sie beispielsweise einen Auftrag mit Amazon Rekognition ausführen, prüft Amazon A2I den Konfidenzwert für die Schlussfolgerungen für jedes Bild und vergleicht ihn mit den Konfidenzschwellenwerten, die in der Flow-Definition angegeben sind. Wenn die Bedingungen zum Starten einer menschlichen Prüfaufgabe erfüllt sind, oder Sie keine Bedingungen in der Flow-Definition angegeben haben, wird eine menschliche Prüfaufgabe an Mitarbeiter gesendet.

Erstellen Sie eine Amazon Textract Human Loop

Amazon A2I ist mit Amazon Textract integriert, so dass Sie mithilfe der Amazon-Textract-API eine Human Loop konfigurieren und starten können. Um eine Dokumentdatei zur Textanalyse an Amazon Textract zu senden, verwenden Sie den Amazon Textract AnalyzeDocument API-Vorgang. Um diesem Dokumentenanalyseauftrag eine Human Loop hinzuzufügen, müssen Sie den Parameter HumanLoopConfig konfigurieren.

Bei der Konfiguration der Human Loop muss sich die in FlowDefinitionArn von HumanLoopConfig angegebene Flussdefinition in derselben AWS -Region befinden wie der in Bucket des Parameters Document identifizierte Bucket.

Die folgende Tabelle zeigt Beispiele für die Verwendung dieser Operation mit und. AWS CLI AWS SDK for Python (Boto3)

AWS SDK for Python (Boto3)

Das folgende Anfragebeispiel verwendet das SDK für Python (Boto3). Weitere Informationen finden Sie unter analyze_document in der AWS SDK for Python (Boto) API-Referenz.

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

Das folgende Anforderungsbeispiel verwendet die AWS CLI. Weitere Informationen finden Sie unter analyze-document in der AWS CLI -Command 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"]'

Nachdem Sie AnalyzeDocument mit einer konfigurierten Human Loop ausgeführt haben, überwacht Amazon A2I die Ergebnisse von AnalyzeDocument und überprüft sie anhand der Aktivierungsbedingungen der Flow-Definition. Wenn der Amazon-Textract-Konfidenzwert für ein oder mehrere Schlüssel-Wert-Paare die Bedingungen für eine Überprüfung erfüllt, startet Amazon A2I eine Human Überprüfungsloop und nimmt das HumanLoopActivationOutput Objekt in die AnalyzeDocument Antwort auf.

Erstellen Sie einen Amazon Rekognition Human Loop

Amazon A2I ist mit Amazon Rekognition integriert, so dass Sie mithilfe der Amazon-Rekognition-API eine Human Loop konfigurieren und starten können. Um Abbilder an Amazon Rekognition zur Inhaltsmoderation zu senden, verwenden Sie den Amazon Rekognition DetectModerationLabels API-Vorgang. Um eine Human Loop zu konfigurieren, legen Sie den HumanLoopConfig-Parameter fest, wenn Sie DetectModerationLabels konfigurieren.

Wenn Sie Ihre Human Loop konfigurieren, muss sich die Flow-Definition, die Sie in FlowDefinitionArn für HumanLoopConfig angeben, in derselben AWS -Region befinden wie der S3-Bucket, der in Bucket vom Parameter Image identifiziert wurde.

Die folgende Tabelle zeigt Beispiele für die Verwendung dieser Operation mit AWS CLI und AWS SDK for Python (Boto3).

AWS SDK for Python (Boto3)

Die folgenden Beispiele verwenden den SDK for Python (Boto3). Weitere Informationen finden Sie unter detect_moderation_Label im AWS -SDK für die API-Referenz 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

Das folgende Anforderungsbeispiel verwendet die AWS CLI. Weitere Informationen finden Sie unter detect-moderation-labels in der Referenz zum AWS CLI -Befehl.

$ 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"]}}'

Nachdem Sie DetectModerationLabels mit einer konfigurierten Human Loop ausgeführt haben, überwacht Amazon A2I die Ergebnisse von DetectModerationLabels und überprüft sie anhand der Aktivierungsbedingungen der Flow-Definition. Wenn der Amazon Rekognition Inferenz-Konfidenzwert für ein Bild die Bedingungen für eine Überprüfung erfüllt, startet Amazon A2I eine Human-Loop-Überprüfung und nimmt das Antwort-Element HumanLoopActivationOutput in die DetectModerationLabels Antwort auf.

Erstellen und Starten einer Human Loop für einen benutzerdefinierten Aufgabentyp

Um eine Human Loop Schleife für eine benutzerdefinierte menschliche Prüfaufgabe zu konfigurieren, verwenden Sie den StartHumanLoop-Vorgang in Ihrer Anwendung. Dieser Abschnitt enthält ein Beispiel für eine menschliche Schleifenanforderung, bei der AWS SDK for Python (Boto3) und AWS Command Line Interface (AWS CLI) verwendet werden. Dokumentation zu anderen sprachspezifischen Sprachen, SDKs die unterstützt werdenStartHumanLoop, finden Sie im Abschnitt „Siehe auchStartHumanLoopin der Dokumentation zur Amazon Augmented AI Runtime API. Beispiele, die zeigen, wie Amazon A2I mit einem benutzerdefinierten Aufgabentyp verwendet wird, finden Sie unter Anwendungsfälle und Beispiele mit Amazon A2I.

Voraussetzungen

Für diesen Vorgang ist Folgendes erforderlich:

  • Eingabedaten, die als String-Darstellung einer JSON-formatierten Datei formatiert sind

  • Der Amazon-Ressourcenname (ARN) Ihrer Flow-Definition

So konfigurieren Sie die Human Loop:
  1. Geben Sie für DataAttributes einen Satz von ContentClassifiers mit Bezug zur Eingabe für den StartHumanLoop-Vorgang an. Verwenden Sie Inhaltsklassifizierer, um anzugeben, dass Ihre Inhalte frei von persönlich identifizierbaren Informationen oder nicht jugendfreien Inhalten sind.

    Um Amazon Mechanical Turk nutzen zu können, stellen Sie sicher, dass Ihre Daten frei von persönlich identifizierbaren Informationen sind, einschließlich geschützter Gesundheitsinformationen gemäß HIPAA, und den Inhaltsklassifizierer FreeOfPersonallyIdentifiableInformation enthalten. Wenn Sie diesen Inhaltsklassifikator nicht verwenden, sendet SageMaker KI Ihre Aufgabe nicht an Mechanical Turk. Wenn Ihre Daten frei von nicht jugendfreien Inhalten sind, fügen Sie auch den 'FreeOfAdultContent' Klassifizierer ein. Wenn Sie diese Inhaltsklassifikatoren nicht verwenden, kann SageMaker KI die Anzahl der Mechanical Turk Turk-Mitarbeiter einschränken, die Ihre Aufgabe sehen können.

  2. Geben Sie für FlowDefinitionArn den Amazon-Ressourcennamen (ARN) Ihrer Flow-Definition ein.

  3. Geben Sie für HumanLoopInput die Eingabedaten als Zeichenfolgendarstellung einer JSON-formatierten Datei ein. Strukturieren Sie Ihre Eingabedaten und Ihre benutzerdefinierte Arbeitsaufgabenvorlage so, dass Ihre Eingabedaten für menschliche Mitarbeiter korrekt angezeigt werden, wenn Sie Ihre Human Loop starten. Hier Vorschau einer Vorlage für Auftragnehmeraufgaben erfahren Sie, wie Sie eine Vorschau Ihrer benutzerdefinierten Arbeitsaufgabenvorlage anzeigen.

  4. Geben Sie für HumanLoopName einen Namen für die Human Loop ein. Der Name muss innerhalb der Region in Ihrem Konto einzigartig sein und darf bis zu 63 Zeichen enthalten. Gültige Zeichen sind a-z, 0-9 und – (Bindestrich).

So starten Sie eine Human Loop:
  • Um eine Human Loop zu starten, senden Sie eine Anfrage ähnlich den folgenden Beispielen mit Ihrem bevorzugten sprachspezifischen SDK.

AWS SDK for Python (Boto3)

Die folgenden Anfragebeispiele verwenden den SDK für Python (Boto3). Weitere Informationen finden Sie unter Boto 3 Augmented AI Laufzeit in der AWS -SDK für Python (Boto)-API-Referenz.

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

Das folgende Anforderungsbeispiel verwendet die AWS CLI. Weitere Informationen finden Sie unter start-human-loop in der Referenz zum AWS CLI -Befehl.

$ 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" \

Wenn Sie erfolgreich eine Human Loop starten, indem Sie StartHumanLoop direkt aufrufen, wird die Antwort ein – HumanLoopARNund ein HumanLoopActivationResults-Objekt enthalten, das auf NULL gesetzt ist. Sie können dies als den Namen der Human Loop verwenden, um Ihre Human Loop zu überwachen und zu verwalten.

Nächste Schritte:

Nachdem Sie einen Human Loop gestartet haben, können Sie ihn mit der Amazon Augmented AI Runtime API und Amazon CloudWatch Events verwalten und überwachen. Weitere Informationen hierzu finden Sie unter Überwachen und verwalten Ihrer menschlichen Schleife.