Erstellen und Starten einer Human Loop - Amazon SageMaker

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, wird der entsprechendeAWS-Dienst erstellt und startet in Ihrem Auftrag eine Human Loop, wenn die in der Flow-Definition angegebenen Bedingungen erfüllt sind. Wenn in der Flow-Definition keine Bedingungen angegeben sind, wird für jedes Objekt eine Human Loop erstellt. Wenn Sie Amazon A2I für eine benutzerdefinierte Aufgabe verwenden, beginnt eine Human Loop, wenn Ihre Anwendung aufgerufen wirdStartHumanLoopaus.

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

Voraussetzungen

Um eine Human Loop zu erstellen und zu starten, müssen SieAmazonAugmentedAIFullAccessRichtlinie zurAWS Identity and Access Management(IAM) -Benutzer oder Rolle, die die Human Loop konfiguriert oder startet. Dies ist die Identität, die Sie verwenden, um die Human Loop mitHumanLoopConfigfür integrierte Aufgabentypen. Bei benutzerdefinierten Aufgabentypen handelt es sich hierbei um die Identität, die Sie zum Aufrufen von verwendenStartHumanLoopaus.

Wenn Sie einen integrierten Aufgabentyp verwenden, muss Ihr IAM-Benutzer oder Ihre -Rolle außerdem über die Berechtigung zum Aufrufen von API-Operationen imAWS-Dienst, der Ihrem Aufgabentyp zugeordnet ist. Wenn Sie beispielsweise Amazon Rekognition mit Augmented AI verwenden, müssen Sie Berechtigungen anfügen, die für den Aufruf von erforderlich sindDetectModerationLabelsaus. 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 verwendenAmazonAugmentedAIIntegratedAPIAccessum diese Berechtigungen zu erteilen. Weitere Informationen finden Sie unter Erstellen Sie einen IAM-Benutzer mit Berechtigungen zum Aufrufen von Amazon A2I, Amazon Textract und Amazon Rekognition API-Operationen .

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

Wichtig

Amazon A2I erfordert, dass alle S3-Buckets, die Bilddaten für die menschliche Schleife enthalten, eine CORS-Richtlinie angehängt haben. Weitere Informationen zu dieser Änderung finden Sie unterCORS-Berechtigungsvoraussetzungaus.

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

Um eine Human Loop mit einem integrierten Aufgabentyp 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 dieAnalyzeDocumentDaten-API-Operation. Für Amazon Rekognition verwenden Sie dieDetectModerationLabelsDaten-API-Operation. Sie können dasAWS CLIoder ein sprachspezifisches SDK zum Erstellen von Anforderungen unter Verwendung dieser API-Operationen.

Wichtig

Wenn Sie eine Schleife für die Prüfung durch Menschen mit einem integrierten Aufgabentyp erstellen, können SieDataAttributesum eine Reihe vonContentClassifiersim Zusammenhang mit der Eingabe zur Verfügung gestelltStartHumanLoopverwenden. Verwenden Sie Inhaltsklassifizierer, um anzugeben, dass Ihre Inhalte frei von personenbezogenen Daten oder Inhalten für Erwachsene sind.

Um Amazon Mechanical Turk zu verwenden, stellen Sie sicher, dass Ihre Daten frei von personenbezogenen Daten sind, einschließlich geschützter Gesundheitsinformationen im Rahmen von HIPAA. Schließen Sie das mit einFreeOfPersonallyIdentifiableInformationInhaltsklassifizierer. Wenn Sie diesen Inhaltsklassifikator nicht verwenden, sendet SageMaker Ihre Aufgabe nicht an Mechanical Turk. Wenn Ihre Daten frei von nicht jugendfreien Inhalten sind, fügen Sie auch'FreeOfAdultContent'-Klassifizierer. Wenn Sie diese Inhaltsklassifizierer nicht verwenden, schränkt SageMaker möglicherweise die Arbeitskräfte von Mechanical Turk ein, die Ihre Aufgabe anzeigen können.

Nachdem Sie Ihren ML-Auftrag mit Ihren integrierten Aufgabentypen gestartet habenAWSService-API, Amazon A2I, überwacht die Schlussfolgerungen dieses Dienstes. Wenn Sie beispielsweise eine Aufgabe 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 Textract-API eine Human Loop konfigurieren und starten können. Um eine Dokumentdatei zur Dokumentanalyse an Amazon Textract zu senden, verwenden Sie Amazon TextractAnalyzeDocumentAPI-Operationaus. Um diesem Dokumentanalyseauftrag eine menschliche Schleife hinzuzufügen, müssen Sie den Parameter konfigurierenHumanLoopConfigaus.

Wenn Sie Ihre Schleife für die Prüfung durch Menschen konfigurieren, wird die Flow-Definition, die Sie in angebenFlowDefinitionArnvonHumanLoopConfigmuss sich im selben befindenAWSRegion wie der Bucket identifiziert inBucketderDocument-Parameter.

In der folgenden Tabelle werden Beispiele für die Verwendung dieser Operation mitAWS CLIundAWS SDK for Python (Boto3)aus.

AWS SDK for Python (Boto3)

