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.
Tutorial: Erste Schritte mit Amazon A2I API
In diesem Tutorial werden die API Operationen erklärt, mit denen Sie mit Amazon A2I beginnen können.
Um diese Operationen mit einem Jupyter Notebook auszuführen, wählen Sie ein Jupyter Notebook aus Anwendungsfälle und Beispiele mit Amazon A2I und verwenden Sie es, Verwenden Sie die SageMaker Notebook-Instance mit Amazon A2I Jupyter Notebook um zu erfahren, wie Sie es in einer Notebook-Instance verwenden. SageMaker
Weitere Informationen zu den API Vorgängen, die Sie mit Amazon A2I verwenden können, finden Sie unterVerwendung von APIs in Amazon Augmented AI.
Erstellen eines privaten Arbeitsteams
Sie können ein privates Arbeitsteam erstellen und sich selbst als Mitarbeiter hinzufügen, sodass Sie sich eine Vorschau von Amazon A2I ansehen können.
Wenn Sie mit Amazon Cognito nicht vertraut sind, empfehlen wir Ihnen, die SageMaker Konsole zu verwenden, um eine private Belegschaft zu erstellen und sich selbst als privaten Mitarbeiter hinzuzufügen. Detaillierte Anweisungen finden Sie unter Schritt 1: Erstellen eines Arbeitsteams.
Wenn Sie mit Amazon Cognito vertraut sind, können Sie die folgenden Anweisungen verwenden, um mithilfe von ein privates Arbeitsteam zu erstellen. SageMaker API Nachdem Sie ein Arbeitsteam erstellt haben, notieren Sie sich das Arbeitsteam ARN (WorkteamArn
).
Weitere Informationen zu den privaten Arbeitskräften und anderen verfügbaren Konfigurationen finden Sie unter Verwenden von privaten Arbeitskräften.
Erstellen von privaten Arbeitskräften
Wenn Sie keine privaten Arbeitskräfte eingerichtet haben, können Sie dies mithilfe eines Amazon Cognito-Benutzerpools tun. Stellen Sie sicher, dass Sie sich selbst diesem Benutzerpool hinzugefügt haben. Mit der AWS SDK for Python (Boto3)
create_workforce
Funktion können Sie ein privates Arbeitsteam erstellen. Weitere sprachspezifische SDKs Informationen finden Sie in der Liste unter. CreateWorkforce
response = client.create_workforce(
CognitoConfig={
"UserPool": "Pool_ID
",
"ClientId": "app-client-id
"
},
WorkforceName="workforce-name
"
)
Erstellen eines privaten Arbeitsteams
Nachdem Sie in der AWS Region eine private Belegschaft eingerichtet haben, um Ihren Personalkreislauf zu konfigurieren und zu starten, können Sie mithilfe dieser Funktion ein privates Arbeitsteam zusammenstellen. AWS SDK for Python (Boto3) create_workteam
Weitere sprachspezifische SDKs Informationen finden Sie in der Liste unter. CreateWorkteam
response = client.create_workteam(
WorkteamName="work-team-name
",
WorkforceName= "workforce-name
",
MemberDefinitions=[
{
"CognitoMemberDefinition": {
"UserPool": "<aws-region>_ID
",
"UserGroup": "user-group
",
"ClientId": "app-client-id
"
},
}
]
)
Greifen Sie wie folgt auf Ihr Arbeitsteam ARN zu:
workteamArn = response["WorkteamArn"]
Listen Sie private Arbeitsteams in Ihrem Konto auf
Wenn Sie bereits ein privates Arbeitsteam erstellt haben, können Sie mithilfe der AWS SDK for Python (Boto3) list_workteams
Funktion alle Arbeitsteams in einer bestimmten AWS Region in Ihrem Konto auflisten. Weitere sprachspezifische SDKs Informationen finden Sie in der Liste unter. ListWorkteams
response = client.list_workteams()
Wenn Sie mehrere Arbeitsteams in Ihrem Konto haben, möchten Sie vielleicht MaxResults
, SortBy
und NameContains
verwenden, um Ihre Ergebnisse zu filtern.
Erstellen Sie einen Workflow zur Überprüfung durch einen Menschen
Mithilfe der Amazon CreateFlowDefinition
-A2I-Operation können Sie einen Workflow zur Überprüfung durch einen Menschen erstellen. Stellen Sie sicher, dass eine Benutzeroberfläche für menschliche Aufgaben erstellt wird, bevor Sie Ihren Workflow zur Überprüfung durch einen Menschen erstellen. Sie können dies mit der CreateHumanTaskUi
-Operation tun.
Wenn Sie Amazon A2I mit den Amazon Textract- oder Amazon Rekognition Rekognition-Integrationen verwenden, können Sie die Aktivierungsbedingungen mithilfe von a angeben. JSON
Erstellen einer Benutzeroberfläche für menschliche Aufgaben
Wenn Sie einen Workflow zur Überprüfung durch einen Menschen erstellen, der mit Amazon-Textract- oder Amazon-Rekognition-Integrationen verwendet werden soll, müssen Sie die vorgefertigte Worker-Task-Vorlage verwenden und ändern. Für alle benutzerdefinierten Integrationen können Sie Ihre eigene benutzerdefinierte Worker-Task-Vorlage verwenden. In der folgenden Tabelle erfahren Sie, wie Sie mithilfe einer Worker-Task-Vorlage für die beiden integrierten Integrationen eine Benutzeroberfläche für menschliche Aufgaben erstellen. Ersetzen Sie die Vorlage durch Ihre eigene, um diese Anfrage anzupassen.
- Amazon Textract – Key-value pair extraction
-
Weitere Informationen zu Vorlage finden Sie unter Beispiel für eine benutzerdefinierte Vorlage für Amazon Textract.
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
-
Weitere Informationen zu Vorlage finden Sie unter Beispiel für eine benutzerdefinierte Vorlage für Amazon Rekognition.
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
-
Im Folgenden finden Sie eine Beispielvorlage, die in einer benutzerdefinierten Integration verwendet werden kann. Diese Vorlage wird in diesem Notebook verwendet und demonstriert eine benutzerdefinierte Integration mit 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>
"""
Mithilfe der oben angegebenen Vorlage können Sie mithilfe der Funktion eine Vorlage erstellen. AWS SDK for Python (Boto3) create_human_task_ui
Weitere sprachspezifische SDKs Informationen finden Sie in der Liste unter. CreateHumanTaskUi
response = client.create_human_task_ui(
HumanTaskUiName="human-task-ui-name
",
UiTemplate={
"Content": template
}
)
Dieses Antwortelement enthält die Benutzeroberfläche für menschliche Aufgaben. ARN Speichern Sie dies wie folgt:
humanTaskUiArn = response["HumanTaskUiArn"]
Erstellen SieJSON, um die Aktivierungsbedingungen anzugeben
Für die integrierten Integrationen von Amazon Textract und Amazon Rekognition können Sie Aktivierungsbedingungen in einem JSON Objekt speichern und diese in Ihrer Anfrage verwenden. CreateFlowDefinition
Wählen Sie als Nächstes eine Registerkarte aus, um sich Beispiele für Aktivierungsbedingungen anzusehen, die Sie für diese integrierten Integrationen verwenden können. Zusätzliche Hinweise zu den Aktivierungsbedingungen finden Sie unter JSON-Schema für Bedingungen zur Aktivierung eines Human Loop in Amazon Augmented AI.
- Amazon Textract – Key-value pair extraction
-
In diesem Beispiel werden Bedingungen für bestimmte Schlüssel (z. B. Mail address
) im Dokument angegeben. Wenn die Vertrauenswürdigkeit von Amazon Textract die hier festgelegten Schwellenwerte überschreitet, wird das Dokument zur Überprüfung an einen Mitarbeiter gesendet. Dabei werden die spezifischen Schlüssel, die den Vorgang ausgelöst haben, an den Mitarbeiter weitergeleitet.
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
-
Die hier verwendeten Human-Loop-Aktivierungsbedingungen sind auf die Inhaltsmoderation von Amazon Rekognition zugeschnitten. Sie basieren auf den Konfidenzschwellenwerten für die Moderationsmarkierungen Suggestive
und 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
}
}
]
}
]
}
)
Einen Workflow zur Überprüfung durch einen Menschen erstellen
Dieser Abschnitt enthält ein Beispiel für die CreateFlowDefinition
AWS SDK for Python (Boto3) Anfrage, bei der die in den vorherigen Abschnitten erstellten Ressourcen verwendet wurden. Weitere sprachspezifische SDKs Informationen finden Sie in der Liste unter. CreateFlowDefinition Verwenden Sie die Tabs in der folgenden Tabelle, um die Anfragen zur Erstellung eines Workflows zur Überprüfung durch einen Menschen für die integrierten Integrationen von Amazon Textract und Amazon Rekognition zu sehen.
- Amazon Textract – Key-value pair extraction
-
Wenn Sie die integrierte Integration mit Amazon Textract verwenden, müssen Sie "AWS/Textract/AnalyzeDocument/Forms/V1"
für "AwsManagedHumanLoopRequestSource"
in HumanLoopRequestSource
angeben.
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
-
Wenn Sie die integrierte Integration mit Amazon Rekognition verwenden, müssen Sie "AWS/Rekognition/DetectModerationLabels/Image/V3"
für "AwsManagedHumanLoopRequestSource"
in HumanLoopRequestSource
angeben.
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
-
Wenn Sie eine benutzerdefinierte Integration verwenden, schließen Sie die folgenden Parameter aus: 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
"
},
]
)
Nachdem Sie einen Workflow zur Überprüfung durch einen Mitarbeiter erstellt haben, können Sie die Flow-Definition ARN aus der Antwort abrufen:
humanReviewWorkflowArn
= response["FlowDefinitionArn"]
Erstellen einer Human Loop
Der API Vorgang, mit dem Sie eine menschliche Schleife starten, hängt von der Amazon A2I-Integration ab, die Sie verwenden.
-
Wenn Sie die integrierte Amazon Textract Textract-Integration verwenden, verwenden Sie den AnalyzeDocumentVorgang.
-
Wenn Sie die integrierte Amazon Rekognition Rekognition-Integration verwenden, verwenden Sie den DetectModerationLabelsVorgang.
-
Wenn Sie eine benutzerdefinierte Integration verwenden, verwenden Sie den StartHumanLoopVorgang.
Wählen Sie in der folgenden Tabelle Ihren Aufgabentyp aus, um Beispielanfragen für Amazon Textract und Amazon Rekognition mit dem AWS SDK for Python (Boto3) zu sehen.
- Amazon Textract – Key-value pair extraction
-
Im folgenden Beispiel wird der AWS SDK for Python (Boto3) to-Aufruf analyze_document
in us-west-2 verwendet. Ersetzen Sie den kursiv geschriebenen roten Text durch Ihre Ressourcen. Geben Sie den DataAttributes
-Parameter an, wenn Sie die Belegschaft von Amazon Mechanical Turk verwenden. Weitere Informationen finden Sie in der Dokumentation zu analyze_document in der Referenz.AWS SDK for Python (Boto) API
response = client.analyze_document(
Document={"S3Object": {"Bucket": "AWSDOC-EXAMPLE-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"]
)
Human Loops werden nur erstellt, wenn die Konfidenz in die Dokumentenanalyseaufgabe von Amazon Textract die Aktivierungsbedingungen erfüllt, die Sie in Ihrem Workflow zur Überprüfung durch einen Menschen festgelegt haben. Sie können das response
-Element überprüfen, um festzustellen, ob eine Human Loop erstellt wurde. Alles, was in dieser Antwort enthalten ist, finden Sie unter HumanLoopActivationOutput
.
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
-
Im folgenden Beispiel wird der AWS SDK for Python (Boto3) to-Aufruf detect_moderation_labels
in us-west-2 verwendet. Ersetzen Sie den kursiv geschriebenen roten Text durch Ihre Ressourcen. Geben Sie den DataAttributes
-Parameter an, wenn Sie die Belegschaft von Amazon Mechanical Turk verwenden. Weitere Informationen finden Sie in der Dokumentation zu detect_moderation_labels in der Referenz.AWS SDK for Python (Boto) API
response = client.detect_moderation_labels(
Image={"S3Object":{"Bucket": "AWSDOC-EXAMPLE-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"
]}
}
)
Human Loops werden nur erstellt, wenn die Konfidenz in die Bildmoderationsaufgabe von Amazon Rekognition die Aktivierungsbedingungen erfüllt, die Sie in Ihrem Workflow zur Überprüfung durch einen Menschen festgelegt haben. Sie können das response
-Element überprüfen, um festzustellen, ob eine Human Loop erstellt wurde. Alles, was in dieser Antwort enthalten ist, finden Sie unter HumanLoopActivationOutput
.
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
-
Im folgenden Beispiel wird der AWS SDK for Python (Boto3) to-Aufruf start_human_loop
in us-west-2 verwendet. Ersetzen Sie den kursiv geschriebenen roten Text durch Ihre Ressourcen. Geben Sie den DataAttributes
-Parameter an, wenn Sie die Belegschaft von Amazon Mechanical Turk verwenden. Weitere Informationen finden Sie in der Dokumentation start_human_loop in der Referenz.AWS SDK for Python (Boto) API
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"
]}
)
In diesem Beispiel wird der Eingabeinhalt in der Variablen gespeichert inputContentJson
. Gehen Sie davon aus, dass der Eingabeinhalt zwei Elemente enthält: einen Texttext und eine Aussage (wie Positive
Negative
, oderNeutral
). Er ist wie folgt formatiert:
inputContent = {
"initialValue": sentiment,
"taskObject": blurb
}
Die Schlüssel initialValue
und taskObject
müssen den Schlüsseln entsprechen, die in den Liquid-Elementen der Worker-Task-Vorlage verwendet werden. Ein Beispiel finden Sie in der benutzerdefinierten Vorlage unter Erstellen einer Benutzeroberfläche für menschliche Aufgaben.
Gehen Sie wie folgt vor, um ein inputContentJson
zu erstellen:
import json
inputContentJson = json.dumps(inputContent)
Eine Human Loop bei jedem Aufruf von start_human_loop
. Um den Status Ihrer menschlichen Schleife zu überprüfen, verwenden Sie 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"]}")