Im folgenden Anfrage-Beispiel wird das SDK for Python (Boto3) verwendet. Weitere Informationen finden Sie unteranalyze_documentimAWSAPI-Referenz für SDK for Python (Boto)aus.

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

Im folgenden Anforderungsbeispiel wird die AWS-CLI verwendet. Weitere Informationen finden Sie unterDokumenten-Analyse-DokumentimAWS CLIBefehlsreferenzaus.

$ 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 du gelaufen bistAnalyzeDocumentbei konfigurierter menschlicher Schleife überwacht Amazon A2I die Ergebnisse vonAnalyzeDocumentund überprüft es anhand der Aktivierungsbedingungen der Flow-Definition. Wenn der -Inferenz-Konfidenzwert für ein oder mehrere Schlüssel-Wert-Paare die Bedingungen für die Überprüfung erfüllt, startet Amazon A2I eine menschliche Überprüfungsschleife und schließt dieHumanLoopActivationOutput-Objekt imAnalyzeDocumentAntwort.

Erstellen Sie eine Amazon Rekognition Human Loop

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

Wenn Sie Ihre Schleife für die Prüfung durch Menschen konfigurieren, wird die Flow-Definition, die Sie in angebenFlowDefinitionArnvonHumanLoopConfigmuss sich im selben befindenAWSDie Region wie der S3-Bucket identifiziert inBucketderImage-Parameter.

In der folgenden Tabelle werden Beispiele für die Verwendung dieser Operation mitAWS CLIundAWS SDK for Python (Boto3)aus.

AWS SDK for Python (Boto3)

Im folgenden Anfrage-Beispiel wird das SDK for Python (Boto3) verwendet. Weitere Informationen finden Sie unterdetect_moderation_labelsimAWSAPI-Referenz für SDK for Python (Boto)aus.

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

Im folgenden Anforderungsbeispiel wird die AWS-CLI verwendet. Weitere Informationen finden Sie unterDetect-Moderation-LabelsimAWS CLIBefehlsreferenzaus.

$ 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 du gelaufen bistDetectModerationLabelsbei konfigurierter menschlicher Schleife überwacht Amazon A2I die Ergebnisse vonDetectModerationLabelsund überprüft es anhand der Aktivierungsbedingungen der Flow-Definition. Wenn der -Inferenz-Konfidenzwert für ein Abbild die Bedingungen für die Überprüfung erfüllt, startet Amazon A2I eine menschliche Überprüfungsschleife und schließt das -Antwortelement-Element einHumanLoopActivationOutputimDetectModerationLabelsAntwort.

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 Human Loop-Anforderung mit AWS SDK for Python (Boto3) und AWS Command Line Interface (AWS CLI). Für die Dokumentation zu anderen sprachspezifischen SDKs, die unterstützenStartHumanLoop, benutze dasWeitere Informationen finden Sie auch unter:Abschnitts vonStartHumanLoopin der Amazon Augmented AI Runtime API-Dokumentation. Informationen finden Sie unterAnwendungsfälle und Beispiele mit Amazon A2Ium Beispiele zu sehen, die zeigen, wie Amazon A2I mit einem benutzerdefinierten Aufgabentyp verwendet wird.

Voraussetzungen

Für diesen Vorgang ist Folgendes erforderlich:

  • Eingabedaten, die als Zeichenfolgendarstellung 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 personenbezogenen Daten oder Inhalten für Erwachsene sind.

    Um Amazon Mechanical Turk zu verwenden, stellen Sie sicher, dass Ihre Daten frei von personenbezogenen Daten sind, einschließlich geschützter Gesundheitsinformationen unter HIPAA, und schließen Sie dieFreeOfPersonallyIdentifiableInformationInhaltsklassifizierer. Wenn Sie diesen Inhaltsklassifikator nicht verwenden, sendet SageMaker Ihre Aufgabe nicht an Mechanical Turk. Wenn Ihre Daten frei von nicht jugendfreien Inhalten sind, fügen Sie auch'FreeOfAdultContent'-Klassifizierer. Wenn Sie diese Inhaltsklassifizierer nicht verwenden, schränkt SageMaker möglicherweise die Arbeitskräfte von Mechanical Turk ein, die Ihre Aufgabe anzeigen 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. Siehe .Vorschau einer Vorlage für Auftragnehmeraufgaben, um zu erfahren, 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 eindeutig 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)

Im folgenden Anfrage-Beispiel wird das SDK for Python (Boto3) verwendet. Weitere Informationen finden Sie unterBoto 3 Augmented AI AI-LaufzeitimAWSAPI-Referenz für SDK for Python (Boto)aus.

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

Im folgenden Anforderungsbeispiel wird die AWS-CLI verwendet. Weitere Informationen finden Sie unterStart-Mensch-SchleifeimAWS CLIBefehlsreferenzaus.

$ 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 AufrufenStartHumanLoopDie Antwort enthält direkt einHumanLoopARNund einHumanLoopActivationResults-Objekt, das festgelegt istNULLaus. 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 eine Human Loop gestartet haben, können Sie sie mit der Amazon Augmented AI -Laufzeit-API und den Amazon CloudWatch Events verwalten und überwachen. Weitere Informationen hierzu finden Sie unter Überwachen und verwalten Ihrer menschlichen Schleife.